
Awesome Pascal – A curated list of Delphi, FreePascal, and Pascal shiny things - peter_d_sherman
https://github.com/Fr0sT-Brutal/awesome-pascal
======
EdgarVerona
There's a tender place in my heart for Pascal. The first language I was taught
was Turbo Pascal (I had sort of taught myself QBasic before that, as much as
one can from reading the help manual and stumbling through), and the built-in
libraries was as close to the liberty and scope of Python as you could get in
those days. It really inspired me to continue down the path of software
development.

I also have fond memories of BBS door games and software, a large portion of
which was built with Pascal.

I digress: but it's nice to reminisce about those old days.

~~~
acqq
> and the built-in libraries was as close to the liberty and scope of Python
> as you could get in those days

And even better with Delphi that additionally had better rapid UI creation
possibilities than Visual Basic, and on top of that, differently than Visual
Basic, produced a self containing executable, not depending on anything
external.

~~~
Crinus
Yeah, but the VB executables themselves were tiny (in P-Code form, which was
the default, they were also much more compact than machine code) and while a
single exe+runtime itself was larger than the ~300K a minimum that Delphi
2/C++ Builder would produce (with +~100K for a program that did something
interesting), it would take 3-4 programs sharing the runtime to quickly win
that difference back.

This is actually a (minor) issue i have with Lazarus - the executable files do
not depend on anything, but they are too large (~2MB minimum nowadays, if you
remove all debug info, etc) so if i want to create several "small" utilities
that focus on one thing instead of a multi-tool, i waste a lot of space (and
most importantly nowadays, bandwidth).

At least with Delphi you can compile the executable with the runtime library
as a separate file to be shared among the programs (my guess is that they
wanted to do something the VB shared runtime, but it didn't seem to catch on
as nobody used it like that).

~~~
acqq
> the VB executables themselves were tiny (in P-Code form, which was the
> default, they were also much more compact than machine code)

Now that you mention and I think about it, as VB was compiled to the p-code
and depended on the big common runtime which executed it, it can be seen as
one Windows-specific spiritual precursor of... Java.

~~~
Crinus
Yeah, actually Microsoft used P-Code way before VB1 - AFAIK their C compiler
was able to emit it and several of their products were compiled as P-Code
instead of machine code, which helped to save disk space (a premium at the
time, especially considering it could make a difference on how many floppy
disks they shipped) and quickly port their applications to other emerging
platforms at the time (like the Macintosh).

Both Microsoft's P-Code and Java were really inspired by UCSD Pascal which
only emitted P-Code to be executed by a runtime they implemented quickly in a
lot of systems (including the original IBM PC).

~~~
acqq
> Both Microsoft's P-Code and Java were really inspired by UCSD Pascal which
> only emitted P-Code

Yes, and I've actually experimented with UCSD Pascal on a 8-bit machine (Apple
II). Turbo Pascal was, of course, much faster on it (using Z-80 card).

------
narag
Wow, that's a comprehensive list! I've been searching for the most useful
resources I've used in 25 years and they're all there.

On the other hand, I see that Delphi usenet forums have been closed for a
year... long time I had not checked.

~~~
thijsvandien
If you're looking for a relatively active community, you can check this
subsection of a long-running German forum, recently created to replace the
Google+ group that's closing down:
[https://en.delphipraxis.net](https://en.delphipraxis.net).

~~~
vram22
Thanks for sharing that link. Will check it out. Was feeling bad about the
fact that the comp.lang.pascal.delphi (name right?) group (a Usenet group, and
then gatewayed via Google Groups) was not very active, and/or had spam (but
that was common to many Google groups - yes, I mean Google, not Google+,
though I know you said Google+, although some time later I noticed that Google
may have done something about the spam issue on Google groups, and it came
down a lot, IIRC).

~~~
pjmlp
Delphi is still relatively used in Germany, with an yearly conference taking
place.

~~~
vram22
Had heard of this (and in fact more generally that (ex-)Borland products are
popular there, which is good, but thanks for mentioning it.

------
hestefisk
With the amount of slow electron apps these days I wish more people would
write native programs in Pascal / Delphi. It’s blazingly fast and easy to
write (although the language has a few idioms it takes time to get used to).

~~~
tracker1
I think that there is room for improvement... Flutter is something very
interesting, though yet another language (Dart). React Native is also
interesting, but actually creating for cross-platform has some niggles. I
would think a nice cross-platform UI toolkit for Rust, once async/await drop
could be huge. WebAssembly + Canvas|WebGL|SVG as a generic runtime base could
go a long way to also bridging a gap.

In the end, it really just depends. Right now electron is the closest we've
had to a cross-platform application base with a UI that is easily styled and a
single codebase for write once, run anywhere that we've had. Most of the
cross-platform UI tooling that's come before has kind of sucked. Even getting
build pipelines for multiple platforms (even just Linux, Windows and Mac) has
been pretty painful. Electron bridges a lot of gaps at the expense of a more
bloated baseline.

I think things will get interesting and we'll see some new/old paradigms show
up.

~~~
pjmlp
I rather use JavaFX or Qt for that.

If it can be done just with HTML 5, CSS, JavaScript, then its place is the
browser.

------
xvilka
Why would anyone use Delphi these days? Except the case of maintaining legacy
code.

~~~
haolez
I wouldn’t use it for my projects, but Delphi still has some strengths that
are not so common these days:

\- very fast compile times

\- great backwards compatibility

\- non programmers can create simple programs

~~~
revanx_
"non programmers can create simple programs"

What does that mean? You can be a non programmer and make simple programs in
most general purpose programming languages.

Are you talking about the VCL library? In that case, there are many other
languages that include the same like C# for example.

~~~
detaro
Delphi is hard to beat in ease-of-use of the GUI editing. It's not just that
it ships with the component library, it's that the editor integrates it so
well.

~~~
Crinus
...and before someone tries to counterpoint that Visual C# has WinForms which
is similar to Delphi, yes it is similar, but the functionality available in
terms of design in Visual Studio 2019 isn't up to par with Delphi 2.

