[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: backup archive format saved to disk



[snip]

Eiffel eliminates that problem with its "expanded" classes.
Modula-3 avoids that problem by having data structures that are *not* made of objects (in the technical OO sense) and that can be places off the heap, and in other objects.

Modula-3 even goes the whole way to low-level system programming with its "unsafe" features. The difference between these and C++ or C is that you can't use them by accident; you have to explicitly mark the code that uses them as "unsafe".

Modula-3 I'm not familiar with. There were two problems with Modula-II
(1) it was named Modula-II instead of Pascal-II
(2) it came along 10 years too late

When C took over from Pascal, it was evident to all with eyes to see
that it was an inferior language /as a language/ to Pascal. However,
Pascal was also deliberately hamstrung. The language was designed for
beginning programmers, and had so many restraints and safety nets
that it couldn't be used for systems programming. Another issue
is that the language definition specified p-code as the output,
but one can leave that aside.

What one cannot leave aside, for systems programming, is the places
where strong typing could not be broken when one needed to,
and where separate compilation was not supported.

Another flaw in Pascal was that it was based on the successive
refinement model for software development, which was a failure.
In particular, nested procedures are a bad idea. So are local
variables hiding global variables, but C also has that defect.
But these features of the language can just not be used. No one
forces you to write nested procedures.

But when C came along, Pascal was just not up to systems programming.
The only other alternative was assembler. C, bad as it is, is
superior to assembler.

Had Modula-II come along in a timely manner, and been named Pascal-II
so people would have had a "warm fuzzy" feeling of familiarity,
then C would, I belive, have been the backwater, and not Modula-II.

Although I find these languages wordy, I still think it a great pity that C++ took off instead of them.

Well, you've got my take on why that happened.

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!



Reply to: