3 ms·
The language semantics, the standard library and the ease of which I can read other peoples code are all very good compared to just about anything. Compile tim
by fredrikholm 3y ago
The language semantics, the standard library and the ease of which I can read other peoples code are all very good compared to just about anything.
Compile times and tooling are compared to the competition, sorely lacking. Auto complete, suggestions, documentation-on-hover etc are so slow that they're essentially useless.
For example, adding a simple model with two fields in an empty Lucky project (Rails, but Crystal) makes all my CPU fans spin at 100% capacity for ~35 seconds. Lucky has hot reload built in, but compiling those 6 lines take longer than cloning, compiling and running $FORMER_DAYJOB's ~800k lines of Go code base.
- blacksmoke16 3y agoKeep in mind a good portion of the compile times for an application is dependent on what the code is doing and your hardware. I.e. just because Lucky is slow in this regard for you doesn't mean every project/framework is going to be just as bad for everyone else. E.g. I can compile a dev build of the compiler in 20s. Also I don't personally use an LSP, but the VSCode extension recently was re-written: https://forum.crystal-lang.org/t/crystal-vscode-extension-v0-9-0-released/6488 https://forum.crystal-lang.org/t/crystal-vscode-extension-v0.... So may be worth checking out again. Or just don't use an LSP ;)
- fredrikholm 3y agoCheers, all valid points! :) With regards for compile times, I'm spoiled by languages that have sub-second compile times to the point where I actively lean on the compiler while I'm writing (see next point). With regards to LSPs, I'm spoiled by the 1990s and can't live without auto-completion and suggestions. Why write something in 26 keystrokes when 4 will do ;)