Hacker News new | ask | show | jobs
by da39a3ee 809 days ago
Can you give more details regarding what IDE features you have in mind? I agree that java/c# people not knowing how to use the command line is bad (because they only know how to click "build project" etc) but IDE features such as LSP, compiler error messages as you type, intelligent completion, variable renaming, etc I think are essential tools.
1 comments

I think that LSP is a Language Server Protocol. I do not use that. I can understand its utility but I do not use it.

"Compiler error messages as I type" distract me from, well, typing. I can pause to think and then I get an error message for my still incomplete code. I cannot help but notice that and that interferes with the train of thought.

I have trouble with my keyboard lately (two keys do not produce reliable key press events) and only then I started to use CtrlN in vim to autocomplete.

The need of variable renaming is often related to variables in most mainstream languages having multiple roles due to side effects: on input an array has one meaning, after execution of some function the same array now has different meaning. I prefer not to do so and greatly prefer languages with controlled side effects.

OK. For reference, I was an Emacs user for 20 years, and participated heavily in emacs extension development. I used to think like you early on. But, especially if you use languages with expressive/complex type systems, having the editor be able to inform you about types is very useful. So I understand where you're coming from, but you're probably being too absolutist and are upholding preferences that you should re-examine. For example, it's basically silly to write Rust without using rust-analyzer. I agree that feedback can be a distraction while typing but it should be possible to tune your IDE editor to not display anything until a specified amount of time has passed with no keypresses.
I do not write Rust. My day-to-day job is C++'s application support and, frankly, what Rust offers does not help there.

When I do programming for fun, I prefer to use Haskell into which "Rust" can be embedded to, if I need that. But, the problems I am interested to look deep into do not benefit from borrow checker's checks. Sparse non-negative matrix language modeling is not a thing Rust can help with. ;)

(any continuous problems like ML do not benefit from borrow checker)

And I do not use emacs. I use vim. As an EDITOR for midnight commander. I go to ghci when I need feedback, not earlier. ;)