Recent

Author Topic: The future of Free Pascal  (Read 228534 times)

ykot

  • Full Member
  • ***
  • Posts: 141
Re: The future of Free Pascal
« Reply #150 on: May 12, 2016, 09:55:13 pm »
Stumbled upon Free Pascal is very super mega ultra underrated. post few days ago, which seems relevant to this discussion.

C++ is а problematic, dead-end bloated language. ...
Why nobody seems to bother arguing with this nonsense? This kind of fanboyism and kind of religious bias towards is what shrinks this community even more.

When Delphi first appeared, the whole RAD approach coupled with a relatively sufficient language made it quite popular decades ago, but currently many other languages are quite enough and there are plenty of UI/RAD solutions out there. Really, there is nothing wrong with using C#, C, C++, Java or any other language these days (e.g. Swift) for application development and each of them, coupled with a huge collection of frameworks and libraries, are enough to work even on most challenging projects. Delphi, FreePascal / Lazarus work just fine as well, but since "Pascal" community is so small, it's difficult to convince companies and crowds to use a language that is unpopular and doesn't offer any significant benefits; in fact, at this point, no such language can possibly appear - existing languages already cover most needs, except, perhaps, for growing areas such as GPGPU, parallel computing, etc. - but these are pretty much saturated as well.

In this case, I think Lazarus as an IDE along with its LCL is the strongest bone. If Lazarus would switch to support C/C++ and LCL would be ported to that language as well - this, I think, *would* make it a killer product, at least for now. Designing UI outside of Delphi/Lazarus domain, although has become much easier, is still painful at times.

