Recent

Author Topic: Using Lazarus for other Languages  (Read 4207 times)

Shpend

  • Full Member
  • ***
  • Posts: 167
Using Lazarus for other Languages
« on: January 27, 2021, 07:12:09 pm »
Hi ppl,

quick question, how much work would it be to use Lazarus or to develop with Lazarus I shall say, a feasible IDE for "Oxygene" since I wanted to give that language a try for a project. But both their VS extension and Water IDE suck balls and so I wanted to use a more compact, but fast and mostly bug-free IDE with tons of options. Ah and also, can some1 address me how to develop a debugger for Oxygene(i won't do this alone ofc, but am acquiring more information from you on that topic!)

Would pretty much love to hear cool advice from all of you!

Thanks and peace out.

Shpend

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11446
  • FPC developer.
Re: Using Lazarus for other Languages
« Reply #1 on: January 27, 2021, 07:26:13 pm »
Hard to say, it all depends how polished you want it and how deep you want to integrate it.

Retargeting a shallow IDE like dev pascal to use with some 3rd party command compiler is relatively easy (a few weeks/months).

Doing something deep is long and unpredictable. It doesn't help that there is no history of people retargeting lazarus or parts for something else.

A debugger is totally a different question and not very generic. Afaik Oxygene is .NET based, so you have to ask that on a .NET forum.

Shpend

  • Full Member
  • ***
  • Posts: 167
Re: Using Lazarus for other Languages
« Reply #2 on: January 27, 2021, 07:40:30 pm »
Hi marcov,

thx for the reply!

Oxygene itself is first only the language, but I want to target their Island/Cocoa Compiler, nothing else. That one is a native compiler that compiles directly to machine code.

And yea, I don't like their LDB (LLVM debugger I think) at all, very messy and buggy and they just keep adding senselessly new languages to the mix without addressing the debugging problems and frameworks properly, hard if you stick to 8 employees for 20 years.  I wouldn't use their stuff at all, but I  gotta say the Island stuff and Oxygene has its worthy notes, not gonna lie, even tho I know your standpoint on that topic, @marcov. I understand ur point a bit as well but idk for me personally, I prefer the OOP aspect of oxygen a lot vs Delphi/FPC sadly.

Hard to say, it all depends on how polished you want it and how deep you want to integrate it.
How you mean that exactly, I mean I want to allow every compiler message and error and have an easy build setup and stuff, as well as a settings-panel in the Tools-Options menu where you can address all of their compilers and build settings.

Yea, I thought since I wanna target their LLVM based Island/Cocoa compiler, I thought maybe I can somehow use FPC-debugger to understand Oxygene-code.

Shpend

  • Full Member
  • ***
  • Posts: 167
Re: Using Lazarus for other Languages
« Reply #3 on: January 27, 2021, 07:49:22 pm »
To be absolutly honest to you guys, Im not even sure right now if I wanna stick to their products. One of their weird chiefs constantly deletes my posts about his ridiculous IDE which consumes memory like crazy in under and 1h of work, like up to 6GB and more... Insane, and I did a post about that on their dumb forum and he deleted my post, XD where I have shown in a .png of how that thing spikes up...

Now read this:

Me writing:
Hopefully, you are as quick in fixing the issues as deleting/unlisting posts.

Huzzah.


Marc Hoffman:
If you don’t stop being obnoxious, I’ll ban you completely. Consider this your last warning.

I mean.. I wrote that guy a DM because he did that to other posts as well, where I ONLY reported bugs in their RTL, which I OFFERED HIM TO FIX... Imagine this and he kept unlisting them and deleting them????

So idk, but I endorse their compiler dev @carlo Kok since he took the time to understand my bug-fix offer for free and even implemented some stuff I suggested to him that would be good to have in their toolchain. But this guy is IMHO hardcore ridiculous. I bet he is the reason that company didn't grow at all in 20 years. Insane.

To make it clear, I only like their OOP stuff more than in FPC/Delphi tbf, that's the only reason for me to switch to that thing, otherwise, their entire stuff is buggy and messy and you have to do with ppl with very low-level minds.
« Last Edit: January 27, 2021, 07:53:49 pm by Shpend »

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11446
  • FPC developer.
Re: Using Lazarus for other Languages
« Reply #4 on: January 27, 2021, 09:03:41 pm »
Oxygene itself is first only the language, but I want to target their Island/Cocoa Compiler, nothing else. That one is a native compiler that compiles directly to machine code.

A language without implementation is a piece of paper. It burns easily :-)

