Recent

Author Topic: Long-term prospects of FreePascal and Lazarus?  (Read 4970 times)

el3ctrolyte

  • Guest
Long-term prospects of FreePascal and Lazarus?
« on: October 18, 2021, 05:26:28 pm »
I do not mean to demotivate anyone, and this is an uncomfortable question to ask. But i think it is an important question. What are the long-term prospects of FreePascal and Lazarus?

(Object) Pascal isn't a very popular language and there is no effort to promote it at all. As far as i know, all the main devs (of freepascal at least) were in university in the 90's which mean they are now all about in their 40's -50's. What happens when they stop maintaining freepascal and lazarus? I guess it might be thinking too far ahead, but still, freepascal and lazarus isn't very popular and there is no effort to promote it. When i look at some of the libraries that are available in FreePascal, i see a lot of unmaintained stuff, which just tells me that the current community isn't big enough for projects to be taken over by someone else or to be forked or something. I am just worried that FreePascal and Lazarus might suffer the same fate one day (still a long time from now, but still).

So to sum up:
  • What are the long-term plans/prospects of FreePascal and Lazarus?
  • Why is there no effort to promote FreePascal and Lazarus?
  • What is being done to get FreePascal and Lazarus to be more popular?

I am asking in good faith and i do not mean to demotivate anyone. :)

devEric69

  • Hero Member
  • *****
  • Posts: 648
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #1 on: October 18, 2021, 06:04:57 pm »
We can always go to learn to program with Python, for example (a language with a bright future, since it's number 1 according Microsoft-GitHub, and then, eventually come back here to ask how to easily create compiled and professional softwares targeted for this or that processor x operating system combination) :D .
use: Linux 64 bits (Ubuntu 20.04 LTS).
Lazarus version: 2.0.4 (svn revision: 62502M) compiled with fpc 3.0.4 - fpDebug \ Dwarf3.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11382
  • FPC developer.
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #2 on: October 18, 2021, 06:18:02 pm »
I do not mean to demotivate anyone, and this is an uncomfortable question to ask. But i think it is an important question. What are the long-term prospects of FreePascal and Lazarus?

Compared to what?  And for what purpose ?  I think in general your case is too vague and general. Yes, other languages are more likely to survive in one form or another on the extremely large timescale, but the chances that an application written now in those alternate languages will still be usable in 5,10,15 years is not great either. Just look at the current Python2 to Python3 migration that took half a decade (and the problem is not just the rewrite, but actually finding one that will dive into your decade old mess of an app. Even if the actual fix is trivial, finding the spot(s) is the problem)

IOW if a label (like a "curly braces" alike language) doesn't really buy you survival of your particular app, because most apps use more than the most common subset of a language in the most naive way.

Delphi and Lazarus have been declared dying since 2000. But if I changed tack any alternate way in the 2000s to .NET, Java, Python etc, they all had very major changes, and applications won't run outright.

Yet still, my 2000-2005 era D7 and FPC apps still work. If I had believed the doomsayers back then, I would have invested in alternatives that in retrospect had caused me more grief than just keeping my money in my pocket and staying with FPC/lazarus/delphi.  The only exception might have been C++ and MFC, but that still isn't portable in that way, and probably never will. Moreover, Microsoft essentially declared it dead initially when .NET(2) came out, and only relented in the 2008-2010 timeframe.

Sure Delphi changed to unicode, but I fixed my core apps for that in 3 weeks( though I must note that in that era I was weary of copy-and-pasting D7 assembler code "just because it is faster", because I experimented with FPC and x86_64 and multi target)

Quote
(Object) Pascal isn't a very popular language and there is no effort to promote it at all. As far as i know, all the main devs (of freepascal at least) were in university in the 90's which mean they are now all about in their 40's -50's.

Guido van Rossem is from 1965 and still the Python leader. Should we drop Python ? :-)

Quote
What happens when they stop maintaining freepascal and lazarus?

Same that happens if any other language changes tack and invalidate your apps. You adapt. 

Quote
I guess it might be thinking too far ahead, but still, freepascal and lazarus isn't very popular and there is no effort to promote it. When i look at some of the libraries that are available in FreePascal, i see a lot of unmaintained stuff, which just tells me that the current community isn't big enough for projects to be taken over by someone else or to be forked or something. I am just worried that FreePascal and Lazarus might suffer the same fate one day (still a long time from now, but still).