For instance, I can't help but to read posts regarding BGRABitmap with a bit of nostalgia attached to it - just to think of the things you could do in Delphi with TBitmap.Scanline some almost 20 years ago (and let's not forget about Graphics32 component too), and the whole thing of displaying more than 256 colors on the screen after DOS (please don't get me started with VESA) - these were some glorious days back then. I still remember walking like for two hours under the snow just to buy my first 3dfx Voodoo (was in Canada at that time) - it was so exciting! (Among many GPUs, Voodoo3, was the most exciting and pleasant to work/experiment with).

However, as almost every IT specialist who is old enough, would likely to experience this, even multiple times during lifetime, in computer world we have to realize that technologies that were so glorious many (and sometimes, maybe just few) years ago may become obsolete and we have to, un-learn and re-learn something entirely from scratch - and not necessarily because new tech is better than old one, but it's just happens. I'm not saying that this is necessarily going to happen (completely) with Delphi/FPC/Lazarus that some/all of us are using, but IMHO it's a tendency that becomes difficult not to see.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: The future of Free Pascal
« Reply #151 on: May 12, 2016, 10:57:37 pm »
In this case, I think Lazarus as an IDE along with its LCL is the strongest bone. If Lazarus would switch to support C/C++ and LCL would be ported to that language as well - this, I think, *would* make it a killer product, at least for now. Designing UI outside of Delphi/Lazarus domain, although has become much easier, is still painful at times.

Yeah, just like how BCB killed Visual Studio. NOT.

ykot

  • Full Member
  • ***
  • Posts: 141
Re: The future of Free Pascal
« Reply #152 on: May 12, 2016, 11:26:23 pm »
Yeah, just like how BCB killed Visual Studio. NOT.

Actually, I meant adapting Lazarus to edit C/C++ sources (it already is capable of doing so, just adding code folding, code completion based off clang, for instance, etc.) and porting LCL to C++, using combination of GCC, Clang and MSVC. This would be kind of similar to CodeLite/Code::Blocks with wxCrafter, but using Lazarus as editor and LCL instead of wxWidgets. I didn't mean creating new compiler out of FPC to be kind of FreeC++ :)

BCB was actually a very smart move and I personally know several people who use it professionally for scientific projects. But how would you expect it to "kill" Visual Studio, when the latest one is provided by the same OS manufacturer? The whole idea is just ridiculous. It's kind of expecting Apple to discontinue XCode and adopt Delphi as their main dev tool.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: The future of Free Pascal
« Reply #153 on: May 12, 2016, 11:52:36 pm »
BCB was actually a very smart move and I personally know several people who use it professionally for scientific projects. But how would you expect it to "kill" Visual Studio, when the latest one is provided by the same OS manufacturer?

Because exactly the same would happen to its open source equivalent. Lazarus and FPC are developed in tandem, and to my best knowledge C++ needed both extension and careful alignment to work with VCL.

Neither of which is going to work with gcc or llvm. 

ykot

  • Full Member
  • ***
  • Posts: 141
Re: The future of Free Pascal
« Reply #154 on: May 13, 2016, 12:49:27 am »
Because exactly the same would happen to its open source equivalent. Lazarus and FPC are developed in tandem, and to my best knowledge C++ needed both extension and careful alignment to work with VCL.
I understand what you are saying but don't quite agree. For one, to the best of my knowledge (and limits of NDA), there is no C++ port of VCL, at least not a complete port, and with purpose, so any changes/upgrades to VCL in Delphi would automatically be felt on C++ side, perhaps with some header adaptations. So you have IDE that can only run on Windows, VCL that can only run on Windows and third-party C++ compiler being a link between them, all of that against Visual Studio, which is native development tool on Windows and is the first one to receive all new bells and whistles from the same OS manufacturer.

Lazarus, on the other hand, runs on multiple platforms and, if not counting Pascal dialect, is a fully functional editor on its own, in many aspects, potentially best of its kind. Even if there could be issues porting LCL to another language, say C++ or Swift, for example, there is an existing functional Pascal port of LCL on many platforms, which has working solutions for many low-level cross-platform technical issues. As a result, creating a whole new framework based on LCL is still much easier than designing, creating and debugging a new one from scratch.

HeavyUser

  • Sr. Member
  • ****
  • Posts: 397
Re: The future of Free Pascal
« Reply #155 on: May 13, 2016, 01:34:20 am »
Because exactly the same would happen to its open source equivalent. Lazarus and FPC are developed in tandem, and to my best knowledge C++ needed both extension and careful alignment to work with VCL.
I understand what you are saying but don't quite agree. For one, to the best of my knowledge (and limits of NDA), there is no C++ port of VCL, at least not a complete port, and with purpose, so any changes/upgrades to VCL in Delphi would automatically be felt on C++ side, perhaps with some header adaptations. So you have IDE that can only run on Windows, VCL that can only run on Windows and third-party C++ compiler being a link between them, all of that against Visual Studio, which is native development tool on Windows and is the first one to receive all new bells and whistles from the same OS manufacturer.

Lazarus, on the other hand, runs on multiple platforms and, if not counting Pascal dialect, is a fully functional editor on its own, in many aspects, potentially best of its kind. Even if there could be issues porting LCL to another language, say C++ or Swift, for example, there is an existing functional Pascal port of LCL on many platforms, which has working solutions for many low-level cross-platform technical issues. As a result, creating a whole new framework based on LCL is still much easier than designing, creating and debugging a new one from scratch.
So the future of fpc is C++?

ykot

  • Full Member
  • ***
  • Posts: 141
Re: The future of Free Pascal
« Reply #156 on: May 13, 2016, 02:15:00 am »
So the future of fpc is C++?
Is that all you can synthesize from the above conversation? Only one of my points was that Lazarus/LCL can be extended and/or ported to different languages. As for future of adoption of FPC, that's quite speculative, but it really depends on where FPC devs will lead it to; in my opinion, focusing on finishing full support for embedded platforms will very likely increase chances for it to become more popular, as there is less competition there.

HeavyUser

  • Sr. Member
  • ****
  • Posts: 397
Re: The future of Free Pascal
« Reply #157 on: May 13, 2016, 02:55:20 am »
So the future of fpc is C++?
Is that all you can synthesize from the above conversation? Only one of my points was that Lazarus/LCL can be extended and/or ported to different languages.
Actually I got 3 points. 1) add c/c++ support to lazarus 2) Convert lcl to C/C++ and 3) everythings dies perhaps its time to leave pascal behind and move on. Then again I'm notoriously slow so I'm probably missing something. Then again I agree with you. Pascal's time reached its end. There is a new technological wave in the embedded front which they could take advantage of but the world is already C/C++ java and C# it has nothing to offer.

ykot

  • Full Member
  • ***
  • Posts: 141
Re: The future of Free Pascal
« Reply #158 on: May 13, 2016, 03:54:04 am »
Actually I got 3 points. 1) add c/c++ support to lazarus 2) Convert lcl to C/C++ and 3) everythings dies perhaps its time to leave pascal behind and move on. Then again I'm notoriously slow so I'm probably missing something. Then again I agree with you. Pascal's time reached its end. There is a new technological wave in the embedded front which they could take advantage of but the world is already C/C++ java and C# it has nothing to offer.
In a sense, yes. From what it looks like, the entire Pascal community (Delphi and FPC/Lazarus combined) now is rather small. I would speculate that many people who still stick exclusively to Pascal are those who have large codebase that cannot easily be moved somewhere else; some are realistically so, others just due to escalation of commitment.

