4 ms·
Object Pascal Handbook
- 616c 11y agoSo does anyone on HN use Free Pascal? How do you find it. I heard some comparisons of Nim to Pascal as its veiled resurgence. I am novice, so be gentle. I know this might seem dumb.
- tumba 11y agoAt least in the commercial world, the current legacy of Pascal is really in the C# community. See Anders Hejlsberg [1]. He was the author of Turbo Pascal and the chief architect of Delphi before becoming the architect of C#. There is a lot of consistency between the three language environments, especially between Delphi and C#. [1] https://en.wikipedia.org/wiki/Anders_Hejlsberg https://en.wikipedia.org/wiki/Anders_Hejlsberg
- amyjess 11y ago> I heard some comparisons of Nim to Pascal as its veiled resurgence. I don't know that much about Nim, but there are a few things about it... 1. The Nim compiler was originally written in Pascal. 2. Nim uses Pascal-style type syntax (i.e. "name: type" rather than the C-style "type name"). 3. Nim syntax was inspired by Python, which in turn was heavily inspired by Modula-3, which in turn is a descendant of Pascal.
- lobster_johnson 11y agoThere are tons of influences from ObjectPascal: * Range-based subtyping: You can declare a type as being an int of 1..5. Many Pascal-derived languages (Modula, Oberon, Ada) have this. * Ranges are first-class values and can be used in loops and case statements: "for i in 0..10". * Arrays: "array[1..5] of integer" becomes "array[1..5, int]". Nim also has open arrays, just like ObjectPascal. * Enums. Almost exactly like Pascal. * Sets, eg. "set[char]", which can then assign things like {"a".."z"}, almost exactly like Pascal. * Functions like ord() and prec(). * For a long time Nim used Borland-influenced naming conventions (mainly three: TFoo for classes, PFoo for pointers to objects, FFoo for fields). Fortunately this has been deprecated. * "var", "type" etc. being block-oriented and used to declare multiple things on separate lines. * Functions/methods are called "procedures". (The Nim manual insists this is more correct. I'm not so sure.) * Case insensitive identifiers.
- gecko 11y agoI used to, quite heavily. It was my go-to systems language when I didn't have any particular reason to use C or C++. But I think its time has likely gone at this point. It honestly just doesn't offer anything that interesting compared to other languages. As others have pointed out, C# is in many ways its spiritual successor. Go offers a much richer library collection, is similarly lightweight, but has a better resource cleanup story (both defer and garbage collection). Rust offers an even lighter weight runtime and throws in rich concurrency and safety guarantees. FreePascal offers...safer strings than C, I guess? I honestly prefer FreePascal to C, but I just think that ship has sailed at this point.
- gecko 11y agoWhere is the actual download link here? I feel as if I must be missing something.
- _kst_ 11y agoThe page says "The ebook (in PDF) is currently available at part of a promotion by Embarcadero Technologies.", but I don't see a link to a PDF file.
- anta40 11y agohttp://cc.embarcadero.com/item/30018 http://cc.embarcadero.com/item/30018 Object Pascal Handbook by Marco Cantu Available to registered users of Delphi XE8, RAD Studio XE8, C++Builder XE8, and Embarcadero All-Access XE This promotional item are available on XE7 purchases made after January 1, 2015 and for XE8 purchases made after April 7, 2015. That's the link, I guess.
- dragonfax 11y agoLove the cover art