Hacker News new | ask | show | jobs
by xyzelement 908 days ago
I recently used freepascal’s turbo pascal + dos style ide as a retro way to do the advent of code 2023.

It was a blast from the past for sure. Is this / Lazarus just a retro thing or do they have practical utility in 2023 also ?

4 comments

Lazarus isn't retro. It's an open source, Delphi-compatible IDE. If you are a big Delphi fan and would like to port your apps to non-Windows OSes, try Lazarus.
Do get a job in 2023 coding in Object Pascal, probably not.

To code some FOSS stuff, enjoy a fast compiler toolchain and RAD experience for GUI applications, worth a try.

I'd say not even just FOSS, but indie developers can get a lot of value out of Lazarus and Free Pascal. It is by far the easiest way I've found to create a quick cross platform desktop application. When I say quick, I mean quick to develop, quick to compile, and it produces native binaries (using the native toolkit!) that are quick to run and use less memory than the alternatives.

The biggest weakness is that it's not great for iOS and Android.

> Lazarus just a retro thing or do they have practical utility in 2023 also ?

Surely it's not a retro thing. As for being useful in 2023 for landing a job, well, most head hunters won't even know what you mean if you mention it in your resume, however if you're lucky enough to find a place where they don't dictate what you're forced to use but rather ask "we have a problem, can you solve it? You have carte blanche wrt tools", chances are that by using Lazarus you can be extremely productive in short time.

Technically the only reason FPC's textmode IDE is "retro" is because everyone is using Lazarus instead :-P so it doesn't get much development. It is useful when you want a more lightweight FPC development environment or to develop in a platform without Lazarus support yet (i think Haiku was like that though from a quick search it looks like Lazarus can run on Haiku now with the Qt backend[0]).

There are a bunch of programs using Lazarus though, e.g. AFAIK the 64bit version of Total Commander is made using it.

Personally i'm making a bunch of stuff using it, like a 3D game engine[1] (well, actually more than one[2][3], but that is retro :-P), various utilities (e.g. some time ago i wrote a utility to repeat a texture on a spline so i can use it to draw patterns on textures[4]) and experiments (e.g. a lightmapping experiment[5] i wrote last year). Though as i like retro stuff, some of my projects are of that nature (e.g. aside from the second engine mentioned above, i wrote a quick and dirty Quake map editor[6] and a dungeon/map editor[7] for a homebrew game i was making for the OG Xbox using the opensource nxdk SDK - the game was made in C though, only the tools are in Free Pascal and Lazarus).

EDIT: forgot to mention, in a previous gamedev job i used Lazarus to write a tool for extracting savegame data for an external QA company, a tool that analyzed resource/asset usage for the engine and could point out exactly where it was loaded with full backtrace (i used Lazarus' "SynEdit" control to show the C++ source code for that with syntax highlighting and move to the exact line) and a tool that analyzed memory use and found untraced memory (the engine had its own memory allocator but not all memory went through that, especially from some middleware, so i wrote a tool that hooked VirtualAlloc and traced its callers - a hacky solution but worked :-P).

[0] https://i.imgur.com/Rl8ISmQ.png

[1] https://www.youtube.com/watch?v=SQ1-r9aE0QA

[2] https://www.youtube.com/watch?v=m5IAIhWcco0

[3] https://i.imgur.com/3f64T9M.png

[4] https://i.imgur.com/hfXWYAe.png

[5] https://i.imgur.com/ahO15LO.png

[6] https://i.imgur.com/7MSH98p.png

[7] https://www.youtube.com/watch?v=u1Mf8ujCu5g