There simply are no outright guarantees. Microsoft invalidates PC from before 2018 with Windows 11, and Apple is going through its 5th architecture change. Be very careful to not confuse labels that survive (like "Windows" or "C++") with the survival of actual application formats.

Quote
So to sum up:
  • What are the long-term plans/prospects of FreePascal and Lazarus?
  • Why is there no effort to promote FreePascal and Lazarus?
  • What is being done to get FreePascal and Lazarus to be more popular?

  • continue
  • Not much hope on success. Most major languages are introduced or adopted by large IT vendors, and usually quite long ago (most <2000). Some newer boutique languages pop up with newer fields (like e.g. AI and statistics (R)) but very few make it. Trying to make huge inroads by marketing is next to pointless, and the resources can be better invested in the tools themselves. Even many languages hyped for a while go silent after a period.
  • Make the tools more mature. If you don't have a stage to promote it, make sure it is simply excellent

Quote
I am asking in good faith and i do not mean to demotivate anyone. :)

You are not the first. If you are in an heavily IT centered industry, Pascal might not be your primary choice. It is then usually better to align with the chosen tools, because if you don't, you constantly have to defend it.

Also keep in mind that it might be more productive to not do everything with one language. Specially if your primary target is some javascript webapp or must be Java/.NET/whatever due to company policies, remember that there is some nice free language that is long term stable to do your small tooling :-)
It happens. I also worked at a .NET shop for a few years, though even then, most programmers there still made little inhouse tooling in Delphi.

Anyway, if you take anything away from this lengthy reply, is that you have to consider everything attached to an application for long term compatibility, and not offset a complete application platform like Lazarus against a label that only signifies some generic concept of a language,  but may evolve and morph in incompatible ways, and ditching the libraries that you use)
« Last Edit: October 20, 2021, 11:35:16 am by marcov »

jollytall

  • Sr. Member
  • ****
  • Posts: 306
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #3 on: October 18, 2021, 06:28:43 pm »
A very good question. Unfortunately I lost my crystal ball, so I cannot answer it.

What I know is, that I am/was/am a die hard pascal user.

I used Turbo Pascal/Delphi for decades, but when I changed to Linux both on Desktop/Server and things like rPi, I needed some other Pascal, so I went for FPC and on PC, Lazarus. I think it is a great system and should have a long future.
This is why I can say continuously that I AM a die hard user.

On the other hand I faced big problems.
There are applications, libraries that have no Pascal interface. I personally had problem with my broker (while on Windows I could at least use COM), Tensorflow and more recently OpenCV. I tried many things, but in the current infrastructure it is almost impossible to use them (at least smoothly).
Cooperation with others is difficult. My son and others of his age just laugh on Pascal (without even checking it!).
So at one point I decided to change over to C++. Some of my largest projects I rewrote to C++ and even some new projects I started there. I must admit it was easier than I though, good libraries, large community, etc.
So, at that point I though I only WAS a dies hard Pascal fan.

All these projects were single OS, command line / daemon programs. Then I wanted to make a small GUI application and I faced again problems. I did not need to have multi OS, but I can imagine problems there as well. So I wrote that again in Lazarus.
And now I can again say that I AM a dies hard user.

