6 ms·
It seems like the "modern" way to write Pascal would be with FreePascal ( https://www.freepascal.org/ https://www.freepascal.org/ ) and the Lazarus IDE ( https:
by KronisLV 6y ago
It seems like the "modern" way to write Pascal would be with FreePascal ( https://www.freepascal.org/ https://www.freepascal.org/ ) and the Lazarus IDE ( https://www.lazarus-ide.org/ https://www.lazarus-ide.org/ ) both of which seem like stable, open and capable projects.
That said, i'm afraid that modern Pascal isn't awfully popular, which hurts its practicality a bit (e.g. learning about it, finding tutorials and others' experience with it, getting help). However, it's approach to native GUI development is pretty good, the language itself seems pretty okay and the compilation times are generally pretty good, as is performance ( https://benchmarksgame-team.pages.debian.net/benchmarksgame/which-programs-are-fastest.html https://benchmarksgame-team.pages.debian.net/benchmarksgame/... ).
Perhaps the only actual dealbreaker i can think of, is the fact that it doesn't have that many stable or even first party web development frameworks/libraries ( the closest i've found to that being https://wiki.freepascal.org/fpWeb_Tutorial https://wiki.freepascal.org/fpWeb_Tutorial and https://wiki.freepascal.org/fcl-web https://wiki.freepascal.org/fcl-web ), however they don't seem to be as popular as the "de facto" frameworks of the other languages. For example, Java has Spring (and Spring Boot), Node has Express, Python has Django (or even Flask), Ruby has Rails, .NET Core has ASP.NET Core, which are all widely supported and well documented, with plenty of tutorials.
Of course, that has only been my limited experience, since i mostly work with the other alternatives at my workplace and only dabble in Pascal occasionally in my free time. Would anyone care to comment on their experience with modern Pascal as well?
- edwinyzh 6y agoThe most powerful and stable web framework is mORMot, it supports both FPC and Delphi. Here is its version 2 in development: https://github.com/synopse/mORMot2 https://github.com/synopse/mORMot2 I use Delphi all the time, IMHO, it's the best tool for Windows desktop app development - concise language, blazing fast compile time, easy UI design, flexible UI framework, all-in-one IDE, and so on. It's such a joy to me :) And here is my new desktop software written in Delphi: https://docxmanager.com/ https://docxmanager.com/
- augustk 6y ago> It seems like the "modern" way to write Pascal would be with FreePascal The latest language from Niklaus Wirth is Oberon which was last updated in 2016. It is both smaller and more capable than Pascal. https://www.miasap.se/obnc/oberon-report.html https://www.miasap.se/obnc/oberon-report.html
- sigzero 6y agoTrue but it is also exponentially more obscure in usage.
- augustk 6y agoIndeed, for a long time there was no freestanding compiler (Oberon is also an operating system) which you could use to create programs on any computer. The OBNC compiler, which transpiles to C, solves this problem: https://miasap.se/obnc/ https://miasap.se/obnc/
- c-cube 6y agoIn what ways is it more capable than Pascal? At first glance Pascal seemed to have more features (including discriminated unions)?
- augustk 6y agoTo name a few, Oberon has extensible types which enables object oriented programming (and makes discriminated unions superfluous). It supports modular programming. It also has so called open arrays which allows passing arrays of any length to a procedure.
- pjmlp 6y agoAs long time follower from Niklaus Wirth work, Oberon is more capable than Pascal, only if you are speaking about the original edition of Pascal in the mid-70's.
- augustk 6y ago
- jksmith 6y agoFPC/Lazarus gets my vote for a great FOSS project. Going strong for three decades now.
- signaru 6y agoI had my share of porting C# GUI programs to Object Pascal (Lazarus/Delphi). I think the best part of FreePascal are the "outputs". I will always choose native GUI easily multi-platform programs over framework-dependent bytecode Windows-biased programs. It's also pleasant that you don't have to spend hours figuring out how to compile popular GUI framework X for C/C++ while Lazarus/Delphi just works out of the box. For the latter, the de facto GUI framework feels more in "harmony" with the language/compiler toolchain. However, as a language, Pascal is a bit of a pain. The parts that frustrate me the most, are the necessity of editing code across separate locations when introducing a new variable/function and the lack of smaller scopes beyond function scope. Brian W. Kernighan's "Why Pascal is Not My Favorite Programming Language" (1981) lists some of these frustrating parts, although there are many improvements since then. I think more recent pascal compilers now support declarations elsewhere aside the interface section or beginning of a function. But more recent also means less support for older systems, which is part of what I like about Pascal. And if my program doesn't need a GUI, I feel that C/C++ is far more productive for multi-platform-compilable native programs.
- pjmlp 6y agoDelphi now has inline variables, http://docwiki.embarcadero.com/RADStudio/Sydney/en/Inline_Variable_Declaration http://docwiki.embarcadero.com/RADStudio/Sydney/en/Inline_Va...