Standardization of Modern Pascal

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Standardization of Modern Pascal

leledumbo
Administrator
Why Modern Pascal isn't standardized? Take a look at its other brothers and sisters, for example C & Fortran. (AFAIK) C has been standardized in 1989 and 1999 (there perhaps earlier ones), while Fortran in 60,77,..(I forgot these ones, there are too many),2000,2003(,2005?). Pascal has only 2 standards, ISO-7185 (Standard Pascal) in 1990 and 10206 (Extended Pascal) in 1991. Since most todays Pascal programmers use Modern Pascal, I think it's worth to be standardized. At least, those Anti-Pascal community will no longer argue about standard (which I hate very much).
Reply | Threaded
Open this post in threaded view
|

Re: Standardization of Modern Pascal

Michael Van Canneyt


On Mon, 7 Jul 2008, leledumbo wrote:

>
> Why Modern Pascal isn't standardized? Take a look at its other brothers and
> sisters, for example C & Fortran. (AFAIK) C has been standardized in 1989
> and 1999 (there perhaps earlier ones), while Fortran in 60,77,..(I forgot
> these ones, there are too many),2000,2003(,2005?). Pascal has only 2
> standards, ISO-7185 (Standard Pascal) in 1990 and 10206 (Extended Pascal) in
> 1991. Since most todays Pascal programmers use Modern Pascal, I think it's
> worth to be standardized. At least, those Anti-Pascal community will no
> longer argue about standard (which I hate very much).

We'll sit around the table with CodeGear and try too cook up something :-)

I don't think that setting a standard will improve the userbase.
As far as I know, VB is also not 'standardized', nor is the SAP variant
of Basic or OpenOffice basic. Nevertheless, they are used a lot.

Michael.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Standardization of Modern Pascal

ik-6
On Mon, Jul 7, 2008 at 12:22 PM, Michael Van Canneyt
<[hidden email]> wrote:

>
>
> On Mon, 7 Jul 2008, leledumbo wrote:
>
>>
>> Why Modern Pascal isn't standardized? Take a look at its other brothers and
>> sisters, for example C & Fortran. (AFAIK) C has been standardized in 1989
>> and 1999 (there perhaps earlier ones), while Fortran in 60,77,..(I forgot
>> these ones, there are too many),2000,2003(,2005?). Pascal has only 2
>> standards, ISO-7185 (Standard Pascal) in 1990 and 10206 (Extended Pascal) in
>> 1991. Since most todays Pascal programmers use Modern Pascal, I think it's
>> worth to be standardized. At least, those Anti-Pascal community will no
>> longer argue about standard (which I hate very much).
>
> We'll sit around the table with CodeGear and try too cook up something :-)
>
> I don't think that setting a standard will improve the userbase.
> As far as I know, VB is also not 'standardized', nor is the SAP variant
> of Basic or OpenOffice basic. Nevertheless, they are used a lot.

The same goes also to Perl, python, Ruby and PHP. They do not have
standard, but they are used.
I do think there there should be some guidelines regarding modern
Pascal development. But this guidelines will very between each project
and it's goals.
I think that the path of FPC is going to the right direction, while
CodeGear try to make Pascal closer to Java/C#. It seems that the
verity of dialects also contribute for the progress of the language,
while languages such as C lack of such progress IMHO.


>
> Michael.

my 0.02 cents :)


Ido
--
http://ik.homelinux.org/
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Standardization of Modern Pascal

Gilles MARCOU
In reply to this post by leledumbo
Hi,

the question is interesting in my opinion. The standard for a language
(C, Fortran, C++) or an authority able to define the language (Java)
helps to write code that will be as unrelated as possible of a precise
"dialect" or community.

As I understand, the main problem is the relation with CodeGear's
Delphi. Whatever the community can decide about a "standard" or at least
a set of "good practices", they have no reason to follow. On another
hand they represent too much of the "Modern Pascal" community to be just
ignored. Therefore, is it possible to follow CodeGear? Is it
possible/desirable to follow the model of Java: CodeGear manage the
langage, other Pascal implementations have to follow?

Yet, the language lack of an authority for convergence of Pascal
projects. I agree that a dialect has a potential of innovation that dies
when the language obey a standard. But, shall we see the existence of a
common ground as a barrier to innovation? Does it really hurts the
personnality of other Pascal Projects? Comparison with Basic is not
relevant, I think: the lack of definition for Basic lead it to a niche
of "language for writing Macros". This is rather different of "write
once, compile everywhere".

To end my contribution, I think a that this kind of discussion concerns
also the relationship between Delphi and Free Pascal. Despite some
forks, I have found on wikipedia, that Free Pascal is almost compliant
with Delphi6/7. Considering the economical difficulties of Code Gear, it
is possible that Free Pascal will remain the only living project to
continue developpement with former Borland's tools (now Embarcadero's
and nothing seems scheduled about Delphi).

