by p5v on 2/25/23, 6:42 PM with 251 comments
So, i generally considered Pascal a dead language.
I was surprised to find out the other day that Delphi is not only alive, but thriving in its own way. Its community is as strong and as fervent about using it as it was back then. Even on the open-source front, there is an alternative IDE called Lazarus that offers a similar developer experience at no cost.
This got me curious. Who is still using Pascal/Delphi in 2023 and what for? Has it matured beyond the desktop app? Has it transitioned into the cloud-native era?
by magicalhippo on 2/26/23, 5:47 PM
These days it's obvious the years of lost momentum is taking a toll. The language hasn't evolved much and is showing its age in many areas. The IDE is far behind Visual Studio in terms of code completion and similar help. It's also been difficult hiring developers.
We've looked at moving to the web, but none of the front-end frameworks and tools we've seen so far get anywhere close to the ease of Delphi when it comes to making decent looking user interfaces with nontrivial functionality that doesn't silently break in random weird ways from one day to the next.
Also, if you want something in between a full CRM and "assembly level" database access, Delphi has some powerful libraries and components.
To give some perspective, we've got hundreds of businesses with many thousands of users, many large modules which constantly evolve, we have tons of custom integrations per customer, including custom data entry windows/screens. The largest customer has 25 integrations, 20 of them entirely custom including non-trivial new user interfaces, and got onboarded in less than a year from signing the contract. This with a team of 7 devs total and zero hired manpower. I'm not sure we could have gotten this far with such few developers with any other tool/platform.
But as I said, things are changing. So far we're moving the "backend" stuff to .Net/C#. Via RPC and message queues we can implement pieces in .Net while keeping the frontend in Delphi for now. We'll probably move the front end at some point once we find something suitable.
by fenesiistvan on 2/26/23, 5:16 PM
by adamzochowski on 2/26/23, 4:31 PM
I believe Zoom Player too is a pascal beast. Before VLC became ubiquitous and playing all formats, Zoom Player was one of the top windows contenders. Since then Zoom Player grown to be also Zoom Commander, which is a player for meant for restaurants and venues, with ability to split video across multiple screens, with multiple overlays. https://www.inmatrix.com/
by sema4hacker on 2/26/23, 6:13 PM
Besides our product, all of our in-house order entry and shipping systems were created with Delphi.
Last year I decided to come out of retirement and start a retail business, currently in stealth mode, but still using Delphi 6 for our tech infrastructure. I wrote a multiple-station data entry system for capturing/maintaining our inventory using a SQLite centralized server. I wrote an ISAPI DLL to drive our Javascript-free package-free web site which is very fast and has quite nice search capabilities. (Yes, a 32-bit DLL can generate HTML/CSS quite adequate for a modern-looking website.)
After using it for over 20 years, it is so quick and easy for me to create just about anything I need with Delphi, that the few times I've considered using other tools it quickly became apparent it would just take too long to get a handle on things and the ROI simply wasn't there.
An example of that was when last year I stumbled upon a Python program that did some sophisticated processing I could use, but dealing with that environment turned out to be a time-sucking nightmare. Too much of modern "programming" has turned into trying to mix and match and glue together packages instead of actually creating code. So, I'm sticking to an old-school system that lets me be creative and productive.
by SaintSeiya on 2/27/23, 12:08 AM
Learned Delphi in 2003...it never clicked for me and went to C/C++, python, fortran, web (HTML, CSS, JS, frameworks) you name it, instead. And after many years, in 2022 I've rediscovered Lazarus/FPC and is like a revelation to me. Instant click, instant match to my development style and made me a 10X developer overnight in it. I feel the joy of programming again.
by QuadrupleA on 2/26/23, 4:40 PM
by pshirshov on 2/26/23, 5:34 PM
Essentially it's dead. Though, looking at all the people trying to learn programming using dynamic languages with managed memory, I really regret that there is no good low-level language targeting learners as ubiquitous as Pascal was. I still advice those who can't grasp basic concepts and data structures (like reference, identity, passing by value, etc) to spend some time with Pascal and some old school-level Pascal books. For some reason that usually works better than K&R and C. I guess it's just about the language being lot simpler and not enforcing extensive pointer operations.
by kreelman on 2/27/23, 12:42 AM
I learnt Pascal in my first year of University. After a brief stint of BASIC, I fixed up a failing project using Delphi. This was the start of a long (long..) stint of Delphi programming.
I've now opted for a lower paying role to learn new skills. I'm loving it. I should have done this a long time ago, but life is what happens while you make plans.
I think one of the biggest problem older Delphi apps have is that they lock themselves in to working well in a Windows GUI environment. Early Delphi based project successes, because of quick initial deliveries (due to RAD/ROI), of mostly working applications mask the problem of a lack of architectural forethought.
I suspect a very difficult problem for most Delphi apps these days is disentangling working, legacy business logic from many sometimes very old forms and code into a more web consumable format. I've thought of starting a business to do this very thing, but others are doing this quite well I think.
The well thought out apps, that did have some reasonable architectural forethought, have probably been ported to C# by now. The apps that can't do this can be quite tricky to work with.
Working in a dynamic lang, Python, Scheme, etc. also I think allows easier shape-changing for new requirements. Whereas I think Delphi apps can get bit locked down into a way of thinking/doing tasks (GUI talking to a DB).
YMMV,. but that's my experience :-)
Glossary: RAD: Rapid Application Development ROI: Return On Investment
by cartoonfoxes on 2/27/23, 2:20 AM
Delphi is a neat product, but fuck Embarcadero - their business model is to extract revenue from the long tail of old Borland customers who are locked in for one reason or another, not grow the product.
by FpUser on 2/26/23, 4:46 PM
In my opinion there is nothing out there that matches simplicity, productivity and power of Delphi when it comes to desktop. My deployments are signed single exe that can be copied anywhere they just run. And are super snappy.
My main languages outside desktop are C++, JS and whole bunch of others when needed.
by thg on 2/26/23, 8:53 PM
by Svip on 2/26/23, 5:48 PM
This made projects that required any sort of advancement in protocol - even just for a prototype - scale quickly, and most of them we abandoned before we got there, unless the old tech (in our case, mostly self-designed) was proving too problematic.
Too a lesser extend is the age of Pascal. But I would apply this critique to C and C++ as well. Hell, even Java and C# are showing their age these days. There are just some quirks in Pascal, one needs to remember, like 1-indexed strings (I know they added an option for 0-indexed strings later) and that you can - theoretically - make arrays any-indexed. But all languages - including far younger ones - have their own quirks.
by bratao on 2/26/23, 4:11 PM
by whartung on 2/27/23, 12:32 AM
If you ask “How do I do XXX in language YYY”, it may just dump you into some library.
If you ask for it in Pascal, it will more than likely take a stab at an actual algorithm. Pascal is pretty straightforward to translate into something else.
by m0guz on 2/26/23, 9:29 PM
https://jonlennartaasenden.wordpress.com/2020/01/20/turkey-s...
by app4soft on 2/26/23, 8:06 PM
Author of original opensource FREE!ship switched to develop its proprietary variant, DELFTship - it still actively maintained.[4]
[0] https://sourceforge.net/projects/freeship/
[1] http://web.archive.org/web/20160831005653/http://www.hydrons...
[2] https://sourceforge.net/projects/freeship-plus-in-lazarus/
[3] https://github.com/markmal/freeship-plus-in-lazarus
[4] https://www.boatdesign.net/threads/free-ship-continues-as-de...
by c0l0 on 2/26/23, 4:21 PM
by eimrine on 2/26/23, 4:26 PM
by lurchedsawyer on 2/26/23, 4:16 PM
by nopakos on 2/26/23, 5:11 PM
by throwawaycr4zy on 2/26/23, 4:15 PM
by bluGill on 2/26/23, 6:11 PM
by dividuum on 2/26/23, 4:45 PM
by nl on 2/27/23, 12:24 AM
It nearly happened in this universe in the 1980s. The original Apple Lisa and Macintosh software was largely written in Pascal[1] and all the original developer APIs were in Pascal.
Pascal was a first-class language on Vax/VMS, and it's easy to imagine a world where Ada (which is a Pascal-family language) became popular instead of C++.
My first job was in Delphi, and I still am fond of the language. But it really is mostly dead for new applications now.
It's interesting to see the influence that Object Pascal in Delphi had on C# and now on Typescript - Anders Hejlsberg is responsible for all three.
by jpm_sd on 2/26/23, 4:13 PM
by jantypas2 on 2/27/23, 9:18 AM
by richardbarosky on 2/26/23, 7:33 AM
https://www.youtube.com/watch?v=l3nn3isshVg - When Delphi reaches the Cloud!
Disclaimer: I'm not a Delphi programmer. This just popped up in my YouTube feed.
by skilled on 2/26/23, 9:06 PM
by JohnTHaller on 2/26/23, 6:50 PM
by tdsanchez on 2/26/23, 4:48 PM
I was exposed to Pascal in high school and college in the late 80s/early 90s.
I've never used it professionally except for when I supported an Oracle DB backend in the 00s.
by Froedlich on 2/27/23, 3:56 PM
Pascal was popularized by Borland, who sold a complete develpment environment that was tiny, fast, well-documented, and dirt cheap. They got rich doing that. Delphi cost more, but it did a lot more... and then they started jacking the price of Delphi into Twilight Zone territory; over a thousand dollars if you wanted the necessary "add-on" bits that you really needed to make it work. That, and other bad business decisions, killed Borland, and put Pascal itself in the shadows, as they'd pretty much dominated that market. Anders Hejlsberg, who had written both Turbo and Delphi, eloped to Microsoft to work on Visual BASIC.
Besides the price, there was Borland's "upgrade" policy. At first, existing Borland product owners could upgrade for a nominal price. The price kept going up, and upgrades started coming faster. New versions were just incompatible enough to be a hassle. Finally, for the piece de resistance, they started running full-page ads begging Microsoft compiler owners to "upgrade" to Borland for less than what they were shafting their own customers for. That's when I, and apparently a whole lot of other programmers, decided to part ways with Borland.
by turtleyacht on 2/26/23, 10:29 PM
If your dependencies can be downloaded and built in a Docker container, for example, it can certainly run in the cloud.
[1] https://www.embarcadero.com/products/rad-studio/features/del...
by signaru on 2/27/23, 7:59 AM
On the other hand, I have pet peeves with the language that prevent me from using it for more ambitious projects:
FPC has no "inline" var declarations, and the community is even against it. My code is math heavy with many "transient" variables so the dedicated var section at the top of the function gets crowded quickly. Recent Delphi now has this, but costs have to be taken into account if you want to commercialize or deploy cross-platform. It seems that the real reason for this is to help the compiler be fast instead of helping the programmer.
Case insensitivity might be a minor thing, but it is there and you have to deal with it.
Then optionally dropping the parentheses for functions with no arguments hides the fact that you're calling a function which possibly does something else besides just reading a value.
by grishka on 2/26/23, 9:01 PM
by eraofballoon on 2/26/23, 8:47 PM
by HemulGM on 2/27/23, 8:43 AM
by MichaelMoser123 on 2/27/23, 4:42 AM
There is GNU pascal. https://www.gnu-pascal.de/gpc/h-index.html - they page says that they do support some of the Delphi language features/extensions.
GNU pascal is a gcc frontend - so it must support a lot of platforms https://gcc.gnu.org/frontends.html
So there are probably some people who are still using Pascal, not just as part of the Delphi IDE.
It should be possible to make a web framework for GNU pascal, the executable could then run on any server.
Also there seem to be several options for web frameworks for pascal and/or delphi, interesting if people are using it for production (never used any of this personally)
https://wiki.freepascal.org/Brook_Framework
https://blogs.embarcadero.com/learn-about-a-solid-and-robust...
https://fanoframework.github.io/
https://github.com/EtheaDev/kitto
it's not the mainstream, however there seems to be some action going on here.
by L29Ah on 2/26/23, 6:20 PM
by pluc on 2/26/23, 8:52 PM
by vfclists on 2/26/23, 5:33 PM
My only problem is that the compile edit develop cycle doesn't suit my "personal" needs and it doesn't have garbage collection for search needs. You can't be hunting down unfreed memory when you just want a quick and dirty utility.
by Apocryphon on 2/26/23, 10:33 PM
by wongarsu on 2/26/23, 4:40 PM
by TheSpiceIsLife on 2/26/23, 11:17 PM
https://au.linkedin.com/jobs/view/application-engineer-at-ca...
by omgwtfusb on 2/26/23, 5:20 PM
by 7thaccount on 2/26/23, 9:16 PM
by jantypas2 on 2/27/23, 5:49 PM
by kimburgess on 2/27/23, 3:34 AM
As far as I can tell, that device is still a component that can be purchased new: https://www.se.com/my/en/product/5500PACA/cbus-pascal-contro....
by EVa5I7bHFq9mnYK on 2/27/23, 6:13 AM
Also very strict and convenient type system, you could define an integer type weight_in_grams and the compiler would not allow you to mix it with height_in_inches, or range types, I think modern languages have nothing like that ... miss it.
by thewebcount on 2/27/23, 6:58 PM
by nocubicles on 2/27/23, 11:20 AM
The language is very similar to Pascal in syntax but actually is very modern and very powerful and productive programming environment.
by uneekname on 2/26/23, 5:29 PM
by dgudkov on 2/26/23, 7:01 PM
by ausare on 2/27/23, 1:00 AM
They originally licensed their compiler to Embarcadero back in the day.
They’ve modernised the language a lot.
RO also still make and support various components and tooling for Delphi.
I ‘grew up’ on Delphi but somehow ended up in .NET land eventually and now mostly do that and/or React but I do miss it from time to time.
by casualwriter on 2/28/23, 2:20 AM
The real problem of delphi/powerbuilder is not the tools, but not easy to find new developer for program maintenance and development. beside delphi, I am also curious "Are people still using Powerbuilder?".
by Wizory on 3/3/23, 9:21 AM
by sllabres on 2/26/23, 4:53 PM
by pengo on 2/26/23, 6:30 PM
by dukoid on 2/26/23, 7:01 PM
Jörg's AoC 2022 solutions in Pascal for CP/M running on a Spectrum Next with nice ASCII animations:
https://www.youtube.com/watch?v=eg7r_6IrWmo&list=PLcjDDXgGeS...
Source code: https://github.com/pleumann/aoc22
by djmips on 2/27/23, 6:36 AM
https://lemonspawn.com/turbo-rascal-syntax-error-expected-bu...
by pjmlp on 2/26/23, 9:14 PM
https://entwickler-konferenz.de/de/
This Belgian company uses it for robot automation in life science.
by Tozen on 2/26/23, 8:59 PM
Delphi/Object Pascal never went away, but rather it was targeted by various competitors in arguably their misinformation campaigns against it, in attempts to sweep it out of the way. Pascal/Object Pascal was going up against languages like C, C++, C#, etc... Languages that were promoted by powerful American companies like AT&T and Microsoft (to name a few). Even calling Pascal a "dead language", is indicative of how relatively successful the negative media propaganda was and is.
Pascal transformed into Object Pascal, but unlike say C's relationship to C++, Pascal and Object Pascal is much more closely aligned. This is reflected in how Object Pascal can be written, and with its most popular compilers (Free Pascal and Delphi). Outside of the USA, Borland and then Embarcadero has continually maintained a significant presence in many school systems. So while various Americans might have been tricked into thinking the language died off (especially with odd websites continually claiming its dead), others around the world have been introduced to Delphi, Turbo Pascal, Free Pascal/Lazarus, or PascalABC as their first programming language. The ton of Pascal/Object Pascal books that were written, and some new ones still coming out, also makes it much easier to teach.
So, what is happening, is that various people are rediscovering Object Pascal and are surprised it's still a significantly used language. Sometimes, people only just realizing that Delphi (the compiler/IDE), is using a dialect of Object Pascal. The TIOBE Index has been showing Object Pascal hovering around the #15 rank for years. Meaning Object Pascal, is just as alive or successful as notables like Go, Swift, Ruby, Rust, Lua, etc... Another element about this, is thinking that if a language is not in the top 5, then it doesn't really exist or has failed. That's also not how things work nor realistic thinking. There are thousands of languages, so making it even to the top 50, is both a struggle and an accomplishment by itself. Object Pascal, has stayed near the top for a long while, thus demonstrating its an all time success and great.
by 29athrowaway on 2/27/23, 1:11 AM
Borland produced excellent development tooling in its time. Turbo Pascal was a classic.
by dtgriscom on 2/27/23, 12:11 AM
by AdrianB1 on 2/26/23, 11:13 PM
by taneq on 2/27/23, 6:13 AM
by deadwanderer on 2/28/23, 12:46 PM
(Not mine at all, I'm just a loving player)
by p0nce on 2/26/23, 11:17 PM
by nicwilson on 2/26/23, 10:36 PM
by Viper512 on 2/27/23, 1:33 AM
I wrote a 3d engine.
I believe free Pascal has network and API libraries available.
Interestin.
by Scubabear68 on 2/26/23, 10:33 PM
Amazingly Embarcadero still sells and markets it!
by furyofantares on 2/27/23, 1:59 AM
Last updated last week
by royjacobs on 2/27/23, 9:26 AM
by loa_observer on 2/28/23, 1:31 PM
by neverartful on 2/27/23, 3:08 PM
by userbinator on 2/27/23, 3:05 AM
by ddgflorida on 2/28/23, 2:42 AM
by joejoesvk on 2/26/23, 7:16 PM
by gwm83 on 2/27/23, 1:18 AM