Live data from Hacker News

Unix as IDE (2012)

sanctum.geek.nz

31–40 of 106 posts

Re: Unix as IDE (2012)

#32
I recently discovered the "watch" command. With an autosave plugin in Vim, I can put some "print()" statements in my code and run "watch python3 mycode.py" in a small Tmux pane to get nearly instant feedback as I debug something. Or if I'm refactoring, I can do "watch pytest". It's pretty sweet.

Re: Unix as IDE (2012)

#33
post #8

I've gotten made fun of because I've said my "IDE" is `tmux` in the past; my typical development environment is a tmux split, where an editor (usually NeoVim, sometimes Emacs) does editing, and the bottom half is a terminal running either a dev server or just the compiler command. It's not perfect, but I like how I can basically swap any component out (except tmux itself).

I've been using this sort of setup for over a decade. I try IDEs from time to time but typically I find it just gets in the way or buries the things I care about among 100 other features I would never use. Additionally, IDEs are often optimized for one platform or language but not others or for general use. With vim I can use one editor to code, write email, write documentation, etc.

With neovim you can have autocompletion, error checking, git integration, project file navigator, and many other IDE like features but without the cruft.

Performance and stability is stellar compared to the IDEs I have experience with (eclipse, visual studio, xcode, and PHP storm). Especially if you use a terminal that uses the GPU to render the screen. With startup times there is no competition, tmux can keep your terminal session alive even after quitting the terminal which means their is essentially zero startup wait.

Re: Unix as IDE (2012)

#34
> Some of the principles discussed here will be applicable to those using Emacs as well, but probably not for underpowered editors like Nano.

Nano actually can do well over half of the things mentioned…

Re: Unix as IDE (2012)

#35

IntelliJ Editors just straight up not working on Wayland right now has driven me insane. I really like Sway (i3) and Wayland is a must for mixed DPI setups. Now I have started using Kakoune and LSP for Go and Python and it works great. I tried Neovim for a while but having another window manager inside of Sway is too much of a burden. Kakoune opens new windows in Sway (or tmux). Combined with a plugin to make Firefox…

> IntelliJ Editors just straight up not working on Wayland right now has driven me insane Maybe don't use Wayland then. Or, at least, suffer the slings and arrows of outrageous fortune with some grace. You chose to use Wayland, making you a minority (Wayland users) of a minority (Linux users). All power to you to make your own choices, but to paraphrase an old favourite - "Freedom may be mankind’s natural state, but…

[deleted]

Re: Unix as IDE (2012)

#36

I don't like either extremes. I quite hate working in big bloated IDEs. But I don't like trying to accomplish everything at the terminal. I always use GUI and shell tools together. My editor of choice TextMate is usually launched from the terminal. I work a lot in a REPL environment and when I get a stack backtrace my terminal program iTerm2 automatically identifies paths in the stack backtrace, so I can mouse click…

Textmate was my first love as far as text editors go. Such a great program! I had to leave it for vim eventually though for various reasons. I have no evidence but in its time I really think TextMate helped push text editors forward. I often see its influence in Sublime, Atom, and VSCode.

Re: Unix as IDE (2012)

#37

IntelliJ Editors just straight up not working on Wayland right now has driven me insane. I really like Sway (i3) and Wayland is a must for mixed DPI setups. Now I have started using Kakoune and LSP for Go and Python and it works great. I tried Neovim for a while but having another window manager inside of Sway is too much of a burden. Kakoune opens new windows in Sway (or tmux). Combined with a plugin to make Firefox…

> IntelliJ Editors just straight up not working on Wayland right now has driven me insane Maybe don't use Wayland then. Or, at least, suffer the slings and arrows of outrageous fortune with some grace. You chose to use Wayland, making you a minority (Wayland users) of a minority (Linux users). All power to you to make your own choices, but to paraphrase an old favourite - "Freedom may be mankind’s natural state, but…

If Firefox can pull it off so can Jetbrains. X does not work for mixed dpi and xrandr isn’t a solution. Wayland has been a thing for 15 years. If Apple released a new window system devs would support it why not Linux? Your view is essentially there are starving kids in Africa so you should starve too.

Re: Unix as IDE (2012)

#38

I think code completion is missing. Sure you can always try to grep your function call, but seeing the parameters and return type of a function you are calling as you are coding is really nice. Also a real IDE does much better debugging. Using Visual Studio for debugging your program is much easier than using GDB, which is probably why the more Unix programmers use printf debugging rather than try to fire up GDB.

You can do that in a lot of editors. Don't need an IDE for that. You got standardized language servers now which are often easy to integrate in a multitude of editors. But personally I don't like IDE style completions that much. In editors I often prefer completions based on what is in the file I am editing. But I also work a lot in a REPL environment. I personally think a good REPL is a much better debugging tool th…

Not sure why you're being downvoted. IMHO, printf based debugging is more ergonomic and requires less context switching. Instead of using my mouse to work with debugger or remembering a myriad of shortcuts for navigating through it I can just keep typing right in my editor where I already am. For me it fall under the keep it simple stupid category.

Re: Unix as IDE (2012)

#39

I think code completion is missing. Sure you can always try to grep your function call, but seeing the parameters and return type of a function you are calling as you are coding is really nice. Also a real IDE does much better debugging. Using Visual Studio for debugging your program is much easier than using GDB, which is probably why the more Unix programmers use printf debugging rather than try to fire up GDB.

Now that language servers ( https://microsoft.github.io/language-server-protocol/ ) are a thing, the code completion in terminal-based editors like vim and emacs can be just as good as what you'd get in an IDE.

Does anyone have a good solution for orchestrating language servers? With a mildly complex code base (grpc/thirft + python + build system) there's a lot of languages in play. At any small to medium company you're looking at around >5 different languages used. Downloading, configuring, starting, and providing context to (what files can see what other files, what the final build looks like, etc) to all of the language servers you want to use can sometimes be a huge pain. This is something that IntellJ with gradle does very easily.

Re: Unix as IDE (2012)

#40
post #32

I recently discovered the "watch" command. With an autosave plugin in Vim, I can put some "print()" statements in my code and run "watch python3 mycode.py" in a small Tmux pane to get nearly instant feedback as I debug something. Or if I'm refactoring, I can do "watch pytest". It's pretty sweet.

I started on a Qt4 Mac8 login screen clone. My repl was a similar shell script to rebuild and run on changes. Watch is pretty cool for stuff like that.
Post reply on HN