|
|
|
|
|
by jstimpfle
921 days ago
|
|
I believe those versions of Pascal that required you to also define PFoo for every type Foo you define are not so long ago (e.g. to receive a pointer to a type as a function parameter, you had to declare the type "pointer to foo" first and give it a name, and use that in the function signature). I don't follow Pascal, but it may still be required in some cases in modern versions of the language. There is also the problem of not being able to define local variables (e.g. to hold the result of intermediate computations) right there and then. Even in Delphi until very recently, you have / had to declare each single local variable above the function body, below the function signature, _before assignment_. That is worse than C89 declaration style like used in Linux until recently (may be ongoing. I've dealt enough with that code to say that it's often a pain to have a lot of variables around that don't hold valid values. So we already have two significant defects that produce friction in basic use. It feels like Duplo, not Lego, because important basic usecases require so much verbosity that it becomes cumbersomse to read and write. And I assume that is a big reason why the language has seen less adoption / has even lost adoption where it had already gotten some. Some aspects of the Borland compilers (like performance) are genuinely nice though. And that it is in no small part due to the language structure enabling them. |
|