Quote
And yea, I don't like their LDB (LLVM debugger I think) at all, very messy and buggy and they just keep adding senselessly new languages to the mix without addressing the debugging problems and frameworks properly, hard if you stick to 8 employees for 20 years.  I wouldn't use their stuff at all, but I  gotta say the Island stuff and Oxygene has its worthy notes, not gonna lie, even tho I know your standpoint on that topic, @marcov. I understand ur point a bit as well but idk for me personally, I prefer the OOP aspect of oxygen a lot vs Delphi/FPC sadly.

Then cut the cord, and go for it, all out. Throw your weight behind Oxygene, and make it happen! I really wonder why you are here then if it is all so rosy?

Quote
Hard to say, it all depends on how polished you want it and how deep you want to integrate it.
How you mean that exactly, I mean I want to allow every compiler message and error and have an easy build setup and stuff, as well as a settings-panel in the Tools-Options menu where you can address all of their compilers and build settings.

That simply text processing and easy-peasy if you spend a month at it.

Quote
Yea, I thought since I wanna target their LLVM based Island/Cocoa compiler, I thought maybe I can somehow use FPC-debugger to understand Oxygene-code.

That is a totally different magnitude from the rest. Maybe even several magnitudes. To give you perspective, the first claims that we should get rid of GDB are from 2003. It is 2021 now, and we still mostly use GDB for debugging.....

Shpend

  • Full Member
  • ***
  • Posts: 167
Re: Using Lazarus for other Languages
« Reply #5 on: January 29, 2021, 02:39:13 pm »
Quote
A language without implementation is a piece of paper. It burns easily :-)
I only noted that I was not planning to use their .NET Compiler, more their Island-Native compiler. Because you said b4:
Quote
Afaik Oxygene is .NET based, so you have to ask that on a .NET forum.

Quote
Then cut the cord, and go for it, all out. Throw your weight behind Oxygene, and make it happen! I really wonder why you are here then if it is all so rosy?

Bro, don't hate me because I'm trying alternatives, why has programming become such a damn religious-movement, what is this, I mean, ofc there are somethings other ppl do better in some regards, afaik I was as far as telling in how many regards they fail, numerous arguments were made by me, in posts above.  Like unstable, not a big framework and stuff like that and mostly their arrogance of taking bugfixes for free which have a decent amount of presence in their IslandRTL. So don't be so offending with that line @marcov, and yes, again, there are points I wished Delphi/FPC (but actually more Delphi since its a full-time company that can afford those easier) to implement some of their good OOP features like Invariants and stuff like that, but as I also said by now, I tend to really abandon this company completely from my use of tools. It's not worth my time to deal with endless buggy code where you get out of surprise every method you write an internal error.

MarkMLl

  • Hero Member
  • *****
  • Posts: 6682
Re: Using Lazarus for other Languages
« Reply #6 on: January 29, 2021, 02:49:34 pm »
Quote
Then cut the cord, and go for it, all out. Throw your weight behind Oxygene, and make it happen! I really wonder why you are here then if it is all so rosy?

Bro, don't hate me because I'm trying alternatives, why has programming become such a damn religious-movement,

Steady on, that's lowering the tone of discussion.

I think the point he was making- and it's a fair one IMO- is that there are a lot of people who are attracted by the Lazarus IDE's facilities, join the forum or mailing lists, and then try to single-handedly steer the project in a direction that interests few other people.

"All" you have to do is work out how the IDE works, and what assumptions it makes about other parts of the toolchain, and then you'll find it "quite easy" to fork the project and reengineer it for a different backend. But "all" and "quite easy" hide a vast amount of effort.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Shpend

  • Full Member
  • ***
  • Posts: 167