The reality, however, is that Pascal by itself is nothing special, it is just a language (just as others are, like C++, Java, etc.), and RAD paradigm that was revolutionary back in earlier Delphi days is no longer new - there are many alternative UI / RAD tools now, many of which are also cross-platform. This doesn't mean the language and/or its tools will die (a ridiculous statement by itself too), just they will be (or probably already are) a niche/exotic option that will either stick in that state for quite a while, fade away, or suddenly become super popular, for example, as Python has. This is why I mentioned embedded platforms - perhaps this could be a magical pill Pascal needs to get back to the throne. :)

HeavyUser

  • Sr. Member
  • ****
  • Posts: 397
Re: The future of Free Pascal
« Reply #159 on: May 13, 2016, 06:38:11 am »
The reality, however, is that Pascal by itself is nothing special, it is just a language (just as others are, like C++, Java, etc.), and RAD paradigm that was revolutionary back in earlier Delphi days is no longer new - there are many alternative UI / RAD tools now, many of which are also cross-platform.
Actually pascal is the opposite of C/C++ the thinking is all backwards ee. variable declarations, for delcarations etc they are all backwards. I think that pascal has a lot of merit and it is compatible with my train of thought. So as a language it has its uniqueness that makes things different enough to be unpopular. As for the rad part, I haven't used any of the apple's  tools but even in visual studio only the windows form designer has a good flow and feel to it. even the wpf designer is lacking I'm not going to touch the open source designers where to even be able to place controls on a form you have to decide how they are suppose to behave when the form is resized. There is no RAD tool I found out there that comes close to what lazarus with all its problems has to offer. Sorry but there is nothing RAD to codeblocks, codelite or devc++ they are mediocre IDES at best or good editors at worst. Then again I might missed a good IDE other that visual studio.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: The future of Free Pascal
« Reply #160 on: May 15, 2016, 05:40:38 pm »
Because exactly the same would happen to its open source equivalent. Lazarus and FPC are developed in tandem, and to my best knowledge C++ needed both extension and careful alignment to work with VCL.
I understand what you are saying but don't quite agree. For one, to the best of my knowledge (and limits of NDA), there is no C++ port of VCL, at least not a complete port, and with purpose, so any changes/upgrades to VCL in Delphi would automatically be felt on C++ side, perhaps with some header adaptations.

To my best knowledge the problem form streaming and loading, a problem QT has worked around with MOC in the past.

More recent C++ have some RTTI support, but I bet it won't cover loading DFMs from resources and setting all properties and event handlers.

Anyway, since that would be a forked codebase, I fail to see the relevance for the Lazarus project anyway.

For the rest of the discussion, I'll give you a few points:
  • First and for all, you don't make fundamental changes that throw away the current million+ lines projects, 20 years of history and 2-3 dozen committers (fixed and occasional). You can fork and start over, but expecting this to happen from within the projects is INSANE
  • Other languages might have more users, but actually getting them to make a long term commitment to get it usable is hard. VERY hard. Most of those users simply go with the flow and are not really material for a quirky new project, and the projects remain a patchwork of subprojects never finishing anything. The cool part of Lazarus/FPC is that if you forget the lazarus-fpc division, nearly everything is under one roof
  • Stop obsessing so much with language. Lazarus is a complete toolchain and made certain choices. Stop comparing every feature FPC and Lazarus have (free, ide, widgetset, compiler) to various but different projects that use C++. Language alone is not a magical cure-all that saves everything. If so, all those more popular languages would have free tooling that would far exceed Lazarus

And yes, many people stick with Pascal because they have codebases and existing knowledge. The fact that the main focus is on desktop apps is a dead giveaway.

That is the reality of choosing a development platform based on what you can actually achieve with it, rather than watercooler discussions "but there is some C++ project that does ... ", and "if you just port LCL to C++" on the back of a beercoaster.

The devil is actually finding the resources to do a project that is narrow enough in focus to have a chance of being finished in a finite time. That is/was the problem with Lazarus too.

« Last Edit: May 15, 2016, 09:04:41 pm by marcov »

AlexK

  • Jr. Member
  • **
  • Posts: 55
Re: The future of Free Pascal
« Reply #161 on: May 15, 2016, 08:15:20 pm »
Stumbled upon Free Pascal is very super mega ultra underrated. post few days ago, which seems relevant to this discussion.

C++ is а problematic, dead-end bloated language. ...
Why nobody seems to bother arguing with this nonsense? This kind of fanboyism and kind of religious bias towards is what shrinks this community even more.

