Hacker News new | past | comments | ask | show | jobs | submit login

modern pascal is actually pretty good. it's very unfortunate that it isn't considered sexy. i learned programming on turbo pascal and used to think that pascal isn't a serious language. years later, after seeing that it's not dead and dropping prejudices against it i can see that it lost pretty much only because of its perceived uncoolness.



Language fans can all say that about their favorite languages from the past. ;-)

lisp, prolog, smalltalk, forth, fortran, even ada.

The challenge for programming languages today is not so much the syntax/language constructs but the ecosystem, libraries, community & support.

See php, it has all that and is very successful.

p/s. I write PHP code and believe pascal is a better language.


Or that you have to drop $1,405.00 [0] to get a 'professional' environment.

[0] https://www.embarcadero.com/app-development-tools-store/delp...


That's the problem. You can't sell programming tools any more. Everyone expects them to be free. Walter Bright, the designer of D and one of the first good C++, is on here, and has mentioned that before.

So programming tools come from some source that has an agenda. Oracle. Microsoft. Google. Even Mozilla.


I don't mind paying for my tools. I have a ST2 license, and will be buying an ST3 upgrade license when it's time.

It's just that $1.5k is hard to justify for a single language environment/compiler. VS2015 Pro is $499, while a yearly Pro/MSDN subscriptions is $1,199/year.


That depends. As long as I've been in the game there have been relatively expensive options. Back in the day I kept hearing about SmallTalk and I saw the price tag in an ad in Dr.Dobbs. Sticker shock! But "serious" pricing is still alive today. Check http://www.lispworks.com/buy/prices-1c.html for instance.

For some languages, lower prices won't significantly increases sales volume. And 1.5K is not a barrier if it's your bread and butter language. It's in the same ballpark as a developer machine.


The problem is, to gain traction these days, you target the developers, give them enough resources to work on something in their spare time, and hope they have enough influence to make their company switch from language A to language B.

Charging the developer, before they even have a chance to try the language out, when there are other free options available, means they'll never even give the language a chance.


I agree with you, but I also still agree with me:

Making Delphi or Common Lisp the next hotness is pretty much a lost cause, and has been for a long time. The people using those things tend to be heavily invested in them, and still making money. If you're not making enough money to spend US1.5K on your primary tool then you're not really making money.

Most of the people who balk at $1,500 will probably still pick the free option rather than pay $19.99.

Even though there are good free options (in the case of common lisp there are multiple good free options), there's still no gaining of traction.

So these companies charging money have defined their target market as people already using the language professionally, and they've found a price point that lets them stay in business and provide quality tooling (specialized IDEs, debuggers, GUI frameworks, et al). If they lowered their prices to $19.99, rather than attract loads of new mindshare they'd simply go out of business.


I pay for all the intellij products. Not only are they on a different level than anything else, they're not even expensive.


Nonsense. I'd gladly pay $1400 for a development environment if it made my job as a developer easier or better. My recollection is that Delphi (and its various owners) lost their way, not that people suddenly rejected Delphi's price point.


As someone who works with Delphi and C++Builder for a job… yeah, it's the single shittiest development environment ever conceived by man, and they charge exorbitant prices for it.

It's actually gotten so bad that my company is opting to migrate to C# for future development, in spite of our long investment in Delphi.


I wouldn't say that the IDE is shit, but it certainly isn't as good as VS, what issues do you encounter to make you say that?


- C++Builder: Compiler ICEs regularly

- Both: No undo in the UI builder

- Delphi: There are about 3 different ways of adding an existing file to a project. They seem to differ in how they track dependencies.

- Both: Project files periodically get corrupted.

- Both: Renaming a control on a form by only changing case causes some references to the control not to be updated.

- Both: No customizable keybindings

- C++Builder (might be true with Delphi too): The debugger periodically crashes.

- C++Builder: Sometimes the project fails to build and gives a bunch of errors in system headers. The solution? Close the IDE and open it again.

Those are just the big ones. There are a million tiny annoyances that add up to be very frustrating.


I stopped developing in Delphi in 2007, and even by then the IDE was starting to drift. The Delphi 5/6 IDE was great - much like Lazarus. The Delphi 7... well, I think it was okay, but I didn't really ever use it. Everything after that, started to make me face palm.

I did like Kylix. I messed about with it and I remember going to watch the UK demo of it by Charlie Calvert in the Polish Centre in London circa 2001/2002. I had a licensed version of 1.0 (and used the Betas as my company at the time was sub contracted by Borland UK, so we got perks like being NDA'd.) That they got the IDE to work was cool. But CLX really messed up the direction.

By the time they did the .Net version, the writing was on the wall.... that bug in the compiler that tied the compiler down in a way that made the 2.0 framework unhappy to run 1.1 binaries, that really told me all I wanted to know. I transitioned to .Net and C#.


Yeah, they are really doing it wrong IMO. But it is what it is at this point.


gets even worse if you want to develop for iOS/Android since you have to buy windows first


And no Linux support (yet).


Linux is well supported by Lazarus and FreePascal!


I think the parent meant Delphi


I believe it still comes with a version of Kylix. But sadly, yes, "no linux support" is pretty accurate, mostly because it sucks badly.


Kylix didn't suck per se - the CLX sucked. 2 frameworks that were almost, but not entirely, compatible was a big mistake. Borland were just too clever for their own good. They didn't understand that Linux is a moving target and not being able to keep up to date with the various libs and toolkits killed the product. Try getting Kylix 1.0 to run now... it's not a trivial task. It's painful. I could more than likely install Delphi 2.0 (first 32 bit version, though 3.0 would be "safer" as 2.0 was a bit of a mis-mash) even now on Windows (probably 1.0 on a system that still supported WOW for 16bit apps.)


Yes, I had read maybe around a year ago on their site that Embarcadero had plans to bring out a Delphi version with Linux support. Not sure what happened to that, and also now that they have been bought by Idera (which I only saw from the recent thread here about Modern Object Pascal).


They stated plans for Linux server support in Delphi but no GUI apps for Linux.


Thanks. An example of poor business thinking, IMO. That's basically putting on blinkers and saying "oh, Linux is only for servers", which is pure bull - unless they had some valid technical reason for not wanting to support GUI apps on Linux.


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.


I 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.


Pascal 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).


Did you ever look at Oberon?


It'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...


I 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.


Oberon 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.


Is interesting that people that "like" the c-like syntax consider pascal "ugly". The opposite is also true.


I'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.


> 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_s...

http://docwiki.embarcadero.com/RADStudio/Berlin/en/Expressio...

http://www.freepascal.org/docs-html/current/ref/refsu48.html...


Ah. 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...


I 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.


> 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!


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.

Syntax is definitely a personal preference. I know multiple PLs from different families, and even then, I still prefer a certain syntax.


> 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".


It's true. I view syntax preference kind of like car preference. Very personal and some people have deep reasons and others don't.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: