Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2008-07

Standardization of Modern Pascal

9 messages · 7 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

leledumbo

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).

View this message in context: http://www.nabble.com/Standardization-of-Modern-Pascal-tp18311768p18311768.html Sent from the Free Pascal - General mailing list .

Reply by email

Michael Van Canneyt
to leledumbo
leledumbo wrote 9 lines
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.

Reply by email

ik
to Michael Van Canneyt
Michael Van Canneyt wrote 19 lines
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

Reply by email

Gilles MARCOU

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

Show quoted text 71 lines
Send fpc-pascal mailing list submissions to 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 You can reach the person managing the list at 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 Subject: Re: [fpc-pascal] Standardization of Modern Pascal To: "FPC-Pascal users discussions" Message-ID: Content-Type: text/plain; charset=UTF-8 On Mon, Jul 7, 2008 at 12:22 PM, Michael Van Canneyt 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

Reply by email

Adriaan van Os
to leledumbo: Why Modern Pascal isn't standardized? Take a look at its other brothers and sisters, for…
leledumbo wrote 8 lines
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

Reply by email

Marco van de Voort
to Gilles MARCOU: the question is interesting in my opinion. The standard for a language (C, Fortran, C++)…
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.

Show quoted text 5 lines
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.

Reply by email

Gilles MARCOU

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

Reply by email

Marco van de Voort
to Gilles MARCOU
Show quoted text 5 lines
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.

Show quoted text 12 lines
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.

Show quoted text 10 lines
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.

Show quoted text 9 lines
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

Reply by email

Neil Graham
to Marco van de Voort

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.

Reply by email