this post was submitted on 13 Sep 2024
150 points (92.1% liked)

Programming

17419 readers
46 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 65 points 2 months ago* (last edited 2 months ago) (2 children)

I REALLY hate articles like this

Saying we "lost" this software just shows that people don't understand what software design/engineering is.

Basically every screenshot of the "lost" TUIs look like a normal emacs/vim session for anyone who has learned about splits and :term (guess which god I believe in?). And people still use those near constantly. Hell, my workflow is generally a mix between vim and vscode depending upon what machine and operation I am working on. And that is a very normal workflow.

And that is what we want out of software development. The good ideas move forward. The less good ideas become plugins for sickos. Because everyone loves vscode right now but... Microsoft is shitting that up REAL fast with copilot and just wait until every employer on the planet realizes that and ban it.

And the rest just ignores the point of an IDE. Yes, taking your hand off the keyboard to touch the mouse LOWERS YOUR EFFICIENCY*. But it also means you can switch between languages or even environments trivially. Yes, it is often more annoying to dig through twelve menus to find what you want or talk a co-worker through how to do basic git operations that would be three commands. But holy crap I hate the people who "can't work without my settings" that mean they are incapable of doing any "live" debugging or doing any peer programming where they aren't driving.

Back in the day we had plenty of people who were angry that not everyone was using vi and a bunch of tcsh scripts to develop because it clearly meant they didn't understand what they were doing and were too dependent on compilers and debuggers. And it was just as stupid then as it is now.

[–] [email protected] 11 points 2 months ago* (last edited 2 months ago) (2 children)

Basically every screenshot of the "lost" TUIs look like a normal emacs/vim session for anyone who has learned about splits and :term (guess which god I believe in?). And people still use those near constantly. Hell, my workflow is generally a mix between vim and vscode depending upon what machine and operation I am working on. And that is a very normal workflow.

I use emacs, and kind of had the same gut reaction, but they do address it and have a valid point in that the IDEs they're talking about are "out of box" set up and require little learning to use in that mode.

Like, you can use emacs and I'm sure vim as an IDE, but what you have is more a toolkit of parts for putting together your own IDE. That can be really nice, more flexible, but it's also true that it isn't an off-the-shelf, low-effort-to-pick-up solution.

Emacs had some "premade IDE" project I recall that I tried and wasn't that enthusiastic about.

I don't know vim enough to know what all the parts are. Nerdtree for file browsing? I dunno.

With emacs, I use magit as a git frontend, a compilation buffer to jump to errors, projectile to know the project build command and auto-identify the build system used for a given project and search through project files, dired to browse the files, etags and some language server -- think things have changed recently, but I haven't been coding recently -- to jump around the codebase. I have color syntax highlighting set up. I use .dir-locals.el to store per-project settings like that build command used by projectile. The gdb frontend to traverse code associated with lines in a stack trace on a running program. TRAMP to edit files on remote machines.

But that stuff isn't generally set up or obvious out of box. It takes time to learn.

EDIT: The "premade IDE" I was thinking of for emacs is eide:

https://software.hjuvi.fr.eu.org/eide/

[–] [email protected] 4 points 2 months ago

Emacs had some "premade IDE" project I recall that I tried and wasn't that enthusiastic about.

Doom Emacs, spacemacs, etc.

And there are plenty of nvim "distros" like that (lazyvim for example).

They make getting started pretty easy. I've been using Doom for years and never bothered to make a full config of my own.

[–] [email protected] 3 points 2 months ago

If you need an "off the shelf, low effort" IDE then you pick whether you are using VSCode or Vim/Emacs and then go to youtube and google "best plugins for ${LANGUAGE} in ${EDITOR}". And you get basically a minute of copy pasting to have it set up to about the same level of optimization.

Aside from that? The reality is that everything takes time to learn. It took you time to learn your preferred emacs config. It took me time to learn default vim and then what my preferred vim config should be and how to take advantage of it. Just like it took time to learn the editor that came with python on windows for years (still might?).

Which gets back to this being a boomer ass article.

[–] [email protected] 5 points 2 months ago (1 children)

Yes, the title the author chose is a bit err, clickbaity. But there were still decent introductions to few old IDEs. Maybe if he had covered more(maybe some niche ones?), it would have been better.

[–] [email protected] 7 points 2 months ago (1 children)

Yes. A much less boomer-coded article would be better.

But as someone who has actually used a lot of the various IDEs over the decades and keeps coming back to vim (and is already expecting to go back to vim within a year because of invasive copilot shit...): Those niche editors? They are either genuinely bad ideas (think TempleOS levels of insanity) or they became plugins for every other IDE. I like vim a lot but emacs is the same (actually emacs is an OS with a text interface but...). And many of those plugins ALSO exist for vscode and atom/sublime and so forth.

Because good (uncopyrighted...) ideas propagate. That is development and design.

[–] [email protected] 6 points 2 months ago (1 children)

Yes, emacs is a fine operation system. All it lacks is a decent code editor.

[–] [email protected] 2 points 2 months ago (1 children)

It has Evil if that's your thing :)

I dislike that it takes way too long to boot, but IMO the defaults are just fine.

[–] [email protected] 2 points 2 months ago (1 children)

I dislike that it takes way too long to boot

  1. Use the Daemon, it starts a new client in a fraction of a second
  2. Improve your config and it'll start in under a second anyways
[–] [email protected] 4 points 2 months ago

TBF, I don't even remember why I stopped using the daemon. But it's currently 3 seconds, so I dislike it... but not so much that I'd prioritize solving the problem versus complaining about it on the internet...

Anyway, I'm adding the server into my DE's startup. Thanks for the reminder.