Recent

Author Topic: Practical Ways to Help Lazarus and Free Pascal Thrive?  (Read 6784 times)

silvercoder70

  • Full Member
  • ***
  • Posts: 192
    • Tim Coates
Practical Ways to Help Lazarus and Free Pascal Thrive?
« on: May 08, 2025, 11:13:02 am »
Over the past year(s), a question on the popularity of the language pops up in discussions — like the question on the FPC mailing list about how to attract more users, and more recently on the forums: “Why isn’t Lazarus / Free Pascal more popular?” These are valid concerns (seriously), but the conversations  (in my opinion) tend often drift into retrospectives or unproductive comparisons.

To help us move toward a more positive and constructive direction — one that’s focused on growth and the future — maybe it’s time to reframe the question, to something like:

“What realistic and community-driven steps could we take to grow the Lazarus / Free Pascal ecosystem and make it more welcoming to new developers?”

I’d love to hear your ideas — what’s one thing you think we could do, build, or improve that would make a real difference for new or returning users?

(And perhaps use this thread to collect constructive, forward-thinking suggestions that could help shape the next chapter for Lazarus and Free Pascal.)
🔥 Pascal Isn’t Dead -> See What It Can Do: @silvercoder70 on YouTube

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 11487
  • Debugger - SynEdit - and more
    • wiki
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #1 on: May 08, 2025, 11:57:15 am »
Well here are a few ideas...

1) Contribution: E.g. to documentation, maintaining the wiki, ... An up to date representation will certainly help people. Also translations.

2) Represent on all sort of social media.
Including viewers/readers needed, that then make the posts popular and relate them to other posts.
E.g. on youtube: comment to help the popularity of a video. Watch other already popular videos on other programming backgrounds, that come up as suggestions when viewing fpc/lazarus, so youtube gets the "viewers of this also watched". (No I don't know how youtube does the association...)

3) Help with sending announcements to local media (and internet media/magazines)
Most computer magazines would happily (and free of charge) print an release announcement. If only they were given it. That may need some coordination. But this is also an international effort (as each country has its own media).
Not sure if internet media will take such contributions too.
This requires some skill in writing those announcements.



Thaddy

  • Hero Member
  • *****
  • Posts: 17476
  • Ceterum censeo Trumpum esse delendum (Tnx Charlie)
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #2 on: May 08, 2025, 12:09:32 pm »
Write killer apps, like e.g. doublecommander which is quite popular in the Linux community and advertises Freepascal at startup.
« Last Edit: May 08, 2025, 12:13:00 pm by Thaddy »
Due to censorship, I changed this to "Nelly the Elephant". Keeps the message clear.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 11487
  • Debugger - SynEdit - and more
    • wiki
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #3 on: May 08, 2025, 04:17:28 pm »
How can something thrive when it’s nearly impossible to find other people interested in it to talk to outside of one forum? I remember when many people thought pascal was great and liked to talk about it. Not anymore. Nobody cares.

There are plenty of people who talk, chat, do, meet, and more.
It may not be broadway right now, but its out there, very much alive.

440bx

  • Hero Member
  • *****
  • Posts: 5596
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #4 on: May 08, 2025, 06:01:23 pm »
“What realistic and community-driven steps could we take to grow the Lazarus / Free Pascal ecosystem and make it more welcoming to new developers?”
I think that's the right question to ask.

Amazingly, I agree with Thaddy's take on this one. 

A hard core killer app written in FPC.  An app that would attract hard core programmers towards Pascal.  That's not easy to create.

From the viewpoint of someone continuously peeking into Windows internals, removing some problems would be enormously helpful (not only to me but to anyone else who likes peeking into the internals.)  Among other things:

1. turn off FPC's assumptions that "var" means an input value.  That often causes hundreds of worthless messages to be emitted by the compiler that get in the way of noticing important messages.  That one is the biggest _continuous_ FPC annoyance.

2. Sensible and complete way of aligning records and their fields.  What FPC provides, pretending it works (I've never figured out how that stuff is supposed to work, again, presuming it does) is the most counter intuitive facility I've seen in any programming language (it's trivial to do it in C, why isn't it as simple and easy in FPC ????)

3. A complete, _accurate_ and polished set of API definitions.   That's a BIG problem for programmers that walk away from C/C++ because the ONLY set of API definitions that is reasonably complete and accurate are those provided by MS and, not surprisingly, they are C headers.   For someone like me, it means continuously updating the API definitions in order to have a usable set for what I do (Windows internals.)  Corollary of that, include undocumented functions (they don't hurt anything nor anyone.)  Many programmers are aware of Process Hacker/System informer because it provides the most complete set of definitions of undocumented APIs.

