4 ms·
Fat Pointers - Pascal has had them since I think the beginning? So...30+ years later, we decide Pascal was right. Just saying. Shoutout to FreePascal/Lazarus!
by analognoise 8y ago
Fat Pointers - Pascal has had them since I think the beginning?
So...30+ years later, we decide Pascal was right. Just saying. Shoutout to FreePascal/Lazarus!
- WalterBright 8y agoIn Pascal, every array with a different dimension was a different type.
- clouddrover 8y agoThat was true in the past, but Pascal has had dynamic arrays for over twenty years. The current versions of Free Pascal and Delphi are nice to use.
- WalterBright 8y agoI kinda gave up on Pascal 35 years ago when I picked up a copy of K+R :-) The only thing I really liked from Pascal were the nested functions, which I put in D.
- pjmlp 8y agoThat was already sorted out in early 80's Pascal dialects, even ISO Extended Pascal included support for it.
- TimJYoung 8y agoI 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.