I never used Delphi. Was procrastinating once, and found Free Pascal.
It's a language to write a new modular OS(like Minix3 or Hurd) with a usage model of Gentoo(where users usually compile everything instead of downloading ready made packages, and they compile everything for many hours).
A language with balanced ratio of high level syntactic features and ease of portability to different architectures.
On the other hand, creation of self contained applications with needed versions of RTL/libs compiled in.
New wave of tech hobbyists' platforms, drones, new classes of devices that work on batteries.
"Internet of things" ideas(connect to internet everything you can, from vacuum cleaners to cars), that's embedded programming.

Object Pascal users were mostly on Windows, they just couldn't argument persuasively because they were detached from the open source world where ANSI C dominated due to existence of free compilers in the beginning of 90-s.
Now is a completely different context.

The only new language that solves many practical problems is Rust. But it's nailed to LLVM tools and completely depends on them, also Rust compiler is slow, and always will be, I guess. Rust is more difficult to read.

Object Pascal does not have GC, but it is compensated by a syntax that is fully amenable to static analysis tools in contrast with incomprehensible C++.
Besides, not all want GC in their program.
« Last Edit: May 15, 2016, 08:42:45 pm by AlexK »

AlexK

  • Jr. Member
  • **
  • Posts: 55
Re: The future of Free Pascal
« Reply #162 on: May 15, 2016, 09:25:24 pm »
Actually pascal is the opposite of C/C++ the thinking is all backwards ee. variable declarations, for delcarations etc they are all backwards.

Repeat..until
For..in..do
For..to/downto..do
While..do

Variable declarations and types declarations are done right.

A good explanation what's a difficulty with C declarations - Go lang declaration syntax: https://blog.golang.org/gos-declaration-syntax

Quote
Go's declarations read left to right. It's been pointed out that C's read in a spiral! See The "Clockwise/Spiral Rule" by David Anderson.
Though I like C, can't say the same about C++.
« Last Edit: May 15, 2016, 09:29:47 pm by AlexK »

ykot

  • Full Member
  • ***
  • Posts: 141
Re: The future of Free Pascal
« Reply #163 on: May 16, 2016, 12:07:30 am »
Marco, I generally agree with what you said, but find it a bit difficult to understand what you tried to prove in your 1-3 points.

That is the reality of choosing a development platform based on what you can actually achieve with it, rather than watercooler discussions "but there is some C++ project that does ... ", and "if you just port LCL to C++" on the back of a beercoaster.
No need to be so too overprotective with this. Nobody said to take Lazarus away from FPC. :) I just simply acknowledged that Lazarus as IDE and LCL, in their own way, if could somehow get to C++ landscape, in my opinion, they would make a killer product. You think they won't? Okay, your opinion is just as good as mine. :)

Sorry but there is nothing RAD to codeblocks, codelite or devc++ they are mediocre IDES at best or good editors at worst. Then again I might missed a good IDE other that visual studio.
I think you didn't mention quite a few RAD IDEs (lists can be found somewhere in the middle of this, this, this, and this, and probably many others, I doubt in finite time one can try them all to give accurate generalizations) and those that you mention are not UI RAD IDEs by themselves, they are editors and first two (can't say anything about DevC++ as I've never used it, especially since it's Windows-only) are pretty good at what they do.

Object Pascal users were mostly on Windows, they just couldn't argument persuasively because they were detached from the open source world where ANSI C dominated due to existence of free compilers in the beginning of 90-s.
Now is a completely different context.
...
The only new language that solves many practical problems is Rust. But it's nailed to LLVM tools and completely depends on them, also Rust compiler is slow, and always will be, I guess. Rust is more difficult to read.
It sounds like you haven't actually actually used many other languages for production, yet you still try to make large scale generalizations and predictions. You probably can do much better if you actually get to learn stuff that you easily dismiss, so please stop this non-sense.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: The future of Free Pascal
« Reply #164 on: May 16, 2016, 12:36:07 am »
No need to be so too overprotective with this. Nobody said to take Lazarus away from FPC. :) I just simply acknowledged that Lazarus as IDE and LCL, in their own way, if could somehow get to C++ landscape, in my opinion, they would make a killer product. You think they won't? Okay, your opinion is just as good as mine. :)

Well, that's what I also think, but then more the concept (everything under one roof and deeply integrated), then lazarus or VCL itself.

One of the biggest problems I have with C++ is the plethora of GUI libs without one being really dominant (QT and MFC comes closest). And QT is pretty but has MOCing issues, and no native windows offering and I never really liked MFC, it felt too much a macro set on top of winapi rather than an integrated offering.

The thing I like about VCL/LCL is that the windows apps are native, and the offering is still fairly portable.
« Last Edit: May 16, 2016, 11:22:08 am by marcov »

 

TinyPortal © 2005-2018