Re: Using Lazarus for other Languages
« Reply #7 on: January 29, 2021, 03:16:38 pm »
You know what, you are right MarkMLI, I will abandon remobjects and stick to Delphi/FPC, I'm annoyed anyways from their arrogance and stuff like that. Thanks for clearing that out!

MarkMLl

  • Hero Member
  • *****
  • Posts: 6682
Re: Using Lazarus for other Languages
« Reply #8 on: January 29, 2021, 03:28:38 pm »
You know what, you are right MarkMLI, I will abandon remobjects and stick to Delphi/FPC, I'm annoyed anyways from their arrogance and stuff like that. Thanks for clearing that out!

I'm sorry, but I felt it was a point that had to be made :-)

Basically, there's a whole lot of us searching for something better, but the amount of work that's gone into (over the years)

* Turbo pascal which made Pascal usable and (for quite a while) popular

* Delphi which firmed up the object definition and introduced a robust form designer

* FPC which expanded the Object Pascal language to cover an unprecedented number of platforms

* Lazarus/LCL which built on Delphi-like ideas to support unix etc.

...means that this really is a very hard act to follow.

I'm pretty sure that if somebody /could/ generalise the IDE to cover multiple languages, and managed to get other languages' maintainers to introduce support for form creation etc. (basically, the bits you find invoked in the .lpr file), and managed to do so without ending up with the bloat that is Eclipse, then the World would beat a path to his door.

But the amount of religious opposition he'd get from other languages would make the FPC/Lazarus community look like Quakers :-)

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Shpend

  • Full Member
  • ***
  • Posts: 167
Re: Using Lazarus for other Languages
« Reply #9 on: January 29, 2021, 07:35:59 pm »
Yea i thought giving their suspicious tools a chance and with a good IDE as Lazarus with a stable debugger they would benefit from it, rather than their currently DogShit IDE, Water.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11446
  • FPC developer.
Re: Using Lazarus for other Languages
« Reply #10 on: January 29, 2021, 09:21:03 pm »
Quote
Then cut the cord, and go for it, all out. Throw your weight behind Oxygene, and make it happen! I really wonder why you are here then if it is all so rosy?

Bro, don't hate me because I'm trying alternatives, why has programming become such a damn religious-movement, what is this, I mean, ofc there are somethings other ppl do better in some regards, afaik I was as far as telling in how many regards they fail, numerous arguments were made by me, in posts above. 

I don't hate you. I might have been teasing a bit though, mostly because your request and answers were a bit non-committal(a bit like MarkMLI also noticed). Hence I dared you to make a commitment, though more to make you really think about what it would take to pull a project like that off.

That said, I still stand by my original remark. Keep the initial part simple, try to retarget something simple like dev pascal or its C++ sibling. If you can somehow pull that off and get some compatriots from the Remobjects world, maybe you can later take the next step.

Though if parts (compiler, rtl) are under a non-free license, I rather wouldn't even bother.

If you read the forum, e.g. the Modula2/Oberon threads, you'll see I'm a fugitive from Modula2 also because perspective wasn't there.

 
Quote
Like unstable, not a big framework and stuff like that and mostly their arrogance of taking bugfixes for free which have a decent amount of presence in their IslandRTL. So don't be so offending with that line @marcov, and yes, again, there are points I wished Delphi/FPC (but actually more Delphi since its a full-time company that can afford those easier) to implement some of their good OOP features like Invariants and stuff like that, but as I also said by now, I tend to really abandon this company completely from my use of tools. It's not worth my time to deal with endless buggy code where you get out of surprise every method you write an internal error.

I still use Delphi at work for the more major apps (which are 250000+ to 1Mlines and years of research). Main reason is effective and stable debugging (though Delphi also has problems there). I had a lot of internal error issues with D2009..DXE3 when dealing with generics, but less so with Delphi Seattle, which I still use.

Smaller apps and apps we don't sell have been migrated to Lazarus though. The base framework of the larger apps also works with Lazarus.

MarkMLl

  • Hero Member
  • *****
  • Posts: 6682
Re: Using Lazarus for other Languages
« Reply #11 on: January 29, 2021, 10:02:04 pm »
If you read the forum, e.g. the Modula2/Oberon threads, you'll see I'm a fugitive from Modula2 also because perspective wasn't there.

