4 ms·
I keep reading articles like this on HN, and coming to the same conclusions as yourself over and over: why isn't Object Pascal more popular ? It solves many is
by TimJYoung 8y ago
I keep reading articles like this on HN, and coming to the same conclusions as yourself over and over: why isn't Object Pascal more popular ? It solves many issues that have presented themselves over the last decade or so in various, more-popular languages, without any major downsides. I'm talking the language here - the RTL/system libraries and ecosystem is something that I think solves itself once more people start using the language.
Is it really just about the issues with begin..end and verbosity ???
- analognoise 8y agoI don't know, I wish I did. I think nobody who ran into it 20 years ago has looked at it since. It's really a damn shame.
- pjmlp 8y agoBorland is to blame, they scared people away from Delphi.
- pjmlp 8y agoBorland kind of killed it, literally. Object Pascal was originally developed by Apple and adopted by Borland into Turbo Pascal 5.5, which then started to adopt ideas from C++. In the PC world, Turbo Pascal was the king of Pascal dialects, for a Pascal compiler it was more relevant to be Turbo Pascal compatible than ISO Extended Pascal (the standard revision that fixed the issues with ISO Pascal). Borland switched focus to the enterprise, leaving the hobby developers behind, increasing the prices of their compilers to enterprise tools range, and then went through an identity crisis with Inprise and Codegear. The Kylix attempt to bring Delphi and C++ Builder into Linux was never that serious. They lost key people like Anders to Microsoft, nice story of events why he left in this interview. https://behindthetech.libsynpro.com/001-anders-hejlsberg-a-craftsman-of-computer-language https://behindthetech.libsynpro.com/001-anders-hejlsberg-a-c... So most of us moved away, on the mid-90's C++ was an welcoming home for Object Pascal refugees. Had the mix of OOP and procedural programming, thanks to classes and overloading it was possible to write type safe abstractions, RAII better than Object Pascal had, and even if the standard was a few years away, every compiler had a nice framework that would relive us from the pain of dealing with plain old C arrays and strings. And for those moments that we were forced to deal with C APIs, being almost copy-paste compatible with C helped. Which incidentally is one of the pain points in modern C++. This in the PC world. On the Mac, Apple decided to cater to the UNIX crowd and started to move away from Object Pascal. http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2011/4/27_MacApp_-_part_1.html http://basalgangster.macgui.com/RetroMacComputing/The_Long_V... http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2011/5/28_MacApp_-_evolution.html http://basalgangster.macgui.com/RetroMacComputing/The_Long_V... http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2010/4/3_MPW.html http://basalgangster.macgui.com/RetroMacComputing/The_Long_V... Outside PC and Mac worlds Object Pascal was hardly used. Max Weinreich said "A language is a dialect with an army and navy". On the context of systems programming languages, "A systems programming language is a language with an OS". If it isn't tied to an OS SDK there will be always attrition why use it at all.
- TimJYoung 8y agoRe: the term "Object Pascal". When I say "Object Pascal", I'm referring to the Delphi version that was released in 1995-96, not the older versions. It was still going strong into the early 2000s, but starting to experience some issues due to the C# headwinds and the pressure that MS was putting on Borland (thanks for the link on Anders, I've bookmarked for listening this evening). We were (are) there for the whole thing as a 3rd party component company in the Delphi market. But, my original point was about the pros and cons of the language, itself. Object Pascal seems to solve some major pain points experienced with other languages (specifically strings and dynamic arrays, but also others), but doesn't get copied or adopted as much as one would think. Instead, newer languages keep copying the same bad ideas that kill performance and/or limit the versatility of the language.
- pjmlp 8y agoI think Java is partially to blame for that. When it came out I was disappointed that they adopted and interpreter, followed by JIT with 1.2, leaving to commercial third parties the AOT compiler toolchain. I was then double disappointed with .NET, due to the NGEN/JIT mix, because NGEN was no match for a proper AOT compilation, just for faster startups. And it took them Singularity, Midori, to finally arrive at CoreRT and .NET Native, and still it only applies to certain deployment scenarios. Back then it wasn't only Delphi, there was Oberon, Component Pascal, Eiffel. But they were all commercial and then around the same time FOSS started to pick up steam, Kylix was very badly managed, and due to its UNIX roots everyone was mostly writing GNU tools in C, which wasn't actually that much used in the PC world where we were already quite happily using OWL, VCL and MFC. At least Pascal style syntax is fashionable again.
- TimJYoung 8y agoYeah, I keep remarking that I think that a proper AOT C# or Java is a game-changer, but I'm not sure if these languages will ever be able to shed the baggage of the very large frameworks that developed around them. But, I will also be very glad to be wrong. As for Kylix, I simply think that there was no way that it was going to work on Linux. IOW, trying to do a GUI-based development tool on Linux was a bad idea from the start. They couldn't even nail down a few distributions very well - it was a constant moving target...