Live data from Hacker News

Development Environments

phaazon.net

141–145 of 145 posts

Re: Development Environments

#141

Earlier quoted context omitted.

I dunno. I have used a lot of IDEs in my day but I always go back to emacs. I know its not for everyone but I can still have a running python, ruby, etc process and send bits of code to the process and interactively iterate on ideas smoothly. Also with the advent of language servers jump to definition, large refactoring of symbols, etc are pretty straightforward. The number 1 thing I hate about IDEs and will always h…

A lot of my friends used emacs back at Sun. Modern IDEs really improved since then and I haven't seen a feature that emacs can do that they can't. Yes a JetBrains IDEs will take longer to build the AST model in RAM but once you have it they do amazing things with it. E.g semantic search and replace, etc. The debugger capabilities are spectacular, they literally show the values of variables on the side of the line you…

For Java Emacs is terrible. I loved IntelliJ. But for Python, Haskell, Common Lisp, Clojure, OCaml, I turn back to Emacs, because it is very familiar, and very nicely integrated.

Re: Development Environments

#142
post #132

Earlier quoted context omitted.

So, am I supposed to type all that cruft? Instead of just pressing alt-enter to bring up the suggestions menu, choose the obvious first item by pressing enter again, and have everything you have to remember several arcane incantations for done automatically..? I never got the command line purist crowd. I prefer spending time on solving business domain problems…

What if the suggestions menu crashes? Have you considered the extra RAM that is being used that could go further towards solving business problems? What if the curated menu of autosuggestions doesn't contain what you need?

I’m not sure whether you are sarcastic or not, but come on.. what if the LSP crashes, or you know, that also eats more RAM (and I am sure that someone with a 128GB laptop doesn’t get more work done than someone with only a 16GB one..).

Re: Development Environments

#143
post #132

Earlier quoted context omitted.

for neovim with lspconfig: formatting code: `lua vim.lsp.buf.formatting_sync()` go to definition: `lua vim.lsp.buf.definition()` rename variable: `lua vim.lsp.buf.rename()` type information: `lua vim.lsp.buf.hover()` find references: `lua vim.lsp.buf.references()` code actions (add missing import etc): `lua vim.lsp.buf.code_action()` For more commands `:h vim.lsp.buf`. There is plenty available through LSP today supp…

So, am I supposed to type all that cruft? Instead of just pressing alt-enter to bring up the suggestions menu, choose the obvious first item by pressing enter again, and have everything you have to remember several arcane incantations for done automatically..? I never got the command line purist crowd. I prefer spending time on solving business domain problems…

You can but it’s a lot a nicer to set key bindings.

For example I hit ,gd which I have mapped to the go to definition.

I also have ,fr mapped to find references.

You can come up with whatever mappings you want.

I have K (so shift + k) to show the type information.

Etc etc. Vim and neovim let you customize all this and anything else.

Re: Development Environments

#144

Earlier quoted context omitted.

You don't need an IDE to get, eg. function parameters, all normal programming oriented text editors do this now. IMO all of the 'editor' focused parts of IDEs are done great by the programming oriented text editors. It is the non-editor parts where IDEs differentiate themselves. Integrating testing, debugging, project management, refactoring, etc. Some of these things IDEs do pretty well and would be nice but they ar…

Editors get this wrong when there are multiple complex and overriden functions/methods. Furthermore, they can't display things in the same way an IDE displays them. I suggest checking out a modern (admittedly non-free but open source) IDE. JetBrains displays argument names in an ineditable area next to the argument values. When debugging it shows the values that changed in each line in an area next to the line of cod…

> [..] multiple complex and overriden functions/methods.

I think this is the problem, not the editor. Overriding methods is inherently bad, and doubling down with complex methods is worse. That sounds like it needs a refactor.

I also don't regularly use languages that require debuggers, so the latter doesn't comes up often enough to worry about.

Re: Development Environments

#145

My experience is quite different: I feel extremely productive working in the terminal, and what is described in the article as "The frozen world" is for me a virtue of the UNIX philosophy: the structure is not embedded in the data, but the programs can project a structure on it. That allows programs to be filters, and text to be the only format for exchanging information. What the article describes as "The nightmare…

> the terminal provides a very fast feedback loop where I can iteratively examine the output of a command and refine the filters I apply. As a result, I am able to prototype commands quickly and accurately.

That's what any REPL does. And it works great with typed data. Sometimes even with graphical output.

Post reply on HN