So, is there a "reference" implementation of Modern/Object Pascal? Does
Free Pascal can take this role? Is it better to let it to Delphi? Or to
GNU Pascal (or any other project)? Which criteria shall match such
"reference"?

Sorry for the FUD.
Gilles Marcou

> Send fpc-pascal mailing list submissions to
> [hidden email]
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
> or, via email, send a message with subject or body 'help' to
> [hidden email]
>
> You can reach the person managing the list at
> [hidden email]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of fpc-pascal digest..."
>
>
> Today's Topics:
>
>    1. Re:  Standardization of Modern Pascal (ik)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Mon, 7 Jul 2008 12:45:01 +0300
> From: ik <[hidden email]>
> Subject: Re: [fpc-pascal] Standardization of Modern Pascal
> To: "FPC-Pascal users discussions" <[hidden email]>
> Message-ID:
> <[hidden email]>
> Content-Type: text/plain; charset=UTF-8
>
> On Mon, Jul 7, 2008 at 12:22 PM, Michael Van Canneyt
> <[hidden email]> wrote:
> >
> >
> > On Mon, 7 Jul 2008, leledumbo wrote:
> >
> >>
> >> Why Modern Pascal isn't standardized? Take a look at its other brothers and
> >> sisters, for example C & Fortran. (AFAIK) C has been standardized in 1989
> >> and 1999 (there perhaps earlier ones), while Fortran in 60,77,..(I forgot
> >> these ones, there are too many),2000,2003(,2005?). Pascal has only 2
> >> standards, ISO-7185 (Standard Pascal) in 1990 and 10206 (Extended Pascal) in
> >> 1991. Since most todays Pascal programmers use Modern Pascal, I think it's
> >> worth to be standardized. At least, those Anti-Pascal community will no
> >> longer argue about standard (which I hate very much).
> >
> > We'll sit around the table with CodeGear and try too cook up something :-)
> >
> > I don't think that setting a standard will improve the userbase.
> > As far as I know, VB is also not 'standardized', nor is the SAP variant
> > of Basic or OpenOffice basic. Nevertheless, they are used a lot.
>
> The same goes also to Perl, python, Ruby and PHP. They do not have
> standard, but they are used.
> I do think there there should be some guidelines regarding modern
> Pascal development. But this guidelines will very between each project
> and it's goals.
> I think that the path of FPC is going to the right direction, while
> CodeGear try to make Pascal closer to Java/C#. It seems that the
> verity of dialects also contribute for the progress of the language,
> while languages such as C lack of such progress IMHO.
>
>
> >
> > Michael.
>
> my 0.02 cents :)
>
>
> Ido

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Standardization of Modern Pascal

Adriaan van Os-2
In reply to this post by leledumbo
leledumbo wrote:
> Why Modern Pascal isn't standardized? Take a look at its other brothers and
> sisters, for example C & Fortran. (AFAIK) C has been standardized in 1989
> and 1999 (there perhaps earlier ones), while Fortran in 60,77,..(I forgot
> these ones, there are too many),2000,2003(,2005?). Pascal has only 2
> standards, ISO-7185 (Standard Pascal) in 1990 and 10206 (Extended Pascal) in
> 1991. Since most todays Pascal programmers use Modern Pascal, I think it's
> worth to be standardized. At least, those Anti-Pascal community will no
> longer argue about standard (which I hate very much).

I don't see your point. As you write, the Pascal standards are already there.

Regards,

Adriaan van Os




_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Standardization of Modern Pascal

Marco van de Voort
In reply to this post by Gilles MARCOU
> the question is interesting in my opinion. The standard for a language
> (C, Fortran, C++)

> or an authority able to define the language (Java)

Sun has owned Java for much of the time, as well as CG did
Delphi. I wouldn't place them in the same part as the former.

> helps to write code that will be as unrelated as possible of a precise
> "dialect" or community.
 
> As I understand, the main problem is the relation with CodeGear's
> Delphi.

No, the main problem is who is actually going to sit down for the standard
and what their motives are. (what do they have to gain)

In the C and Fortran case, it was mostly vast existing codebases (resp unix
and numeric code) that required cooperation to keep them running, and that
was more important than the little advantages gained with small
vendorspecific extensions.

Moreover, originally C had big problems (like the missing of prototypes,
void pointer), something that need to be settled across all vendors for it
to be adapted en masse.

> Whatever the community can decide about a "standard" or at least
> a set of "good practices", they have no reason to follow. On another
> hand they represent too much of the "Modern Pascal" community to be just
> ignored.

There is no uniform community. In the C case, everybody had Unix code. In
the Pascal case there is no such thing.

> Therefore, is it possible to follow CodeGear?

