Recent

Author Topic: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991  (Read 12930 times)

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Afaik, ETH's P4 was meant as bootstrap compiler because the small bytecode interpreter would be easily portable.
Since the compiler didn't use the full ISO dialect, neither did P4.

That's why Scott made P5, which is P4 expanded to support the full ISO dialect.

Pascal ISO 7185:1990

Standard Pascal
In 1974, the creator of the Pascal language, Niklaus Wirth wrote a book with Kathleen Jensen, titled Pascal User Manual and Report published by Springer-Verlag. This book became a de-facto standard for the Pascal language. In 1983 the International Standards Organization (ISO) formalized the de-facto standard as ISO 7185:1983. In 1990 ISO released an updated version - ISO 7185 :1990 - that didn't introduce any new concepts, but cleared up ambiguities and corrected errors that were in the earlier version. The ISO 7185 standard is referred to as Standard Pascal. The standard defines the minimum level that a Pascal compiler must support in order to be a true compiler of the Pascal language
https://wiki.freepascal.org/Standard_Pascal

http://pascal-central.com/docs/iso7185.pdf


ISO/IEC 10206:1991

Extended Pascal
Extended Pascal is the name given to the version of Pascal specified in International Organization for Standardization (ISO) standard 10206. It specifies an enhanced version of the Standard Pascal language that was specified in the ISO 7185 specification. The 214-page ISO 10206 document was published in May 1991 and not been revised since.
Support in Free Pascal for Extended Pascal is planned, and will be via compiler mode extendedPascal.
https://wiki.freepascal.org/Extended_Pascal

https://www.iso.org/standard/18237.html

http://www.pascal-central.com/docs/iso10206.pdf

In the beginning, Pascal, C and C++ were spread in many flavors on different architectures, machines and operating systems.
Why C and C++ standardization flourished up today and Pascal stopped in 1991?

Thaddy

  • Hero Member
  • *****
  • Posts: 14364
  • Sensorship about opinions does not belong here.
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #1 on: November 30, 2019, 08:29:53 am »
Due to three main players:
- Wirth himself moved on to - clearly Pascal derived - other languages which could even have been named after Blaise Pascal again...Modula and Oberon. Although he always showed interest in Pascal developments, he really did not put in real effort.
- Borland became protective and restrictive on their - commercial - language extensions. Although Borland employed at one point over 50 computer scientists and mathematicians (I left out programmers!) , they did not share their scientific results, nor pursuited a new standard based on their work.
- There were new standards possibly based on Objective Pascal from Apple, but Borland saw (after 1992) no good reason for that. From 1992-1994 Delphi was being worked on and was kept as best a secret as could for pure commercial reasons. Apple gave up...

When major industry players do not cooperate you won't get new standards.
To the defense of Borland, I have to say 2 things:
- that they were quite open to visitors to show their advances: I visited the Borland campus a couple of times in the mid '90's
- that contrary to standardizing Pascal, they (and their subsequent new owners) did and maybe do play a major role in the C++ standards committee

This is only less than half the story, but these observations come from my personal past. I feel that the benefits of open standards and open source - in terms of software, not hardware - were not fully understood by the major stakeholders at that point in time. No reference implementations for newer language additions could be agreed either..

It would still be quite feasible to write a new standard based on the two new major players (FPC and Delphi)

Software patents do kill standards, though.
« Last Edit: November 30, 2019, 08:49:55 am by Thaddy »
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

440bx

  • Hero Member
  • *****
  • Posts: 4015
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #2 on: November 30, 2019, 09:14:12 am »
Why C and C++ standardization flourished up today and Pascal stopped in 1991?
That's a good question and I doubt anyone can offer a definitive answer.  My guess and, that's all it is, a guess, is that the Pascal language has never been targeted in production to a specific area of computing. 

