Hacker News new | past | comments | ask | show | jobs | submit login

Have you tried writing Rust and Go in a plain text editor and had problems, or are you a happy user of an IDE for another language and waiting for one to be available before you try them out?

Some languages (the prime example being Java) are designed to have simple syntax so that large-scale manipulations can be automated, and as a result you really do need an IDE to work with them: few humans have the patience to find all 59 places in a code-base where some function is called or overridden and add a new parameter.

On the other hand, some languages allow humans the complexity to define their own abstractions, like C++ templates or Scheme macros or Python's reflection and metaprogramming. This extra layer of complexity makes it much harder to write a good IDE, but it also makes an IDE much less necessary: instead of editing all those 59 uses individually, if they were generated by a template or a macro or reflection you can just edit the definition of that thing and get the same result.

I'm guessing Go is in the minimalist-syntax-and-heavy-IDE crowd, although the Go community seems to prefer to write their heavy automation as standalone tools (see: go fmt, go fix). Rust has a fairly impressive macro system, so I would have expected it to be a complex-syntax-and-text-editors language but the Rust authors seem very keen to have some kind of IDE support. Whether they believe Rust actually needs it, or if they just want to check off a commonly-requested feature, I don't know.




> Have you tried writing Rust and Go in a plain text editor and had problems, or are you a happy user of an IDE for another language and waiting for one to be available before you try them out?

I tried both out, but I'm a Scala / Python User mainly and I loved the IDE's I have. Currently especially Autocompletion and my Shortcuts, like search Classes, Types, etc helped me on being productive. Also jump to definition is a feature I often use.

Yes I could even use java without an IDE or Scala however it's not as comfortable and I feel that when I'm programming on an editor I spent a few hours a week tweaking it. While on a IDE i just replace 'some' shortcuts.

Still I think even GO needs a better IDE, since the projects with a few lines are gone and even if you don't write as many lines as in java you still getting a pretty big codebase when you write something useful.

Putting everything in his own library won't help / it will make the problem even scarier since you now need to remember a bigger import path.

Rust is similar and still I love it despite the crates/modules system, since I think it has some rough spots. However they improve the docs regulary which makes things more clear, still it's hard while coming from python/scala/java to have a rust like import path.


>but it also makes an IDE much less necessary

Integrating all the features you need to be productive in a language like C++ (auto complete, compiler output parser, navigation, etc.) and then still lack features like integrated debugging and refactoring is just silly.

Unfortunately IDEs tend to suck on most basic aspect of coding - text editing - and they can be slow. Eclipse is a great example of everything that is wrong with IDEs - you can't even scroll past the end of file (when I first googled how to change this option and read that you can't I had a good laugh) and you can see the editor redrawing on scrolling/input. It really says something when your editor is rendering slower than Atom.

On the other hand good IDE like IntelliJ tools are decently fast and offer a bunch of useful tools you just don't get out using a text editor - the only problem I have with IntelliJ is that CLion is not integrated in to Idea - this means I can't use them on a same project because the project files clash and I have a project that uses Python/TypeScript/C++ it would be awesome if I could develop it all from one IDE (and IntelliJ is great at all those individually)


I have used racer with the Eclipse plugin and when I made changes locally that broke it I felt how absolutely terrible it is to program without basic navigation features like going to the definition of a function or type. I don't want to waste time or brain capacity on something a computer is extremely good at.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: