Forum > Other

Pascal origin, where does it come from

<< < (13/13)


--- Quote from: MarkMLl on October 15, 2020, 01:45:51 pm ---
Modula-2 of course had no special string type, but instead used (open?) arrays with zero origin.


--- End quote ---

And Miele Modula 2 for  OS/9  (realtime Unix) had not even one library for strings.
The very simple routines  like insert, delete , concat you had to do on your own.

Not such a big support for Modula 2.


And having to check for both an index being within bounds and the current character not being zero is painful (particularly with people saying that break/continue/exit are tantamount to goto so must be cast out)... although I wish more C programs took the trouble to do so.



--- Quote from: valdir.marcos on September 29, 2020, 12:03:29 pm ---1. Why Niklaus Wirth moved on from Pascal to Modula, and then to Oberon?
2. Is there any current worth mentioning professional software built with Modula or Oberon?
3. Is Modula or Oberon any better than modern Pascal?

--- End quote ---

I think many people are curious about at least the first 2 questions, which are very good ones.  The 3rd question, of Pascal versus Modula and Oberon, has a lot to do with preference.  Though a huge factor is Pascal having the corporate backing of Apple and then Borland/Embarcadero.

In a more recent interview done with Wirth (link below), there is more insight given into his thinking in regards to developing Modula and Oberon.  It appears that in the case of the time frame of him doing Modula and Oberon, he was greatly curious about OS and hardware development.  As a scientist, Wirth had a degree in electrical engineering and built his own TVs as a younger man.  This background also corresponds with him developing the Lilith computer (link below).

In an alternate universe, Niklaus Wirth could have been the European replacement of Bill Gates or Steve Jobs.  His Lilith computer, along with the operating system based on Modula-2 and Oberon came out in a competing time frame.  Oberon, the OS, was out on computers when Windows 3.1 was being developed.  In fact, a lot of research will have to be done to ascertain which was more advanced.  It appears Oberon was in many respects, though eventually Microsoft's success, new versions, and money would mostly overwhelm all competitors. 

His interests were beyond just programming languages.  It could be argued that he didn't so much abandon Pascal, as he had his sights on higher goals or other pursuits in the computer industry (to include RISC Architecture and FPGA).  We also have to remember, that he was an consultant on the development of Clascal (which became Object Pascal), so he still had his "fingers in the mix" there too.  Lastly, an element of this is that Wirth retired in 1999 (was a professor since 1968).  So his level of involvement in various pursuits appears to be not as vigorous as his younger days.  Though even in retirement, he has done a lot of amazing things.
(Interview with Niklaus Wirth, subtitles are in English)
(DISER Lilith, custom built computer with AMD processor, uses Modula-2 to build OS, started project in 1978)

Apropos language history, somebody elsewhere has just pointed me at by Martin Richards, discussing the history of CPL (an ALGOL-60 derivative), BCPL, and hence briefly C.

It has some interesting observations on the gradual changes of character sets as the industry moved towards a definition of ASCII, for example CPL used § and § for blocks, which was superseded first by $(  $) and later {  }.

It's also interesting that CPL and BCPL apparently used "Pascal style" calling convention, unlike C which has its own.


A very belated comment on := as a digraph to get it into the record.

--- Quote from: MarkMLl on August 12, 2020, 09:50:34 am ---Thanks for that. I can certainly see that they've used it as a de-facto equivalent, but skimming the paper I can't see it defined as a digraph etc. My experience- although I'm entirely happy to be proven wrong- is that computers of the ALGOL-60 era very often had caps-only 64-codepoint character sets with arrows (and inequalities etc.) available, and that manufacturers had their own list of equivalents to allow the industry-standard IBM cardpunches to be used.

--- End quote ---

Apparently := was in IAL (AKA ALGOL 58), where it was allegedly "forced in" by the American delegates overriding the preference of Zuse/Rutishauser. See and the Bauer reference section 6 and footnote 9.

So contrary to my earlier belief := was never a digraph for left-assigning ←, but instead was adopted (with an arrow as an alternative) as a replacement for the Rutishauser right-assigning ⇒ or Zuse's unique glyph which I believe has no modern codepoint.



[0] Message Index

[*] Previous page

Go to full version