3 ms·
Pascal falls into an unfortunate niche: - It's nowhere near new and trendy enough to have a bandwagon (e.g. Node, Go, Rust) - It's not obscure enough to have
by StevePerkins 11y ago
Pascal falls into an unfortunate niche:
- It's nowhere near new and trendy enough to have a bandwagon (e.g. Node, Go, Rust)
- It's not obscure enough to have a retro-cool following (e.g. Tcl, Forth)
- It doesn't blaze any theoretical trails in computer science today (e.g. Haskell)
- It's not associated with any evil corporate entity, allowing you to praise it "ironically" (e.g. C#)
However, I find it to be a really pleasant language to work with, at least for side projects and the occasional cross-platform GUI app. It's a clean, easy-to-learn imperative style throwback... with respectable support for object-orientation (NOTE: Everything in this comment is directed toward Free Pascal's support for Delphi-compatible Object Pascal. I haven't written old school non-OO Pascal since the 1980's).
In a nutshell... the language syntax feels like Golang dropped its curly braces, and finally added generics!
I believe that the Lazarus IDE and GUI libary for Free Pascal (http://www.lazarus-ide.org http://www.lazarus-ide.org) is by far the most compelling option out there for this common use case:
- You want to write a desktop GUI application, supporting OSX, Windows, and Linux from the same codebase.
- You strongly prefer static-typed languages. You don't want to cobble together a GTK app with Python or Ruby, and you REALLY don't want to embed three-quarters of Chrome and have to write your app in HTML and JavaScript.
- You want AOT compilation down to a standalone executable. You don't want to depend on the target machines having a Java VM or Mono installed. You don't want to wait another several years for Java AOT or .NET Native to become serious reality, and you don't want to deal with the flakiness of Mono's "mkbundle" tool.
- Life's too short to install a couple gigabytes worth of Qt, or try to make wxWidgets build properly on a Windows machine, and become proficient with C++.
If at least a few of the bullet-points above apply to you, then Free Pascal and Lazarus are definitely worth a look!
- nickpsecurity 11y agoI recommended it to companies as a future-proof language back in the day because of how easy it was to understand and the better safety than C. I told them that would pay off in maintenance mode plus a compiler or whatever would be easy to write if its support dwindled. Wirth's stuff is just inherently so simple. Most went with C or C++. I hear the codebases are a b to work with. ;)
- samuell 11y agoThis is spot on my experience and impression as well!
- omaranto 11y agoI didn't know Free Pascal had generics!
- justin66 11y agoA quick peek at the docs show that it was added in FPC 2.2. Makes me wonder, was this ever an official Delphi feature? http://wiki.freepascal.org/Generics http://wiki.freepascal.org/Generics
- lobster_johnson 11y agoYes, Delphi got generics back in 2009.
- coldtea 11y ago>- It's not associated with any evil corporate entity, allowing you to praise it "ironically" (e.g. C#) I don't think many people praise C# "ironically" (or that that is even a thing). It really IS a good language for its domain.
- anta40 11y ago>> - It doesn't blaze any theoretical trails in computer science today (e.g. Haskell) Which is probably a good thing. As much I'm fascinating by functional programming (type system, lambda calculus, etc etc), I find it kinda difficult to program on :p
- michaelbunny 11y agoYou get to know another paradigm which is very important. Object orientation already evolved into an ideology. So it's very good to get to know something so totally different.