lainchan / Ω
IDE vs custom development setup in terminal
Nobody special · 2024-12-27 15:50
I feel very comfortable with my alacritty+tmux+neovim setup and I'm not sure if integrated development environment offers something more I can't achieve using a bit of bash scripting and downloading useful stuff from githubs
I'm asking because I don't like mouse
do IDEs provide only user-friendly experience or do they have features that I can't achieve using manually tweaking my terminal workflow too?(USER WAS WARNED FOR THIS POST, You should always elaborate on your opinions rather than just spilling the soykaf.)
Phaethon · 2024-12-27 16:14
It really depends on what project you're working on. Java LSP support is abysmal in vim, you're better off just using Intellij with keymaps and plugins. If you work in Golang, rust, C, C++, you're better off just sticking to the terminal. (Unless you want those fancy debugging features.)
Fred Nurk · 2024-12-30 02:06
>>82723
After two decades of work as a professional software developer, I think I can sum up the text editor vs IDE debate in one sentence.
Text editors are for trial and error developers, whereas IDEs are for developers who understand what they are doing.
The primary feature of the text editor is fast. It doesn't do a lot, but it is fast. And that is important if you don't know what you are doing and you just throw soykaf at the wall until something sticks.
IDEs are feature rich, but as a result, not as fast. They offer tools that make your life much easier, but only if you understand what you are doing in the first place.
But not all IDEs are equal. Some, like IntelliJ are more like a text editor (with a few plugins) than a real IDE. So it is "fast" because it doesn't really do anything. This appeals to the people who don't really know what they are doing and need to trial and error their way through basically everything.
Also, I am not being judgemental here. In some cases I know very well what I am doing and I appreciate extra features to make that process easier even if it doesn't feel as "snappy." But sometimes, I find myself out of my element and need tools that work fast so I can fail fast and find my way since documentation is non-existent.
Nell · 2024-12-30 02:10
>>82794
has anything except visual code been created yet?
Y.T · 2024-12-30 02:15
>>82795
vscode is nice, as long as you're not on aarch64 I suppose. I don't like Microsoft products in general however. Microsoft programmers don't really seem to know what they are doing, so it seems natural to me that they would produce the most popular text editor software.
Tyrell Wellick · 2024-12-30 02:34
>>82796
so is there a usable ide that well supports at least "major" languages that doesn't try to openly install copilot_i_wont_spy_i_promise.exe on your machine?
Jean Dupont · 2024-12-30 02:43
>>82798
>a usable ide
This is loaded language and makes me want to not answer, because it usually ends in a flame war
SHODAN · 2024-12-30 04:21
>>82800
so there isn't one, right? it's not like googling is useful anymore. just a bunch of soykaf like geany and vs code
XERXES · 2024-12-31 01:12
>>82803
see, I knew you were spoiling for an argument
Roger Pollack · 2024-12-31 01:17
>>82827
you're paranoid. i was trying to find something that is less configuration than vim and less void than emacs
J.C. Denton · 2025-01-22 05:33
>>82723
I really can't think about something a graphical IDE can do a terminal based cannot. All do contrary, graphical IDEs lack the readiness and portability terminal based one has: I open my main computer and there it is, I open the TTY and it's also there, I open my phone and guess what. And if I need to setup a new computer with my tools, in about 5 minutes I can sync my configs.
Of course, if I need to give a quick look on a C# project or something I will just quickly spin a vm with vscode from one of my templates so I won't taint my system with all it's dependencies.
fsociety · 2025-01-24 01:50
>>82795 >>82798
Helix is nice, an easy-to-configure vim if you'd like ;)
https://helix-editor.com/
Jane Doe · 2025-01-25 04:13
>>82723
I'm primarily a Java developer, previously a Scala developer. Java is known for having Intellij IDEA as its only decent development environment that properly integrates LSP and all of those features. The thing is, I don't like Intellij because it's bloated in many ways: it's slow, huge in filesize, takes 20 seconds to startup, and also has a gigantic set of features and settings that I don't care about, that only make it harder for me to find what I want to configure. Intellij IDEA also nags me about JDK environments and installations when all I care about is the OpenJDK that is installed on my system.
I tried TUI code editors like vim, helix, micro in the past. I tried helix and neovim for months to see if I would finally become blazingly fast and productive like people always say you get when using these editors, but even after months of use they are still very confusing and a huge bottleneck to my comfort and productivity.
I tried micro and it's great but I had to move to a GUI code editor so I could make use of better productivity as well as a clipboard that is also shared with the desktop's clipboard.
My current editor is Geany, it's a very lightweight GUI IDE. Geany's "projects" feature is the intended way to use but it's way less straightforward than just opening code files directly, which is what I do. Make sure to enable the file-tree plugin for Geany, it gives you a very nice file browser, otherwise you can just use your own system's file browser.
I wrote my own build tool for Java because running javac and jar directly wasn't enough and popular Java build tools tend to be overengineered and too complicated.
So my final setup is: Geany + desktop file browser + terminal with my build tool
Drano · 2025-01-25 13:23
Emacs man, emacs. Want stripped down editor? Don't configure anything. Want something that highlights errors/warnings, manages your project, compiles, works like vim and checks it up with a compiler/interpreter? Flyspell + project + evil + eglot. Out of these, only evil is an external package.
Jane Doe · 2025-01-25 17:10
Something ive only seen in an ide's is hot code reload.
What is does is you can have the program run in debugger, alter a file, hit ctrl+s and it will instantly alter the running program. So prototyping becomes much faster since you skip recompiling&restarting the program for every change. Ive been using eclipse for java solely for this feature. Logically it should be possible without ide but i didnt find any guide for vim replicating this.
vcode seems to offer the same benefit for c#/c++ with a similiar 0 search results for vim situation but at least there is a c++ linux library that seems to replicate functionality
There are alternatives too it too - ive used lua hooked to c++ to segment experimental logic in lua, since its a script language you can simply reload the file while the program is running. That said its obviously more effort than having an ide do it for you automated.
Gyula Kovacs · 2025-01-26 09:02
>>83258
I am not sure about Emacs, but with Vim you can easily create a shortcut to save the project, kill the running process and run it again. A shortcut like
>:w | ! killall %.out && gcc % -o %.out && ./%.out &
Faye Valentine · 2025-01-26 12:21
>>83263
they don't want to kill the process. they want to modify the process as it runs (hot swapping, hot reloading)
>>83258
how you accomplish it depends on what tooling you're using (jrebel, hotswapagent, etc) to do the hotswapping. but it will be ide/editor agnostic. i think most of them, once you've configured them and started up your program with the appropriate jvm args, will just watch for changes and don't need any interaction beyond you saving the modified file.
i would expect the same is true for the equivalent c# land.
Switch · 2025-01-26 19:23
IDE is sometimes nice when you would quickly benefit from some kind of langauge server that Just Works.
Maybe I have some kind of brain damage, but I write most of my code in raw neovim these days. It kind of just feels faster. I dunno. It's probably not correct considering the efficiecny you can get.
Unidentified · 2025-01-27 04:21
I just thought, is it possible that most IDEs are overbloated suckers because they are mostly designed to cater to dumbfucks? Average "programmer" is a dumbfuck, so he needs a no brain solution. So while IDEs provide some nice ergonomic functionality it doesn't outweigh the amount of brain rot means for the dumbfucks.
Delilah · 2025-01-27 06:04
>>83270
IDE's take a swiss knife approach. Solve everything for maximum market coverage which leads to the common plane hud.
Conventional solution to this is "views", preset gui configs setup for different use cases so unnecessary elements for your intended use case are hidden for you.
Zero Cool · 2025-01-31 13:44
>>82723
Depends on the language, anon. If you program in C or python, vim + gdb/pdb is a perfectly usable environment. For other languages it might be more pleasant to use an IDE.
>>83251
You might want to give Netbeans a try. It has its quirks but as far as I remember it's a lot lighter than intelliJ
>>82798
>>82795
Zed. You don't have to use its AI features. FOSS, not electron, fast, light, has plugins, supports most languages.
https://zed.dev/
yet to be honest I still block its network access with opensnitch.
Sublime text is very light as well, although it's not FOSS.
Col. Morstar · 2025-02-02 23:04
To me, IDEs are basically just conveniences. Install it once and just get to coding. It makes ot a lot easier for beginner programmers to just practice too, as it also comes with QoL and conveniences that make reading and understanding code a lot easier.
Drano · 2025-02-21 05:50
I'd love to see an terminal setup that doesn't rely vim or emacs to do honeslty basic soykaf like implementing lsp. I just don't wanna invest on learning a bunch of weird ass shrotcuts.
Micro kinda seems like the real deal but I the last time I tried the lsp plugin it wasn't quite there yet.
Marly Krushkhova · 2025-02-23 05:05
>>82794
Everyone has been giving me this kind of response lately but I genuinely can't make any sense of it.
Can anyone please tell me a single advantage worth looking into that can't be solved by learning and configuring neovim or emacs? That would be of great help
Crash Override · 2025-02-24 08:24
>>82725
>Unless you want those fancy debugging features
i found that the gdb tui is much better for C/C++ than what IDEs can offer.
that said its not perfect either. a variable monitoring window and buffering of the command window would be very useful, but no one seem to be willing to touch GNU source code and im not the one to try.
Technician · 2025-02-24 08:30
>>82794
that is correct. if you know what you are doing it is perfectly acceptable for your IDE to freeze mid typing or to show you false positive compile errors for the next 15 mins.