If we compare it to C (some people won't like the comparison but... oh well), from its conception the language was meant to be a systems programming language, a "high level assembler" as it has sometimes been dubbed.   While the design of the C language is a _genuine atrocity_ (unparalleled until C++), even those who strongly dislike it (myself among them) must acknowledge that once you learn how to use it, it can be a very effective tool for someone doing systems programming. 

If we compare it to COBOL (yes, there are still plenty of COBOL programs out there and new ones are _still_ being written), that language was designed to be mostly self documenting and meet simple procedural business requirements.  In spite of a very large number of deficiencies for other uses (and some even for its primary use), it fulfills its goal really well, much much better than C or Pascal or both put together in that area.

And for those who enjoy and extoll portability, the _first_ portable program was written in COBOL and, well written COBOL programs are very easy to port from one architecture to another.

The story is the same when we consider FORTRAN. It lacks many capabilities but, for pure raw number crunching, it packs a punch no other "somewhat general" language has.  For that reason, there is a 2018 standard for the n-th iteration of the very first compiler.

Pascal was the first and, possibly last, not overly focused language designed to teach, not programming but, _how to program_, i.e, use and apply the structured programming methodology with a language that elegantly supports its constructs.  It fulfills that purpose quite well.  The problem is, that methodology can be taught using other languages (particularly when today's "structured programming" includes dynamic gotos), as a result, Pascal's claim to fame is no longer unique and, it has no other one (at least not so far). 

Because their purpose (C, COBOL, FORTRAN, others) is clearly defined, there is continued interest in improving them to make them better tools to accomplish their purpose.  Pascal's purpose - to teach structured programming - doesn't really require updating the language.  The answer is: learn using another language.

Until someone clearly states what Pascal is for (other than to learn programming) and, starts extending its _design_ instead of just bolting junk found in other languages to it, it is quite unlikely the situation will change.  To add to the problem, somewhere along the line, Borland figured they could make some quick money by adding junk into the language instead of making the language better.  There is still no visible light in that tunnel which is not a good thing for Pascal.

« Last Edit: November 30, 2019, 09:19:13 am by 440bx »
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

Thaddy

  • Hero Member
  • *****
  • Posts: 14364
  • Sensorship about opinions does not belong here.
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #3 on: November 30, 2019, 09:57:47 am »
Well, Beginners' All-purpose Symbolic Instruction Code was the actual teaching language that created multi-billionaires (Gates actually wrote - not bought- a compiler/interpreter)
Pascal was and is about teaching, but also about structure. C derivatives never were. Not even C++.
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

440bx

  • Hero Member
  • *****
  • Posts: 4015
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #4 on: November 30, 2019, 11:12:36 am »
Well, Beginners' All-purpose Symbolic Instruction Code was the actual teaching language
It's rather regrettable to see there is a parallel between BASIC and Pascal.  Neither language elicits enough interest for a standards body to define and improve them since the early nineties.

Pascal was and is about teaching, but also about structure. C derivatives never were. Not even C++.
Pascal was, at least long ago, part of most CS curriculums.  BASIC was usually (justifiably) regarded as a "toy" programming language and rarely, of any significance in a CS curriculum (if present at all.)

(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

del

  • Sr. Member
  • ****
  • Posts: 258
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #5 on: November 30, 2019, 12:08:39 pm »
While the design of the C language is a _genuine atrocity_ (unparalleled until C++), even those who strongly dislike it (myself among them) must acknowledge that once you learn how to use it, it can be a very effective tool for someone doing systems programming.

Let's dial back the butt-hurt a little bit. I think you're assuming that your peculiar personal experience is universal. It isn't. Pascal's biggest virtue is apparently its plainness. You're not gonna ride the tiger with Pascal.

MarkMLl

  • Hero Member
  • *****
  • Posts: 6683
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #6 on: November 30, 2019, 01:11:17 pm »
I don't like adolescent language wars. However it's interesting to consider that the problems people have with C are overwhelmingly not to get it do do jobs effectively, but instead are to ensure basic robustness: no pointer abuse (intentional or otherwise), making sure that memory is correctly allocated and freed, and so on.

Such things were necessary back when people wrote assembler. They shouldn't be necessary in a high-level language.

At the same time, I will agree with 440bx that C /can/ be effective and efficient. Its advantage there is that because it doesn't "waste" stack space with exception and managed-type state handing the resulting binary can be "lean and mean", and it manages that in part by not using precompiled units heavily: it could /potentially/ use the same function in two different places in the same program with different calling conventions if the compiler were smart enough to spot that as a potential optimisation.

I don't like C. I've argued vehemently against C at the application level for the last 35 years, and C++ isn't all that much better. But C still does have a niche as a "better assembler than assembler".

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

440bx

  • Hero Member
  • *****
  • Posts: 4015
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #7 on: November 30, 2019, 01:16:45 pm »
Let's dial back the butt-hurt a little bit.
Thank you for the chuckle.  Your reaction indicates you're the one who's feeling some pain and, it also seems to be affecting your mood. It may be time for you to dial up on the pain medicine. I hope the hurt will be as ephemeral as possible.

I think you're assuming that your peculiar personal experience is universal.  It isn't.
Very regrettably, my conclusion is not universal.  As far as my personal experience, it includes being a C programmer.  That language is a design disgrace but, there are times when it can be the appropriate tool.

Pascal's biggest virtue is apparently its plainness.
Define what "plainness" is in a language and how it is present in Pascal.  IMO, among Pascal's biggest virtues are its strong typing, clear, readable, very rarely ambiguous and, rarely prone to lead to unintended errors, syntax (unlike the "==", "||", "|", "<", "<<" and other such common and numerous examples found in C's "great design".)

You're not gonna ride the tiger with Pascal.
That's a hobby you and I don't share, I don't ride tigers.  Good luck with that one and, don't forget to feed the kitty. Forgetting to feed it could lead to no ride (and that may not be the worse part.)

(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

del

  • Sr. Member
  • ****
  • Posts: 258
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #8 on: November 30, 2019, 01:22:20 pm »
I don't like C. I've argued vehemently against C at the application level for the last 35 years, and C++ isn't all that much better. But C still does have a niche as a "better assembler than assembler".

MarkMLl

Therein lies the rub. The confusion of C++ with C. Two entirely different languages. Trust me on this. Any language wars between C and Pascal belong back in the 1990's. I couldn't care less. I've moved on.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11446
  • FPC developer.
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #9 on: November 30, 2019, 01:43:19 pm »

In the beginning, Pascal, C and C++ were spread in many flavors on different architectures, machines and operating systems.
Why C and C++ standardization flourished up today and Pascal stopped in 1991?

C++ is a separate language.   C is a API description language for Unix that sometimes doubles as programming langauge (joking, but the motivation for the standarization is more Unix related than general C application programming related)

julkas

  • Guest
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #10 on: November 30, 2019, 03:19:57 pm »

In the beginning, Pascal, C and C++ were spread in many flavors on different architectures, machines and operating systems.
Why C and C++ standardization flourished up today and Pascal stopped in 1991?

C++ is a separate language.   C is a API description language for Unix that sometimes doubles as programming langauge (joking, but the motivation for the standarization is more Unix related than general C application programming related)
OK. C++ is a separate .... C is a API description ... What is Pascal ?



marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11446
  • FPC developer.
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #11 on: November 30, 2019, 03:38:21 pm »
OK. C++ is a separate .... C is a API description ... What is Pascal ?

Pascal is less tied to a single goal, like C to Unix/system programming. As said there was some education in the original concept (though that is often wrongly associated with initial first year programming courses, the original use was for students further in their studies, and about algorithms and compiler building), but nowadays due to Delphi I guess it is mostly application building in a very general sense of the word.

Not unlike C++, but I would lump Delphi/object pascal more in the productivity languages group (C#,Java, VB), and less next to C++, though technically it is closer to C++.

del

  • Sr. Member
  • ****
  • Posts: 258
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #12 on: November 30, 2019, 04:02:38 pm »
Also: without C you have no NumPy. And without NumPy, Python is dead in the water.

guest64953

  • Guest
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #13 on: November 30, 2019, 04:05:16 pm »
Sorry, I know I'm not qualified to post here but I would like to see someday people could come up with kernel module written in Pascal, people used Pascal to develop their existing OS side by side with C thanks to the painless interfacing between Pascal and C, we could import C header and have it generate working Pascal unit without having to edit anything by hand... Ah, it's just dreaming!

440bx

  • Hero Member
  • *****
  • Posts: 4015
Re: Standard Pascal ISO 7185:1990 and Extended Pascal ISO/IEC 10206:1991
« Reply #14 on: November 30, 2019, 04:35:22 pm »
I would lump Delphi/object pascal more in the productivity languages group (C#,Java, VB), and less next to C++, though technically it is closer to C++.
I believe that's one of the problems that afflicts Pascal.  I suspect that if it weren't for the RADs, Lazarus and Delphi, Pascal would be even less popular than it already is.  IOW, the value of the language isn't determined by the language's ability but, instead by the abilities of the RAD systems that use it (two (2) in this case.)

I believe its dependence on the RADs is preventing it from being developed in a clear and specific direction, such as, a systems programming language.  Since RADs are definitely not something that will be standardized and, there is no specific purpose for the language, that causes it to not be defined for anything in particular hence the absence of an evolving standard for it.

Basically, Pascal is behaving like many productivity languages/environments that come and go, instead of behaving like a programming language with a clear purpose in one of the areas of computer science.

(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

 

TinyPortal © 2005-2018