Only at arms length, which is what we are doing now. Codegear has little
interest in multiplatform design, and has recently implemented a shitload of
.NET me-too's.

> Is it possible/desirable to
> follow the model of Java: CodeGear manage the langage, other Pascal
> implementations have to follow?

I wouldn't call that a model.
 
> Yet, the language lack of an authority for convergence of Pascal
> projects

In practice, all Pascal dialects besides the Delphi dialect are dead. So
there is all but formal convergence. VP is dead, GNU Pascal hasn't had a
release in years, their website has a (C) 2005 copyright and the maillist
traffic also gradually drops. There has been no announcement of any new
functionality in the maillist for at least an year too. Only the Mac side of
things has some life in it, but that is more debugging and packaging.

I wrote a little text about Pascal standarization a few years ago:
http://www.stack.nl/~marcov/ansiiso.txt

So most of the remaining issues are inside of the Delphi dialect, most notably
the failure of a lot of Delphi users to adapt the latest versions (because
those versions were fairly .NET oriented and they were not).

FPC has a bit of a problem that it has multiplatform as base principle,
while it doesn't even register on the Delphi agenda.

> I agree that a dialect has a potential of innovation that dies
> when the language obey a standard. But, shall we see the existence of a
> common ground as a barrier to innovation?
> Does it really hurts the personnality of other Pascal Projects?

There is always a common ground, otherwise they wouldn't share a name, but
the commonality with GPC is very low. Also they don't have any compability
with Borland dialects (which make up the bulk of FPC syntax) on the agenda.

They don't even fully support features from TP4 like (short)strings without
requiring rewrites, which is the level of 1988 or so.

> To end my contribution, I think a that this kind of discussion concerns
> also the relationship between Delphi and Free Pascal. Despite some
> forks, I have found on wikipedia, that Free Pascal is almost compliant
> with Delphi6/7.

Yes, to a quite high degree. Note also that most of the extensions after D7
are pretty baroque, mostly stuff to make it look more .NETtish:

http://dn.codegear.com/article/34324
http://www.stack.nl/~marcov/delphilater.txt

> Considering the economical difficulties of Code Gear, it is possible that
> Free Pascal will remain the only living project to continue developpement
> with former Borland's tools (now Embarcadero's and nothing seems scheduled
> about Delphi).

The next Delphi version is scheduled for August, with generics and unicode
as major new features. Some discussion about what FPC will do about unicode
is currently underway, and FPC had an own generics implementation before
Delphi did.
 
> So, is there a "reference" implementation of Modern/Object Pascal?

Then you must first define that term. It is new to me. Even Object Pascal
(though it usually means Delphi) is fuzzy since it can also point to Apple
dialects, and all of the Delphi versions.

> Does Free Pascal can take this role? Is it better to let it to Delphi?

I think there is no room for such generalization. A standard is only a piece
of paper, unless you have multiple partners in the standard actively
cooperating. There is not much to gain from standarization at the moment.

Currently the  situation in practice is  that Delphi extensions are examined
each separately if it fits with the FPC tradition, and implemented the same,
differently, or not.  There is some minor cooperation with GPC to keep the
Apple headers compilable, but that's about it.

The low uptake of newer (post D7) Delphi versions has made this easier to
do.

However I myself have the feeling that the last 1 - 1 1/2 year saw more
usage of later Delphi versions. Also the unicode support of the next version
might trigger an upgrade wave. (though not directly, say in an year ago,
after the first fixpacks), so this policy might need review in the near
future.

> Or to GNU Pascal (or any other project)? Which criteria shall match such
> "reference"?

Forget GNU Pascal for all pratical purposes.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Standardization of Modern Pascal

Gilles MARCOU
In reply to this post by leledumbo
Hi Marco,

I found your answers to my naive questions really interesting. And
certainly I agree. Would it be possible to make them more visible on the
web site of Free Pascal? In practice, include the texts you pointed to
(iso-ansi discussion and delphilater) in the web site? Or did I missed
them?

A few comments before I turn back to work.

I think that Modern Pascal is not so fuzzy.  Indeed my feeling is also
that the Free Pascal community plus CodeGear's Delphi constitutes most
of what is today Modern or Object Pascal. So the current implementations
(FPC2.2 and Delphi2008?) are making the langage.

If this is so, there is no point to discuss a standard. As much as I can
see, the situation, in practice, is analogous to Sun and Java. Only that
CodeGear is not going to collaborate anyhow with Free Pascal. If there
is something like a "reference" it is rather Delphi. In the sense that
the FPC try to be compatible with Delphi.

Considering that who wants a standard wants to write a code as
independant of a given compiler, the question resumes to write code that
can be easily ported between Delphi and Free Pascal. The answer shall be
to write it Delphi6/7 compliant and forget about .NET. This is only how
I see things.