The problems I see around Pascal are as follows:
- Bad reputation: It is from the '70s, '80s, not a modern language.
This should be changed, though I do not see, how. Strangely noone calls C++ old. Maybe they were smarter giving object C a new name. In Pascal we always say Pascal (maybe Lazarus but only we know what it means), and never call it Object Pascal or Pascal++. In the C world they always correct you, if you dare to call C++ simply C. C is old fashioned, C++ is modern, is the belief. Python also makes a clear distinction of Python3 vs. Python2. It seems the problem of Pascal is what is actually one of its largest benefits; having a smooth and constant improvement with lots of backward compatibility.
- Smaller library base: See above the comments on different applications.
I think this is almost impossible to change. If google does not make a Tensorflow interface for Pascal, then there will not be a really good one. We can surely make something (I made some efforts, see on Github), but it is difficult. The other option would be, and I would recommend at least to think about it, to add a language extension to link C++ libraries to FPC. Embarcadero made something like this with Delphi and C++ Builder. I made some efforts and even within the current structure I could make a C++ class mapped to Pascal, as long as there was no virtual method in it. VMs killed my project, but probably someone with a better understanding of the compiler could write a new "extern", "cdecl" like extention for "c++decl" that would make .o files that are linkable to a c++ generated .o file. (I know that every C++ compiler makes a different logic (like name mangling, ABI, etc.), but at least it could be said that G++ Stdxx is linkable from FPC.)
- Publicity: As you correctly say, Lazarus has no marketing. And this is the million dollar question, I do not know if someone can ever answer (or to be more precise, give the million dollar).

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1313
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #4 on: October 18, 2021, 06:54:44 pm »
I have the same experience as marcov: most Borland Pascal win32 apps and higher still work. Most of the other software I wrote during that time, doesn't. Prerequisites, dll's and other components that aren't available anymore in the right version, Microsoft changing the platform too often, etc.

The main reason they stop working is that much of it is migrating to Linux, not the development platform. And most can be recompiled, with some minor changes.

I think Object Pascal is a very modern language. Most of the things you cannot do are like that for a reason. You have interfaces, generics, you can add methods to just about anything and it runs on just about any platform.

If you want to make a database application, nothing beats it. If you want to run your code in a browser or do something low-level, we have it covered.

So, while other programming languages are popular for a while for a specific niche, for the serious stuff you basically have the choice between Free Pascal and C++. Like, writing the libraries the others need to do all that low-level stuff.

PascalDragon

  • Hero Member
  • *****
  • Posts: 5446
  • Compiler Developer
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #5 on: October 19, 2021, 09:10:28 am »
As far as i know, all the main devs (of freepascal at least) were in university in the 90's which mean they are now all about in their 40's -50's.

Ehm... I did my Masters Degree in 2013... :-X

VMs killed my project, but probably someone with a better understanding of the compiler could write a new "extern", "cdecl" like extention for "c++decl" that would make .o files that are linkable to a c++ generated .o file. (I know that every C++ compiler makes a different logic (like name mangling, ABI, etc.), but at least it could be said that G++ Stdxx is linkable from FPC.)

*cough* cppdecl *cough* cppclass *cough*

(though being able to call existing, real world C++ code is much more than just the calling convention)

loaded

  • Hero Member
  • *****
  • Posts: 824
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #6 on: October 19, 2021, 10:11:52 am »
It was a strange twist of fate, I knew too late.
It was like finding gold while walking down the street. I was so happy.
The day I met Lazarus was a milestone for me.

When I look around;
I've always had the impression that people who use Lazarus are inquisitive, looking to try something new.
So they found Lazarus with their own labor.

What I understand here is that the biggest problem of Lazarus is;
Due to the fact that the age we live in is "ADVERTISING" and "PHYSICAL APPEARANCE FOCUSED", unfortunately, it is the victim of PREJUDICE and the absence of a sympathetic face that will reach the relevant masses.