4. For the love of common sense, add a sensible keyword to define static variables.  It is _embarrassing_ to "explain" to someone interested in Pascal that static variables are "writable constants".  If there ever was a way of making a first BAD impression, that is probably it.

5. FPC is "rather loose" in some areas.  I won't elaborate because I've already done so in the past and FPC users seem more interested in protecting their beloved compiler than logical and mathematical accuracy.  That is significant problem because many programmers are not inclined to deal with the resulting nonsense not to mention the programming problems those things create.  I feel that I owe at least one example: in many cases FPC makes assumptions about the values that variable may have based on its type _and_ if the programmer adds code to _ensure_ the variable's value is in the proper range, the compiler flags the code as "unreachable".  You can place an invalid value into a variable and have code that checks the range and what happens is: the invalid value is accepted and the code that verifies there are no invalid values is discarded (just what a programmer needs!)

Back to the positive stuff...

Yes, a hard core killer app would definitely help.  I got one in the back of my mind that I occasionally work on but, other people who have done that app have taken over 30 years to develop it and/or benefit from having a team of superbly knowledgeable and qualified people working on it.  That's tough to match and tougher to exceed.  Not going to happen but, it's my pipe dream and it's free, what's unfortunate is, it's rather unlikely I'll provide the helpful killer app.
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v4.0rc3) on Windows 7 SP1 64bit.

Thaddy

  • Hero Member
  • *****
  • Posts: 17476
  • Ceterum censeo Trumpum esse delendum (Tnx Charlie)
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #5 on: May 08, 2025, 06:32:49 pm »
@Joanna,

There are also quite a few Delphi forums. Many have either Lazarus/FPC sections
Example: delphi-praxis German and English sections and with separate content. So actually two forums in one.
Many of us also visit the above.

English:
https://en.delphipraxis.net/

I believe there is a list somewhere in the wiki.

German:
https://www.delphipraxis.net/       Very active!
« Last Edit: May 08, 2025, 06:34:56 pm by Thaddy »
Due to censorship, I changed this to "Nelly the Elephant". Keeps the message clear.

JD

  • Hero Member
  • *****
  • Posts: 1907
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #6 on: May 09, 2025, 01:53:43 am »
Write killer apps, like e.g. doublecommander which is quite popular in the Linux community and advertises Freepascal at startup.

Add PeaZip to that. It is also a Lazarus/FPC application. TotalCommander 64bit was also written in Lazarus/FPC. HeidiSQL for Linux is a BIG step in that direction.
« Last Edit: May 09, 2025, 02:02:43 am by JD »
Linux Mint - Lazarus 4.0/FPC 3.2.2,
Windows - Lazarus 4.0/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

JD

  • Hero Member
  • *****
  • Posts: 1907
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #7 on: May 09, 2025, 02:01:33 am »
How can something thrive when it’s nearly impossible to find other people interested in it to talk to outside of one forum? I remember when many people thought pascal was great and liked to talk about it. Not anymore. Nobody cares.

Some other forums designed around a specific library/application using Lazarus/FPC that I know of are the Indy forum, the mORMot forum and the CodeTyphon forum. There are others, in German, Portuguese, French that I've seen and consulted when I needed solutions. One particular package I used back then came from a guy in Japan. The Lazarus/FPC user base is widely dispersed. This is the HQ, but many others exist.
Linux Mint - Lazarus 4.0/FPC 3.2.2,
Windows - Lazarus 4.0/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

dbannon

  • Hero Member
  • *****
  • Posts: 3425
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #8 on: May 09, 2025, 02:19:27 am »
Joanna, most people here want this to be a technical forum, not a social one. I love Pascal, I really enjoy using it, I think its great. But I don't want to sit around, perhaps beer in hand and say to someone, "now, let me tell you about typed constants" - its just not what this forum is about.

I understand you are seeking a social outlet, but it appears what you want just does not exist. Not with Pascal as its foundation. I strongly suggest you continue programming with Pascal but develop some other interest as well that can be the base for a social interaction.

Thaddy, I make an app (definitely not the killer app) that does credit FPC/Lazarus at startup. Strongly suggest other people with apps available to the general public do the same. A small, clear (and eventually recognizable) logo would help IMHO.

