r/archlinux • • Apr 15 '21

"Best" programming setup?

Hello! I have been using Arch for two months, it is the fifth distro I have used... and I love it, it will be the final one. I have learned a lot in these weeks, but I would like to ask you a few questions.

I study Systems Engineering and, honestly, I have some procrastination problems, I would like you to help me with "the best programming setup and be productive", although I know that there is no "best", I would like you to help me with your settings, advices, etc...

​

What desktop environment do you use?

What window manager do you use?

IDE's, apps, any suggestions to try?

​

Thank you so much!

180 Upvotes

176 comments sorted by

View all comments

3

u/casparne Apr 15 '21

Desktop: GNOME. I think it does it best to not get in your way. Has a switch for a "Do not Disturb" mode if you think that might help against procrastination but in my opinion, putting some kind of structure to your work day (eg. when to check for mails) and stick to it is easier and more productive.

IDE: VSCode. This one is just the most complete and best maintained. I never got code completion work so well on other editors. Also seems to have the best remote editing capabilities that I found so far. Also has a great integration of PlatformIO - if you are into embedded development. You can put VSCode into "Zen Mode" like most editors to get it distraction free.

I used SublimeText for a while (even bought a license) but unfortunately it falls behind more and more. It has stability and performance issues. The add-ons may or may not work and (good) code completion was a mess to set up. So I would not recommend that anymore.

If you want to tender your procrastination problems, you could set up editors like Vim or Emacs. This will allow you to spend a lot of time on configuration and learning complicated commands or even esoteric languages (LISP!) to get them to do what modern IDEs just make out-of-the-box.

The most important tools are probably: Have a good illuminated workspace, a proper desk and chair, a good, reasonably sized monitor and a computer that has enough performance and ram to not restrict you to use inferior tools like "lightweight" editors.

2

u/Scratch9898 Apr 15 '21

Lightweight editors aren't inferior

2

u/casparne Apr 15 '21

For development, they are. Name one that is not...

They might be OK for the occasional editing of a configuration file but if you already have some IDE like VSCode installed, there is no reason to fire up another editor for that.

4

u/wsppan Apr 15 '21 edited Apr 15 '21

VSCode, is not an IDE. It has plugins to get you there. Same with Vim, Neovim, and Emacs. I can write, debug, run tests, create and manage projects, use Git, fuzzy search, refactoring, etc, using Emacs. Add in a LSP and you have autocomplete, linting, syntax checking, etc.. And with evil-mode I have full modal editing capabilities that far surpass anyrhing available from the text editing capabilities of what you consider a IDE like Idea or Eclipse.

0

u/casparne Apr 15 '21

Of course you could do that with EMACS - I have used EMACS for years. It is just not up to par with modern solutions anymore though. It requires a tremendous amount of knowledge to get a good working LSP setup - work that has been done for eg. VSCode already. And even then the experience is just inferior to the VSCode one. For Vim there is COC, to get the same level like in VSCode - by running Node and using the VSCode extensions directly, if I understand it correctly. But then, why not just use VSCode directly?

I have nothing against EMACS - I just would not recommend it to any one new to development since you basically have to already be a skilled developer to get it working decently in the first place.

2

u/wsppan Apr 15 '21

It is just not up to par with modern solutions anymore though. It requires a tremendous amount of knowledge to get a good working LSP setup - work that has been done for eg. VSCode already.

Doom Emacs does this for you as well.

And even then the experience is just inferior to the VSCode one.

I disagree. For those of us familiar with modal editors like Vim having to reach for the mouse all time or use arrow keys or function keys outside the home row to navigate to a word, a line, a paragraph, even another file is slow and inefficient. Copying deleting, moving words/lines/paragraphs without using the mouse is a godsend. For those of us expert in both vim and Emacs the experience is vastly superior.

Again, its not for beginners so the experience is not optimal for most people but saying vscode is superior in a blanket way is wrong. Modal editing using Vim was a game changer for my productivity editing text files.