Recent

Author Topic: I love that Lazarus and FPC feel like a time capsule from the 1990s or 2000s!  (Read 4470 times)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12523
  • FPC developer.
There's also https://github.com/alire-project/GNAT-FSF-builds

Not actual builds but a bunch of python scripts.  Even FPCDELUXE is ten times more user friendly.

gidesa

  • Full Member
  • ***
  • Posts: 196
But that is then an inside thing that you have to know how to find then. If I just go goog le I end up at https://www.adacore.com/download    May 27 2021, same age magnitude as FPC 3.2.2

The FSF site seems to favour FTP, even though browsers haven't supported that for ages. And that is just the compiler, not even GNAT studio.

I couldn't find a GNAT studio build for windows in the first 10 links searching for GNAT.

I use Msys tool for FSF/Gcc on Windows to install Ada. And here (https://github.com/alire-project/GNAT-FSF-builds/releases) you find builds for many targets, Windows included (only 64 bit).


Quote
But those legacy targets are often don't change much, usually, it is one person working on it for a long time.   Since FPC is a volunteer project, you can't reassign people, so the idea that working on minority targets somehow inhibits popular targets is not really true.  Stronger even, minority target people have had a considerable influence on making the compiler multi architecture.

But I think that legacy targets are always aligned to main targets, maybe slowly. I do not think that "side" work on less popular/old targets inhibits something. I only complaint a fact, Android is not directly covered. 


Quote
And then vendor extensions (specially for gui) on top.   I decided long ago that if I had to do mobile development, I would simply use vendor tools, rather than hang on to Pascal. The code sharing potential is simply too low to put up with any disadvantages.  Also there are constantly threads against the ability to sideload apps.  I have a similar situation with my embedded microcontroller work. Choosing Pascal limits you, and the codesharing with desktop/server apps is low on such (16-bit) development targets anyway, so I do it in plain C.

I have no dreams to sell Android apps  :) Only little and occasional apps. A flexible tool as Fpc could well cover Android. Indeed more effort on Lamw could be nice.
 
Quote
Do you really think Ada as a language is more productive? When I last looked at it (now already decades ago), I got a bit the same vibe as from Modula2/Modula3/Oberon a decade before. A lot of things disallowed or cumbersome, and not very conductive to productivity. Fine for the odd high security industry(like USA DoD and in France's defence industry) or embedded work, but then you probably also need to have additional procedures for such development in place. Not really conductive for SME or private single person development IMHO.

My interest for Ada is in its focus on program correctness, more errors caught at compiler time. In my opinion, this add to productivity.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12523
  • FPC developer.
I use Msys tool for FSF/Gcc on Windows to install Ada. And here (https://github.com/alire-project/GNAT-FSF-builds/releases) you find builds for many targets, Windows included (only 64 bit).

And tar.gz, not even an installer, and no editor or rest of system included it seems (I assume you have to piece that together from mingw components and hope their versioning matches). Compared with that FPC/Lazarus Windows installers are commercial grade :-)

Quote
I only complaint a fact, Android is not directly covered. 

But that is due to Android complexity and fragmentation, not due to minority targets.

Quote
I have no dreams to sell Android apps  :) Only little and occasional apps. A flexible tool as Fpc could well cover Android. Indeed more effort on Lamw could be nice.

Sideloading affects own usage.  And if code sharing is low, what is the point ?
 
Quote
My interest for Ada is in its focus on program correctness, more errors caught at compiler time. In my opinion, this add to productivity.

I know that is the official line, but to extract that you need to add a lot more boilerplate to the code that hampers changing it later. IMHO the overall productivity sum was negative.

It is a long time ago (1998-2000 timeframe) however that I looked at it.

gidesa

  • Full Member
  • ***
  • Posts: 196
And tar.gz, not even an installer, and no editor or rest of system included it seems (I assume you have to piece that together from mingw components and hope their versioning matches). Compared with that FPC/Lazarus Windows installers are commercial grade :-)

Indeed I use Fpcupdeluxe for Fpc/Lazarus, a great tool. But here we started from Fpc releases speed (among others things), and are ending arguing on installer?

Quote
But that is due to Android complexity and fragmentation, not due to minority targets.

Indeed you are right, if Android is ignored as now.


Quote
I know that is the official line, but to extract that you need to add a lot more boilerplate to the code that hampers changing it later. IMHO the overall productivity sum was negative.

It is a long time ago (1998-2000 timeframe) however that I looked at it.

Your opinion is respectable, of course. But it's not the view of many Ada's standard writers/developers (and same for Rust).

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12523
  • FPC developer.
Quote
I know that is the official line, but to extract that you need to add a lot more boilerplate to the code that hampers changing it later. IMHO the overall productivity sum was negative.

It is a long time ago (1998-2000 timeframe) however that I looked at it.

Your opinion is respectable, of course. But it's not the view of many Ada's standard writers/developers (and same for Rust).

As said there is the difference between high security targets and more general purpose programming. Multiple parties can be right for their niche.

WraithGlade

  • Newbie
  • Posts: 3
Hey, I just checked in on the thread again after several days and was pleasantly surprised.

You guys are great; there's so much good discussion and nuanced opinion going on in here that is good food for thought!  8)

I've been juggling my time among multiple priorities, but have been gradually working my way through some of the docs and a book in available time and messing with the Lazarus IDE. The attention to detail in everything in the IDE and in the community is refreshing compared to the widely prevalent spartan landscape of most other places and so I am quite pleased with that.

