4 ms·
I don't think it's just perceived uncoolness. I learned Pascal in high school AP CompSci and I've always found it's syntax to be ugly and inelegant. But I learn
by ebbv 10y ago
I don't think it's just perceived uncoolness. I learned Pascal in high school AP CompSci and I've always found it's syntax to be ugly and inelegant. But I learned C first so maybe that's why.
- cvwright 10y agoI learned Pascal in high school, too. On a 25 MHz 486 with 8 MB of RAM -- woo! I actually quite liked it. I thought Pascal provided the right level of hand-holding necessary for a newbie programmer. I was probably able to pick up C more quickly the next year because of the solid foundation from Pascal.
- mamcx 10y agoIs interesting that people that "like" the c-like syntax consider pascal "ugly". The opposite is also true.
- ebbv 10y agoIt's true. I view syntax preference kind of like car preference. Very personal and some people have deep reasons and others don't.
- AnimalMuppet 10y agoI've used both professionally. I'd say that "begin" and "end" may be clearer than "{" and "}", but less typing wins when you're writing a lot of code. Writing "if" statements without short-circuit operators is both tedious and error-prone. So, yeah, I like the C syntax. It's not a question of "ugly", though. Pascal is tedious. It's more work to write. And, of the kinds of tedious I've complained about here, it's not tedious in a way that gets you more correct code. It's just tedious in a way that takes effort and saps your energy for stuff that doesn't matter.
- eggy 10y agoRuby seems to be quoted as an elegant language, and it certainly has its followers, and the number of Ends (vs. Begins in Pascal) are just as numerous, yet this is never cited. Syntax is definitely a personal preference. I know multiple PLs from different families, and even then, I still prefer a certain syntax.
- dragonwriter 10y ago> Ruby seems to be quoted as an elegant language, and it certainly has its followers, and the number of Ends (vs. Begins in Pascal) are just as numerous, yet this is never cited. Well, except that the cascade of ends is a frequent complaint about Ruby, rather than something "never cited".
- clouddrover 10y ago> Writing "if" statements without short-circuit operators is both tedious and error-prone. By default both Delphi and Free Pascal perform short-circuit evaluation of boolean operators. The Delphi and Free Pascal documentation has more: http://docwiki.embarcadero.com/RADStudio/Berlin/en/Boolean_short-circuit_evaluation_(Delphi_compiler_directive) http://docwiki.embarcadero.com/RADStudio/Berlin/en/Boolean_s... http://docwiki.embarcadero.com/RADStudio/Berlin/en/Expressions_(Delphi)#Boolean_Operators http://docwiki.embarcadero.com/RADStudio/Berlin/en/Expressio... http://www.freepascal.org/docs-html/current/ref/refsu48.html#x150-17200012.8.3 http://www.freepascal.org/docs-html/current/ref/refsu48.html...
- AnimalMuppet 10y agoAh. When I used Pascal, it was back in the old days. The single most horrific problem was that the size of an array was part of the type of the array, so it was literally impossible to use variable-sized arrays. But I didn't whine about that one, because I knew that it was fixed as early as Turbo Pascal. grumble grumble kids get off my lawn...
- e12e 10y agoI think this is an important point - I had a year of Object Pascal as introductory programming by accident sort of - as I spent a year at another college. It was the last year they continued to use Object Pascal (moving on to Java, I believe). Having had some exposure to Java, C and assembler before - I felt Object Pascal made much more sense than C. Meaningfully higher level than assembly, and much easier to grasp the difference between reference/value/address than in C. I know what * and & means in C, but it just felt more natural in Pascal (it's been so long that I don't remember the particularity of the syntax/semantics ...). Basic "original" Pascal is very much a teaching language first, and a "real" language second. But the small tweaks (or big, depending on your point of view) to Object Pascal/the default dialect for Free Pascal makes a world of difference IMNHO. So, I think someone can both agree that early Pascal (or plain Pascal) is uncomfortably verbose and rigid, while at the same time think that modern Free/Object Pascal is a great language to work with. I wonder if there's anyone working on a Pascal back-end for Nim? In some ways is seems like a "waste" that the default target is C.
- deleted 10y ago[deleted]
- mamcx 10y ago> less typing wins when you're writing a lot of code. This probably is part of the reasons: People that optimize for write instead of reading. However, after python I consider "begin/end" marks redundant with indentation... But then some people hate clear code, and prefer mess with the layout!
- int_19h 10y agoPascal is unnecessary verbose, even in its own family. Even Modula-2, where the most prominent change that is immediately visible is that you don't have to say "begin" so many times, is noticeably better. It's really too bad about Modula-2. It was a very nice language, comparatively speaking, and it should have been what Pascal eventually became through its dialects (notably Apple's and Borland's).
- claystu 10y agoDid you ever look at Oberon?
- leledumbo 10y agoIt's what Pascal should have become IMHO. Base syntax: case-insensitive Oberon. Extensions: Object Pascal features. Now that's heaven. If only we don't need to maintain backward compatibility...
- claystu 10y agoI wonder how hard it would be to poach the best parts of the GUI system from Lazarus and put it into a Turbo Oberon system.
- int_19h 10y agoOberon is also nice! Modula-2, though, has a nice trait in that it has exactly the feature set necessary for "better C", and nothing more.