3 ms·
Lazarus is rather cool but even after you learn Pascal (which is rather alien to modern programming) the built-in not-so-smart code editor feels somewhat painfu
by qwerty456127 5y ago
Lazarus is rather cool but even after you learn Pascal (which is rather alien to modern programming) the built-in not-so-smart code editor feels somewhat painful to use after VisualStudio and IntelliJ. These 2 entry barriers make it feel overly vintage and demotivate from using it.
As for Electron - the idea of learning the web front-end stack and designing UIs from scratch (rather than composing them from common controls), just to produce insanely heavyweight executables compatible with a limited set of platforms (e.g. Lazarus is much more cross-platform, it can even run on Haiku) doesn't sound inspirational at all.
- badsectoracula 5y ago> built-in not-so-smart code editor feels somewhat painful to use after VisualStudio and IntelliJ What is missing from Lazarus' editor? I never used IntelliJ but from my experience with Visual Studio (up to 2019 IIRC) i've found Lazarus' editor to actually be more featureful than VS in pretty much everything i tried: syntax completion (ctrl+space), code completion (automatically writing code for missing declarations, syncing interface and implementation, implementing abstract methods, overriding parent class functions, etc), code navigation, etc.
- qwerty456127 5y ago> What is missing from Lazarus' editor? Perhaps it actually is good, I probably just didn't dedicate enough time to discover all its features. Or maybe all the cool stuff was added right after I tried it (it's been some years already). I mostly mean context-aware completion suggestions, refactoring and code navigation. I already can't remember what exactly was missing (I didn't find) when I tried. > I never used IntelliJ but from my experience with Visual Studio VisualStudio + ReSharper ≈ IntelliJ.
- badsectoracula 5y agoLazarus had what i describe for at least a decade. However one thing that might happen is that you didn't notice them because some of the functionality is under different shortcut keys. For example Ctrl+Space will do context aware completion (e.g. will put similar types to the context near the top) but other forms of code completion, like automatic variable declarations, creating definitions in implementation section for for declarations in the interface section, etc are done with Ctrl+Shift+C. It has a bunch of different shortcut keys for different stuff and you need to go through both the main menu (Source menu mainly) and the context menu (Refactor and Source) to find them. Also some of the default settings aren't ideal (IMO), so you may want to check the Codetools category in the options that controls some of Lazarus' behavior there.