My likelihood of using Free Pascal and Lazarus has only increased since when I made my first thread, especially as I've had a few more ideas for how I could use it and a way I could structure things to reduce the potential impediments of doing so. It would be great to have a low level backend like Pascal, considering its performance is very similar to C and proper native compilation is basically enough as long as one's algorithms are good, etc. More software should be snappy and responsive and native compilation is an important factor in that.

I've also been thinking that it will also be wise to simultaneously experiment with whatever the most flexible language I can find is on the side too, so that I can keep my perspective broadened when designing my own stuff and just for general use. I've in the past messed with Racket in that respect and still use it as a desktop calculator (which it is great for, by the way), but Common Lisp seems to potentially be even more conceptually expressive since it is less ideological about structure (e.g. allows imperative C-like loops more easily and directly and naturally) and so currently I am thinking I'll learn and use some Common Lisp on the side in addition to FP to stay fresh and imaginative while I work on FP projects, or something like that. That seems like it may be a good plan on balance. So, that's my current trajectory/strategy now.

I still have an eye on Free Basic and also any languages that arise that resemble Visual Basic -like syntax (because it is more logically consistent and aesthetically pleasing than QBasic derived languages) and such, but FB is not as mature as FP and Laz as far as I can discern (correct me if I'm wrong). There are some GUI builders available for Free Basic too, but they are possibly more scattered and unmaintained and less polished, though I haven't looked into it much so I could be wrong. I have already spent much too much time in my life drifting between languages though, and I need to be practical and Laz and FPC are very practical, indeed the best overall for GUIs especially that I can see right now given my goals.

I've had several good ideas the past few days and so I am excited for the future on this, regardless of whichever of my project ideas I move forward with first (whether a language, a tool, or a game, etc)!

I am currently reading Free Pascal From Square One (which was recently updated according to the author's site) and the writing is good but the pace is slow considering I'm experienced in other programming languages and in software, so I'm probably going to speed up my pace of reading it some to get to more impactful learning material soon. After that my next relevant book will probably be the small ~24 page free one on Lazarus GUIs by Adnan. I also was considering pre-ordering the Lazarus Handbook set today, but I should probably do the basic free books first to make sure.

In any case, exciting stuff! Thanks you all for sharing so many interesting thoughts and your insights into some of the things I mentioned and have a wonderful day/night!
« Last Edit: October 08, 2025, 03:02:03 am by WraithGlade »

threedslider

  • New Member
  • *
  • Posts: 24
I still have an eye on Free Basic and also any languages that arise that resemble Visual Basic -like syntax (because it is more logically consistent and aesthetically pleasing than QBasic derived languages) and such, but FB is not as mature as FP and Laz as far as I can discern (correct me if I'm wrong). There are some GUI builders available for Free Basic too, but they are possibly more scattered and unmaintained and less polished, though I haven't looked into it much so I could be wrong. I have already spent much too much time in my life drifting between languages though, and I need to be practical and Laz and FPC are very practical, indeed the best overall for GUIs especially that I can see right now given my goals.

FreeBasic is cool, I have tested it too but much incomplete to 64 bit from lib, so i give it up ! %). Lazarus is much more stable and much more thing to work with as console, gui, games, graphics etc ... Lazarus is super cool for programming ! It support more to machines ! :D. So take it and you will be happy to create your own programs ^^

Happy coding !

Wilko500

  • Full Member
  • ***
  • Posts: 180
I have very much enjoyed reading the comments on this post.
I started programming back in the dark ages, Z80 assembler, several flavours of basic, Fortran, TP, Visual Basic and occasion forays into COBOL, Lisp and Python. Pretty much whatever it took to get the job done!
That was work. In my spare time I developed on VB6 on Win 7 and it was the difficulty in getting VB6 to run on newer platforms and MacOs in particular that lead me to FPC/Lazarus.
I was driven to “convert” my working VB6 apps to FPC and while that brought some interesting challenges very early on I think that looking back it was not a good way to learn a new language. Even now I struggle to avoid thinking in VB and in getting to grips with OO.
To that end I offer huge thanks to the members of this forum for help and assistance as I learn.
The more I learn about FPC/Laz the more I realise that I have a long way to go. I look forward to a time when I can make a greater contribution to the forum through greater understanding.
Thank you all
MacBook Pro mid 2015 with OS Monterey 12.7.6
FPC 3.2.3 Lazarus 3.7
FPC 3.2.2 Lazarus 3.4

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 1329
  • Professional amateur ;-P
Hey WraithGlade,

My likelihood of using Free Pascal and Lazarus has only increased since when I made my first thread, especially as I've had a few more ideas for how I could use it and a way I could structure things to reduce the potential impediments of doing so. It would be great to have a low level backend like Pascal, considering its performance is very similar to C and proper native compilation is basically enough as long as one's algorithms are good, etc. More software should be snappy and responsive and native compilation is an important factor in that.

You should definitely have look at the Object Pascal's version of the 1 Billion Row Challenge: https://github.com/ObjectPascal-Community/1brc-ObjectPascal

Around ~13 GiB of rows, read, parsed and displayed in under 2 seconds on my personal machine :D
But under a second on big iron !!

Have a look at the result table. And the link with the experiment by paweld on big iron that got us under a second.

Cheers,
Gus
Lazarus 4.99(main) FPC 3.3.1(main) Ubuntu 25.04 64b Dark Theme
http://github.com/gcarreno

 

TinyPortal © 2005-2018