Or that people who use Lazarus unfortunately do not hold an official position in their society. Otherwise, it could have been easily given as a course in the Education Curriculum, or at least it could have been made aware of its existence in a topic.
(you can correct me if I'm wrong. I respect it)

E.g;
Even in the Education and Software industry, most people don't know about Lazarus...

Currently, the applications we wrote in Lazarus on Win10 and Android 8.1 are working perfectly...

My impression from here;
Lazarus is a superhero who walks around in ordinary clothes.
He's no ordinary guy dressed in a superhero suit like the others.
For this reason, those who are friends with him will know about him, others will unfortunately be deprived of such a beauty...
« Last Edit: October 19, 2021, 10:25:59 am by loaded »
Check out  loaded on Strava
https://www.strava.com/athletes/109391137

winni

  • Hero Member
  • *****
  • Posts: 3197
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #7 on: October 19, 2021, 11:09:40 am »
Even in the Education and Software industry, most people don't know about Lazarus...


Hi!

Server for education in Saxonia (Germany):

https://www3.sachsen.schule/matdb2/index.php?action=articleview&c=1125&a=384&PHPSESSID=v55ds3nd5lk65uu8ajo7pek8k2

Winni

kupferstecher

  • Hero Member
  • *****
  • Posts: 583
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #8 on: October 19, 2021, 12:54:01 pm »
As far as i know, all the main devs (of freepascal at least) were in university in the 90's which mean they are now all about in their 40's -50's. What happens when they stop maintaining freepascal and lazarus?
For that I don't worry. What I actually worry, is that the desktop OS market becomes more cluttered and restricted. Lazarus on Android already needs a seperate widgetset. So OS changes could destroy the portability. (But that is not a todays issue.)

jollytall

  • Sr. Member
  • ****
  • Posts: 306
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #9 on: October 20, 2021, 09:50:57 am »
*cough* cppdecl *cough* cppclass *cough*

(though being able to call existing, real world C++ code is much more than just the calling convention)

Thanks for the links. I was not aware of this. So far I read everywhere that C++ access is not possible, only flattened C. I am glad to have this.
If we also had virtual methods "fixed" (maybe that is also something I know wrong though), it would give an enormous boost to the usability i mixed environments.

PascalDragon

  • Hero Member
  • *****
  • Posts: 5446
  • Compiler Developer
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #10 on: October 20, 2021, 10:03:52 am »
Thanks for the links. I was not aware of this. So far I read everywhere that C++ access is not possible, only flattened C. I am glad to have this.
If we also had virtual methods "fixed" (maybe that is also something I know wrong though), it would give an enormous boost to the usability i mixed environments.

As said, it's not that easy. There are use cases where this can work (e.g. the AVR one I quoted), but many more where it will simply never work with reasonable effort. In those cases an utility that can generate a wrapper (like SWIG) is preferred. Even now cppdecl can't generate all required mangled names.

El Salvador

  • Full Member
  • ***
  • Posts: 134
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #11 on: October 20, 2021, 10:40:57 am »
Sorry if I enter the discussion in this way, but the future of the development of Lazarus which will be or rather the direction for which the development will move (roadmap)?

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #12 on: October 20, 2021, 01:36:39 pm »
Sorry if I enter the discussion in this way, but the future of the development of Lazarus which will be or rather the direction for which the development will move (roadmap)?
It depends on the voluntary developers. Anybody who contributes to the project is counted as a developer. Maybe you want to contribute, too.
« Last Edit: October 20, 2021, 08:55:11 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

glorfin

  • Full Member
  • ***
  • Posts: 148
  • LMath supporter
Re: Long-term prospects of FreePascal and Lazarus?
« Reply #13 on: October 21, 2021, 02:51:15 pm »
Number of new developers depends on the nuber of users. And here comes the question: how do we envision who are our users? This is important, because it defines the vector of language and libraries development.

It is unrealistic to think that Pascal will become a major enterprise language in a forseen future. In my view, it is great (probably still the best possible) language for at least initial education and it is a great language for hobby/scientific programming. Very clear and simple syntax, strict static typing - this is what is needed for education. Well, I think, it is good for all purposes of programming, but many people in hobby field prefer, for unknown reason, dynamic typing. 

However, for initial education one would need probably somewhat different IDE. Lazarus with OOP and event-driven programming is great for RAD, but it hides a structure of a program a a whole: one sees only bundle of seemingly unrelated event handlers. One could use of course good old text-mode IDE which comes with Free Pascal itself, but for modern world text-mode IDE is probably too spartan. What else would be great for initial education is a simple graphical library - because children like graphics :)

Now, we, scientists, often need to write programs for some very specific calculations or data aquisition from some rather specific instruments, and it is often easier to write own application than adapt something existing. For this group of users one would need powerful numeric libraries, good graphics for data visualization, and possibly easy means to communicate with hardware. Unfortunately, at least with numeric libraries and specific scientific graphics we are far behind Python.

So, what is needed (in my view), are: comfortable IDE for writing whole programs with easy graphics for children; powerful numeric libraries; scientific graphics. It would be useful to have interoperability with fortran (which is a difficult task because of different matrix format: row first in Pascal and column first in Fortran), but it would give immence advantages for both languages, because fortran has a lot of very efficient numeric libraries and nice means to work with arrays, but practically no graphics or means for buiding GUI, while Pascal with Lazaus allows to make GUI and has already some means for visualization.   

 

TinyPortal © 2005-2018