An important addition is that "Delphi extensions are examined (...) if
it fits FPC tradition...". I believe you refer to this text?

http://www.stack.nl/~marcov/delphilater.txt

I understood also that programing concepts are more elaborate into FPC.
You stated that generic classes (isn't it?) for instance, are already
implemented while they are only scheduled in Delphi. While most
exclusive features of Delphi are related to .NET functions. In that
sense, it is relevant to port Delphi code to Free Pascal but it might be
hasardous to port Free Pascal code on Delphi...

Concerning .NET, the concept is useless for a compiler that is far more
crossplatform than the Microsoft's framework will ever be.

Thanks again for your kind answers.
Gilles Marcou


_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Standardization of Modern Pascal

Marco van de Voort
> I found your answers to my naive questions really interesting. And
> certainly I agree. Would it be possible to make them more visible on the
> web site of Free Pascal? In practice, include the texts you pointed to
> (iso-ansi discussion and delphilater) in the web site? Or did I missed
> them?

Problem is that they are my opinions, and not necessarily those of core.

> A few comments before I turn back to work.
>
> I think that Modern Pascal is not so fuzzy.  Indeed my feeling is also
> that the Free Pascal community plus CodeGear's Delphi constitutes most
> of what is today Modern or Object Pascal. So the current implementations
> (FPC2.2 and Delphi2008?) are making the langage.
>
> If this is so, there is no point to discuss a standard. As much as I can
> see, the situation, in practice, is analogous to Sun and Java. Only that
> CodeGear is not going to collaborate anyhow with Free Pascal. If there
> is something like a "reference" it is rather Delphi. In the sense that
> the FPC try to be compatible with Delphi.

All correct I think. But the reference has been delphi till 7, and after
that it is less clear.

> Considering that who wants a standard wants to write a code as
> independant of a given compiler, the question resumes to write code that
> can be easily ported between Delphi and Free Pascal. The answer shall be
> to write it Delphi6/7 compliant and forget about .NET. This is only how
> I see things.

> An important addition is that "Delphi extensions are examined (...) if
> it fits FPC tradition...". I believe you refer to this text?
>
> http://www.stack.nl/~marcov/delphilater.txt

Yes. The problem with the later versions of Delphi was that they were
positioned as a means for easy transition from win32 to .NET. But that
didn't go so well with the users, and it is said that CG is splitting the
targets again. It was really a bad marketing decision in the first place.
Porting to .NET meant effectively a rewrite anyway.

But some of the later features may appear in FPC in time. Another problem is
that FPC has always had some functionality earlier than FPC. (function and
operator overloading e.g.) In the past, often if Delphi also started to
support it, some small changes were made so that the slightly different
Delphi syntax would work with FPC too.

However the set of features that is introduced with Tiburon (unicode and
generics) are signficantly larger, so a chance on a durable rift between FPC
and Delphi is larger.
 
> I understood also that programing concepts are more elaborate into FPC.
> You stated that generic classes (isn't it?) for instance, are already
> implemented while they are only scheduled in Delphi. While most
> exclusive features of Delphi are related to .NET functions. In that
> sense, it is relevant to port Delphi code to Free Pascal but it might be
> hasardous to port Free Pascal code on Delphi...
>
> Concerning .NET, the concept is useless for a compiler that is far more
> crossplatform than the Microsoft's framework will ever be.

Well, regardless of your opinion of .NET (or Java, the difference is not
much), the problem is that a deep integration of one of them with FPC with it is not very
useful. The languages and compiler models are too far apart to have synergy,
see:

http://www.hu.freepascal.org/faq.var#dotnet
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Standardization of Modern Pascal

Neil Graham-2
To add my two cents to this debate.

I have always thought the ideal form of standards (or de facto thereof) came
from benevolent dictators.  Borland did that job well for quite a long time,  
a single vision developed well beats the design-by-committee half-compromise
path any day.

The problem only really arose when the benevolent dictator stops being
benevolent. (circa .net).  The next best thing is what Free Pascal provides.
An open architecture is lower to develop due to the additional discussion
required, but it is also immune to taking the wrong path leaving people in
limbo.  Such events just inspire forks.  

In the article I wrote at
http://screamingduck.com/Article.php?ArticleID=43&Show=ABCE

I touched upon Free Pascal as an alternative to a standard.  Being open means
that people will never be denied access to the compiler, as long as it
remains compatible with itself, that works for me.  There are a number of
languages out there for which the only implementation is the open source one.

The other problem that I encounter is purely an evangelical one, People assume
pascal is the pascal of old.   I would suggest (perhaps at the time of a
major release) creating a language syntax mode with a unique name.   This
would allow people to call it by name and avoid the confusion that results
from saying 'I wrote it in Pascal'

Delcaring a name for the language and defining it as "what the lastest Free
Pascal does" would serve my purposes adequately.
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal