Just advertising, you can use Lazarus to build WebApps nicely using Brook Framework: https://github.com/silvioprog/brookframework
Lazarus 2.0 RC3 – Delphi-compatible cross-platform IDE
81–90 of 129 posts
Re: Lazarus 2.0 RC3 – Delphi-compatible cross-platform IDE
#82Wikipedia provided this simple description, which would be nice to see on the RC post (but perhaps they assumed the only folks interested in an RC post would be folks familiar with the tool already): Lazarus is a free cross-platform visual integrated development environment (IDE) for rapid application development (RAD) using the Free Pascal compiler.
I miss WYSIWYG IDE's like Delphi, VB-classic, and Lazarus. Dealing with HTML "autoflow" and Bootstrap is a royal pain. You sketch a draft GUI that seems a good fit for the application and users, and then realize you have to jump through hoops backward on a unicycle while chewing gum blindfolded to get it right on web browsers. Jetsons WYSIWYG technology yanked from my happy fingers by an LSD "standard". (I'm assuming…
...Right?
Re: Lazarus 2.0 RC3 – Delphi-compatible cross-platform IDE
#83Earlier quoted context omitted.
Indeed, Object Pascal in Delphi 6 had blazing fast compilation (for various reasons not least it's unit system), like click and it runs a half second later on a 250,000 line codebase.
A tradition all the way back to its MS-DOS early life. Turbo Pascal 5.5 had an advertised compilation speed of 34 000 lines/minute, on 1989's hardware. http://edn.embarcadero.com/article/20803 So something like PC 386 running MS-DOS 4.x, real mode with 640KB, eventually 1MB, if making use of highmem. So excuse me for not being that amazed with Go's compilation speed achievements. :)
Re: Lazarus 2.0 RC3 – Delphi-compatible cross-platform IDE
#84Earlier quoted context omitted.
From the early days I thought it was a mistake for Java and .NET not to follow on what was common back then, and offer AOT compilation out of the box. Java AOT solutions were all commercial (gcj doesn't really count) and .NET had NGEN, but it was only meant for fast startups. .NET was specially disappointing in this regard, given that it had quite some influences from Delphi. We had to wait around 20 years for AOT to…
Indeed, Object Pascal in Delphi 6 had blazing fast compilation (for various reasons not least it's unit system), like click and it runs a half second later on a 250,000 line codebase.
Part of being single-pass was it hardly did any optimizations, and of course declaration order was completely rigid. Back in the 1990s there were competing commercial compilers like Stony Brook Pascal that did optimization, and at the time there were optimizers that you could run on the .exe files, but for the most part people stuck to Borland's tools.
I spend a good part of the 90s writing fast 2D and 3D graphics stuff, including a commercial game, and performance was never an issue, especially as Object Pascal supported embedding assembly blocks seamlessly into your code.
Re: Lazarus 2.0 RC3 – Delphi-compatible cross-platform IDE
#85Earlier quoted context omitted.
Re: I think that UI toolkit should use native widgets and near zero cost FFI. If the target audience is cross-platform, that's hard to pull off. Each OS's native GUI engine is too different. Emulating a common target behavior is usually better (until a good general GUI standard comes along). Maybe your particular need is not cross-platform, but Lazarus's goal is.
FWIW LCL (Lazarus' framework) emulates the Windows behavior (there are even some reimplementations of Windows functions in non-Windows platforms to assist with that) since the API "descends" from Delphi's VCL which is Windows-only (and IMO it makes perfect sense that if you need to emulate some OS's behavior to focus on the most popular one). The end result is obviously that under Windows things work great, under X11…
Re: Lazarus 2.0 RC3 – Delphi-compatible cross-platform IDE
#86I've noticed that e.g. Debian installs the Gtk version of Lazarus by default, if you use the virtual package. But it's not clear whether this is a conscious choice, or it just dates back to when they only had Gtk.
Re: Lazarus 2.0 RC3 – Delphi-compatible cross-platform IDE
#87Earlier quoted context omitted.
Indeed, Object Pascal in Delphi 6 had blazing fast compilation (for various reasons not least it's unit system), like click and it runs a half second later on a 250,000 line codebase.
The original Turbo/Borland Pascal compiler was a single-pass compiler written in assembly. Not sure if they ever rewrote it in a high-level language. The small, simple grammar helped, as did the unit system. With Delphi, linking became the most expensive stage of compilation. Part of being single-pass was it hardly did any optimizations, and of course declaration order was completely rigid. Back in the 1990s there we…
I am with you on performance for graphics stuff, hence why I never bought into stuff like disabling bounds checking on the whole application is a must for performance.
Re: Lazarus 2.0 RC3 – Delphi-compatible cross-platform IDE
#88Earlier quoted context omitted.
The original Turbo/Borland Pascal compiler was a single-pass compiler written in assembly. Not sure if they ever rewrote it in a high-level language. The small, simple grammar helped, as did the unit system. With Delphi, linking became the most expensive stage of compilation. Part of being single-pass was it hardly did any optimizations, and of course declaration order was completely rigid. Back in the 1990s there we…
If I am not mistaken, later versions of Delphi removed the restrictions on declaration order. I am with you on performance for graphics stuff, hence why I never bought into stuff like disabling bounds checking on the whole application is a must for performance.
Borland's Pascal compilers did have a way to disable bounds checking locally, with a special compiler directive comment: {$R-}. It took effect from where you used it, so you could do:
{$R-}
for i := 1 to 10 do
writeln(myArray[i]);
end;
{$R+}
Re: Lazarus 2.0 RC3 – Delphi-compatible cross-platform IDE
#89Earlier quoted context omitted.
It is viable just fine as it is, i'm not sure what you have in mind. In any case C++ support for Lazarus is almost impossible due to the work needed and the projects that will need to cooperate - i go into details here: https://news.ycombinator.com/item?id=15893362
I meant, unless you have some very specific reasons, Pascal is not the first language to pick for a new project nowadays.
It’s funny when you read about languages like Rust and Go basically trying to undo decades of C-induced damage, reinventing (albeit also exceeding) thangs that Pascal/Modula/Eiffel already had.
Re: Lazarus 2.0 RC3 – Delphi-compatible cross-platform IDE
#90Has anyone used a recent Lazarus version to create apps that can connect easily to an HTTP API? Some months ago I had a need to create a "quick and dirty" API utility for internal use and I remembered about Lazarus. However I couldn't find an HTTP client component that I could use. I just wanted to do the equivalent of a curl GET/POST call. I'm not sure if maybe I'm not familiar enough with the wiki structure so I mi…