3 ms·
Most of the "features" of the language is what I call "constraints". Old Kernigan's "Why Pascal is not my favorite language" in large part stlil applies today -
by tx 19y ago
Most of the "features" of the language is what I call "constraints". Old Kernigan's "Why Pascal is not my favorite language" in large part stlil applies today - the damn thing simply wasn't designed to be practical, and I was paid money for nearly 3 years out of college to write Pascal code, this i s probably why I have such a strong opinion about it.
Pascal's OOP is about as useless as C#'s compared to power of what multiple inheritance + templates give you, not to mention the true Smalltalk-style message passing.
Virtual constructors is not a "feature", it's (just like various additions to C#/Java) is an afterthought patch to a rigid static world. This is very typical for created-in-a-lab languages: they were designed with a average Joe programmer in mind, protecting him from shooting himself in a foot, and later on, to make them less painful to use, were given these "features".
Pascal's came from academia blessed by a traditional and inevitable "kiss of death" preventing it from generating a true massive fan following. Compare that to Unix/C/C++ (or Lisp, Smalltalk, Perl, Python, Ruby, etc) that were created by programmers for programmers.
- mojuba 19y agoJust read it, Kernighan's "Why..." http://www.lysator.liu.se/c/bwk-on-pascal.html http://www.lysator.liu.se/c/bwk-on-pascal.html No single point in this article is relevant today and pertinent to Object Pascal. None. Too out of date. Delphi does have messages, templates are not part of OO, multiple inheritance is present in Delphi in some restricted form (I* interfaces) and the rest in your post is just emotions.
- zeka 19y agoHold on, I thought in Delphi you still have to separate constants, typedefs, variables and code into different blocks, no?
- mojuba 19y agoTrue, but in classical Pascal they should go in particular order, and that's what K. is complaining about (no wonder), while for Turbo/Object the order is not important. That was a purely syntactic obstacle and nothing serious.