And a credibility issue with FPC releases ? FPC3.2.2 is almost four years old. People in the software community see that as an indication the project has lost its way. I point out the frequent and innovative release of Lazarus but they just shrug and say, "not worth the risk of committing to something that appears inactive"  (inactive being the other person's word, not mine).

Davo
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

JD

  • Hero Member
  • *****
  • Posts: 1907
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #9 on: May 09, 2025, 02:25:55 am »
Adding to what others, like @440bx, @Thaddy, @Martin_fr, have mentioned earlier, I believe we need to show how Lazarus/FPC can be useful in a modern software application stack (no AI for now). It is becoming more and more rare to use only one language in the entire stack. We now mix and match languages whether we like it or not.

Desktop applications aside because Lazarus/FPC and Delphi can hold their own there, we'll need examples/applications in the Web/Mobile space too. I remember a CIO who was interested in an application I developed but dismissed it because he wanted something web/mobile ready, because he did not want to worry about the end user's device. As more and more people prefer their phones and tablets, they expect their applications to work on those devices too. That is the challenge we face.
« Last Edit: May 09, 2025, 02:37:49 am by JD »
Linux Mint - Lazarus 4.0/FPC 3.2.2,
Windows - Lazarus 4.0/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

Khrys

  • Sr. Member
  • ****
  • Posts: 260
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #10 on: May 09, 2025, 07:33:31 am »
4. For the love of common sense, add a sensible keyword to define static variables.  It is _embarrassing_ to "explain" to someone interested in Pascal that static variables are "writable constants".  If there ever was a way of making a first BAD impression, that is probably it.

I completely agree, "writable constant" is a hilarious oxymoron... too bad it's the official terminology  :o
I think it's too late to "fix" this (for compatibility's sake), so for now I'm going to stick to this macro:

Code: Pascal  [Select][+][-]
  1. {$macro on}
  2. {$define staticvar := const}
  3.  
  4. function Sequence(): Integer;
  5. staticvar
  6.   Number: Integer = 0;
  7. begin
  8.   Result := Number;
  9.   Inc(Number);
  10. end;

It could only interfere if you were to use "staticvar" as an identifier somewhere (unlikely) or cause confusion if used for actual (untyped) constants. It follows the naming convention of the existing  threadvar  keyword and IMO just fits right in - I even added it to my user-defined markup settings in Lazarus so it looks like an actual keyword  :D

CM630

  • Hero Member
  • *****
  • Posts: 1451
  • Не съм сигурен, че те разбирам.
    • http://sourceforge.net/u/cm630/profile/
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #11 on: May 09, 2025, 09:55:53 am »
Write killer apps, like e.g. doublecommander which is quite popular in the Linux community and advertises Freepascal at startup.
Maybe someone with art skills can make one or more logos “Made with Lazarus”?
Tero subtitler (previously a Delphi app) seems to be popular, I would ask the dev to put some info about Lazarus.

And since Double Commander is mentioned... an excellent app, possibly without an alternative for Linux, but am I the only one who finds it too ugly?
Лазар 4,0 32 bit (sometimes 64 bit); FPC3,2,2

JD

  • Hero Member
  • *****
  • Posts: 1907
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #12 on: May 09, 2025, 10:30:56 am »
And since Double Commander is mentioned... an excellent app, possibly without an alternative for Linux, but am I the only one who finds it too ugly?

Choose your commander! I went from TotalCommander to FreeCommander to DoubleCommander. I've also used MultiCommander. None of them looks very good visually, but I really appreciate the usefulness they bring.

The funny thing is I believe ALL of the above were written in Delphi or Lazarus/FPC.
Linux Mint - Lazarus 4.0/FPC 3.2.2,
Windows - Lazarus 4.0/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

Thaddy

  • Hero Member
  • *****
  • Posts: 17476
  • Ceterum censeo Trumpum esse delendum (Tnx Charlie)
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #13 on: May 09, 2025, 10:43:32 am »
Yes, I believe that too. All of them have plusses and minusses, but I happen to like double commander and its author is active on this forum, which is a pre.
Due to censorship, I changed this to "Nelly the Elephant". Keeps the message clear.

silvercoder70

  • Full Member
  • ***
  • Posts: 192
    • Tim Coates
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #14 on: May 09, 2025, 10:44:21 am »
@Martin_fr,

Regarding item 2. How YouTube does things is anyone's guess. As far as recommended videos are concerned, I can have videos from 3 unrelated categories pop up. Otherwise,I would love to be able to do some videos with users from the community here to talk the about the language and/or how they use it, share some of their skills/knowledge.

Regarding item 3. I would like to help there.

@Thaddy,

I wanted to do a video on doublecommander at one time. Cannot remember what stopped me at the time.

@Joanna,

I get the frustration. It is the same in my neck of the woods so I look outside and started something on YouTube.

@440bx,

Yes! :)

@dbannon,

On Credibility. I hear you and have my own thoughts here which is too long to put here. Hopefully I will remember later, but it takes time and people to help.

@JD,

Thanks for the other apps to look at :)

@CM630,

I'm not much of an artist in that respect... someone else would have to look at that.

🔥 Pascal Isn’t Dead -> See What It Can Do: @silvercoder70 on YouTube

 

TinyPortal © 2005-2018