3 ms·
> These languages have evolved to be where they are today, mostly because hardware has evolved to be where it is today.* No. Pascal and Modula-2 were perfectly
by lazyjones 12y ago
> These languages have evolved to be where they are today, mostly because hardware has evolved to be where it is today.*
No. Pascal and Modula-2 were perfectly usable, safe systems programming capable languages 20 years ago. Pascal was widely used in commercial product development (DOS/Windows), Modula-2 was scarce, but taught at universities with high quality development environments available for many platforms and the Oberon OS was based on the language Oberon, which was heavily influenced by/derived from Modula-2.
Everything necessary to produce safe, maintainable, fast software was available back then, but lazy/uneducated/stubborn people used C instead and wrote crappy software we still have to use today. It's a shame really.
- alayne 12y agoI'm sure Pascal was really the silver bullet and its failure had nothing to do with Pascal derivatives being academic, non-portable, not very expressive, and having numerous other issues. I think your ad hominem comments about people who implemented in C are in poor taste and not based in reality.
- 4ad 12y agoI don't understand why we talk about Pascal at all, since Pascal is just as memory-unsafe as C.
- ajuc 12y agoin one important practical aspect it isn't - strings are length+content in pascal, not null-delimited as in c. It's very important difference.
- 4ad 12y agoYou read into buffers, not strings. You can easily have buffers overflows. Pascal arrays are bounds checked, but not when it matters: http://wiki.lazarus.freepascal.org/Secure_programming#Buffer_Overflow http://wiki.lazarus.freepascal.org/Secure_programming#Buffer....
- lazyjones 12y agoThe problems mentioned there (assigning to array elements with out-of-bounds indices) can be avoided by using range checks (-CR option for fpc). It's strange (and silly) that this is apparently off by default for fpc, but it's not a language feature of Pascal.
- pjmlp 12y agoNo, because Pascal offers proper strings, bound checked arrays,open arrays, real enumerations, numeric ranges and reference parameters.