NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
▲Free Pascal compiler now supports dynamic packages (getlazarus.org)
sysrpl 4 hours ago [-]
I am pleased to announce the first release of full dynamic package support for the Free Pascal Compiler and the Lazarus IDE. This feature has been a long time coming for the FPC ecosystem and has taken more than 20 years to realize through the work of many FOSS individuals.

Dynamic packages allow programmers to create and install components, controls, and Lazarus extensions in seconds without rebuilding the entire Lazarus IDE. They can also be used in by Free Pascal programmers to develop and deploy plugins that expose native Pascal classes and types through dynamic package libraries. To support this functionality, I have made numerous improvements to the compiler, its runtime, and the Lazarus IDE. I have also created additional IDE extensions to improve the experience of working with Lazarus packages. Read more at the link above.

andsoitis 3 hours ago [-]
Congratulations!

Pascal/Lazarus/Delphi strike such a nice balance of responsiveness in the development lifecycle.

sysrpl 3 hours ago [-]
Thank you. This has been a long time coming, perhaps 20 years in the making. I realize people are moving on to newer languages and frameworks, but there is just something special about older versions of Delphi and now Lazarus that makes it so much easier to write desktop software than most other frameworks. You can just drop components on a form designer, press run, and in a second's time you have a program. Of course there is more to it than that, but with dynamic package support, users can make or use components even faster as they no longer need to rebuild the IDE to install or uninstall native code.
phba 3 hours ago [-]
Awesome work. It's great to have a FOSS alternative while (Embarcadero) Delphi gets worse with every new release.
pjmlp 3 hours ago [-]
Congratulations on the achievement, and to everyone that made it happen.

Similar to Delphi packages I assume.

kristianp 2 hours ago [-]
This seems to be a fork of Lazarus. The official Lazarus is at https://www.lazarus-ide.org/
sysrpl 2 hours ago [-]
I have been running the website getlazarus.org for 13 years to support add features to both FPC and Lazarus that jump ahead of the normal releases. We have been working of dynamic packages for a long time, and there will be a period between now, and when it is sent as a MR back into the mainline. When enough time has passed and feedback given these features are typically rolled into the main release, and at getlazarus I move on towards developing the next features.
sigzero 2 hours ago [-]
Good to know and thanks for your explanation and all the work you do.
HexDecOctBin 2 hours ago [-]
Last time I tried Lazarus, the strangest feature that FPC was missing when compared to Delphi was being able to declare variables anywhere (as opposed to only at the top of a block). FPC is still stuck in a very C89 model of declarations for some reason, perhaps that's just what happens when ecosystems stagnate.
sysrpl 2 hours ago [-]
That feature you mentioned was added by the Delphi team in support of closures. They way they developed it was jankey IMO, as it creates an interface behind the scenes and populate with information about the local stack.

Though I do very much appreciate C#, with its lambda functions, expression trees, and especially the tooling, Free Pascal and Lazarus exist as a happy compromise between those things and native code integration, where working with C libraries like libcairo, libxml2, libssl, libsdl, and opengl are much easier and a pleasure to work with when using Free Pascal, and conversely are more difficult to wrangle when using C# or Java.

3 hours ago [-]
Pompidou 3 hours ago [-]
Good Thanks.
ironqcold 2 hours ago [-]
Good job
nyxthreepi 3 hours ago [-]
[flagged]
mathiasdpx 3 hours ago [-]
big news for the last three Pascal developers alive
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 22:32:38 GMT+0000 (Coordinated Universal Time) with Vercel.