How do you avoid spaghetti code, in an environment like lazarus?
Lazarus – A Delphi-compatible cross-platform IDE
101–110 of 187 posts
Re: Lazarus – A Delphi-compatible cross-platform IDE
#102I mentioned Lazarus in other threads a few days ago (since my kids are playing around with it) and it's great to see it as a top-level post. Some random thoughts: - It's somewhat amusing to realize that in 2017 this is pretty much the easiest way to do a desktop app (besides RealBasic/Xojo which I've yet to try - was put off by their mandatory registration) - I wish we had RAD environments like this for more language…
If you're interested in Basic programming then Gambas might interest you. Although not a clone of VB, it can be roughly considered being to VB what Lazarus is to Delphi: a 100% Open Source implementation. I would prefer Lazarus anyway, but it's indeed nice to see different alternatives to proprietary dev systems.
Re: Lazarus – A Delphi-compatible cross-platform IDE
#103Lazarus/FPC checks so many nice boxes: [x] Statically compiled [x] Native UI on Linux/Mac/Win [x] Typically compiled without code changes on Linux/Mac/Win [x] Small binaries [x] No GC [x] Readable, somewhat python-like syntax [x] Still, doesn't rely on indentation for nested blocks [ ] (Fill in)
> [x] Readable, somewhat python-like syntax I have a rather different opinion on OP that it has a needlessly verbose syntax. Pythonic it is definitely not. Even C# (which is another creation of Anders Hejlsberg, after MS poached him from Borland) has a better, readable and concise syntax. I used to be a Delphi evangelist in it's glory days. Now I bristle when I read Pascal source code, there's so much unnecessary vis…
Happy that recent languages like Go and Kotlin have learned the lesson and are going the Pascal way again.
Re: Lazarus – A Delphi-compatible cross-platform IDE
#104Lazarus/FPC checks so many nice boxes: [x] Statically compiled [x] Native UI on Linux/Mac/Win [x] Typically compiled without code changes on Linux/Mac/Win [x] Small binaries [x] No GC [x] Readable, somewhat python-like syntax [x] Still, doesn't rely on indentation for nested blocks [ ] (Fill in)
I've created small projects in Lazarus and you are right in all points except in the small binary part, also I would add that it comes with db drivers for Postgrees, MySQL and Firebird SQL out of the box.
Re: Lazarus – A Delphi-compatible cross-platform IDE
#105I collected my (very early) research on it in this thread:
https://forum.lazarus.freepascal.org/index.php?topic=24948.0
... where some users report they tried it already. Seems to work, if not super smooth. Hope it can be improved in the future.
Re: Lazarus – A Delphi-compatible cross-platform IDE
#106I've made the mistake to write a complex project in Free Pascal. As far as I can tell pretty much every release of Lazarus is breaking something. And surprisingly often those breaks are major (like e.g. broken multi-threading, broken-strings, ...). For me the whole thing looks more like a playground for hobbyists and is not really useful for anything productive. There's not much continuity in the language. And for th…
Re: Lazarus – A Delphi-compatible cross-platform IDE
#107I see Lazarus pop up on HN occasionally. It's an IDE for FreePascal right? I guess I'll have to open the article again. How are the database drivers? I've been told they're ageing. Is there 64 bit support for Windows or only 32?
There is a Win64 compiler and it's working great! I don't know anything about the database drivers.
Re: Lazarus – A Delphi-compatible cross-platform IDE
#108I mentioned Lazarus in other threads a few days ago (since my kids are playing around with it) and it's great to see it as a top-level post. Some random thoughts: - It's somewhat amusing to realize that in 2017 this is pretty much the easiest way to do a desktop app (besides RealBasic/Xojo which I've yet to try - was put off by their mandatory registration) - I wish we had RAD environments like this for more language…
I'm checking out Lazarus currently.
Re: Lazarus – A Delphi-compatible cross-platform IDE
#109Earlier quoted context omitted.
I've not used Lazarus or Delphi, so I can't really compare properly. Perhaps I'm missing something. But: > if anyone knows of any similar environments (besides QtCreator, etc.) Why "besides QtCreator, etc"? It sounds to me almost like "do you know any X besides all of the popular X". Is there any particular reason you discount QtCreator? Does it not work for your purposes? Or is it just a case of you already know abo…
Because QtCreator isn't up to the job compared even with Delphi 1 for Windows 3.x, but sadly the younger generations never got to use it professionally. Delphi and Visual Basic, were like the Smalltalk/Lisp Machine (I am exaggerating a bit) of the RAD programming generation. Try to create a database frontend or image manipulation program in QtCreator just with the GUI designer.
An image manipulation program, what does Delphi provide out of the box for this? I would assume that if you have anything non-trivial, you'd have some custom code to write? I mean, they can hardly have built-in components for every possible use case so I don't have to write any code. What am I missing here?
Re: Lazarus – A Delphi-compatible cross-platform IDE
#110Earlier quoted context omitted.
No. Delphi offers reference counting , but only on interface variables. It's a huge difference really, because if your last interface variable that points to an object goes out of scope, the object is freed from memory. Even if you have raw class pointers to it. Example: IMyInterface = interface procedure Foo; end; TMyClass = class(TInterfacedObject, IMyInterface) procedure Foo; end; procedure TMyClass.Foo; begin Wri…
For those lacking CS background, reference counting is an GC algorithm. The 5th chapter from "The Garbage Collection Handbook", http://gchandbook.org/ , one of the most renowned books in the field, there are of course other equally renowned sources I can refer to.