As am I of course. In fact I almost expanded on my comments earlier by commenting on the size that development tools used to be: the Logitech and Topspeed tools could be installed from a stack of floppies in the late 80s and you got most of the library sources (not the compiler sources obviously). These days the FPC+lazarus configuration files wouldn't fit on a floppy... :-)

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

PascalDragon

  • Hero Member
  • *****
  • Posts: 5462
  • Compiler Developer
Re: Using Lazarus for other Languages
« Reply #12 on: January 30, 2021, 03:34:18 pm »
So don't be so offending with that line @marcov, and yes, again, there are points I wished Delphi/FPC (but actually more Delphi since its a full-time company that can afford those easier) to implement some of their good OOP features like Invariants and stuff like that, but as I also said by now, I tend to really abandon this company completely from my use of tools.

Class contracts and invariants are something that I think are very interesting and I'm planning for a long time already to give them a try in FPC, but it's how it always is: my todo list is getting longer and longer. :-[

Shpend

  • Full Member
  • ***
  • Posts: 167
Re: Using Lazarus for other Languages
« Reply #13 on: January 30, 2021, 05:56:11 pm »
@marcov:
I took your advice to heart, and abandon it completely, it's too much work and in the end, they will probably go against this by Law/juridical ways. As I said b4 in some posts, their CEO (marc Hoffman) deleted my posts regarding the free offering of improvement in their RTL, for free and all that and he DELETED them, without any info whatsoever, now regard that bastard seeing an open-source solution coming his way, they will make RTL (compiler already is closed-src as u correctly assumed Markov) also closed src and voila all my work would be gone! So thanks for the courage in giving me some hints to that, otherwise I would have started blindly. So thx!

@PascalDragon
Glad to hear from you my friend:=) I know I have a bit penetrated you guys with all that move semantics and stuff, but my annoying posts about features sometimes are only an attempt that this beautiful and community-driven Language (well I count Delphi too now..) doesn't die, since as you can see in the current market, C#/Java are prospering with good and easy to code features which remove boilerplate code ( I understand ofc where FPC stands in terms of money financial support and the like and where  C# stands.. but still wanted to mention that) and also I know that there is quite a lot to do in compiler-regards, I hate it so much that I am not versed in Compiler-code... I would have started one year already with some stuff I saw is useful and would have helped you out... but what can you do... Could you actually, PascalDragon, only for the sake of information tell me, how many people are working on the Compiler? Since it looks a bit hidden/not easily findable. If you have it in your mind, if not,  screw it.

EDIT: @marcov: quoting you: "That is a totally different magnitude from the rest. Maybe even several magnitudes. To give you perspective, the first claims that we should get rid of GDB are from 2003. It is 2021 now, and we still mostly use GDB for debugging....." Why is GDB so bad in your opinion, I legit had never an issue with it, ok granted, my biggest project was about 1k lines of code but still. Could you elaborate on this?

« Last Edit: January 30, 2021, 06:02:13 pm by Shpend »

PascalDragon

  • Hero Member
  • *****
  • Posts: 5462
  • Compiler Developer
Re: Using Lazarus for other Languages
« Reply #14 on: January 30, 2021, 06:31:51 pm »
Could you actually, PascalDragon, only for the sake of information tell me, how many people are working on the Compiler? Since it looks a bit hidden/not easily findable. If you have it in your mind, if not,  screw it.

For the compiler itself currently active core developers are around 8 people give or take one or two, plus one or two people from outside actively contributing patches.

EDIT: @marcov: quoting you: "That is a totally different magnitude from the rest. Maybe even several magnitudes. To give you perspective, the first claims that we should get rid of GDB are from 2003. It is 2021 now, and we still mostly use GDB for debugging....." Why is GDB so bad in your opinion, I legit had never an issue with it, ok granted, my biggest project was about 1k lines of code but still. Could you elaborate on this?

Just look at the amount of workarounds martin_fr has to implement in the debugger interface of Lazarus to get GDB to play nicely with Pascal code (look at the Debugger subforum here). Not to mention support for things like evaluating properties that is still a very big todo for both the debugger and the compiler (the later for the debug information).

 

TinyPortal © 2005-2018