News for hackers. Stuff that matters.
Re:Emacs is special regarding UIs by tzs on Thursday September 10, 2020 @11:58AM (#24433517)
Yes, you don't need Emacs or Vim to be a successful software engineer. If you are good enough you don't need anything more than a basic editor, a compiler/interpreter for a language, and libraries for that language that let it talk to whatever you need to do I/O with.

But using a more advanced editor can make it easier. If you are going to be doing software engineering for a few decades all the times you have to do some repetitive task in a simple editor that would have been quicker in a more powerful editor adds up.

Re:Emacs is special regarding UIs by oblio on Thursday September 10, 2020 @02:01PM (#24434884)
You've misunderstood me. I'm not arguing that Notepad + msc.exe are more powerful than Emacs or Vim.

I'm arguing that IntelliJ/Visual Studio are more powerful than Emacs or Vim.

The Emacs and Vim architectures are antiquated and the volume of effort put into developing them (and their ecosystems) are outclassed by modern IDEs, especially for languages that scale to large numbers of developers working together (Java, C#). Emacs and Vim are poor man's IDEs compared to actual IDEs for these cases.

Emacs and Vim are mostly popular amongst C/C++ developers, where the ecosystems are generally baroque, forced by the need to integrate with embedded systems with limited toolchains or with libraries/frameworks that are very limited, and amongst developers working with dynamic languages, where you generally have small teams. Or large teams and a ton of headaches :-)

Re:Emacs is special regarding UIs by MarcScott on Thursday September 10, 2020 @03:13PM (#24435551)
I'm not a C/C++ developer, but I spend most of my time in Emacs. Most of my development time is spent in Python, and Emacs serves as an excellent IDE for the language.

However, that in itself is not my reason for preferring Emacs. It's also my markdown editor, often my file manager, my PDF viewer, my image viewer, my git interface, IRC client, email client... I could go on, but I'll stop there.

Emacs is not and has never been an IDE, it's a highly versatile and extensible text-editor. You can't compare apples and oranges.

Re:Emacs is special regarding UIs by pmoriarty on Thursday September 10, 2020 @04:08PM (#24436038)
"The Emacs and Vim ... are outclassed by modern IDE"

Outclassed in what way?

Have you looked at LSP[1] and its support in Emacs[2], for instance?

That's not to mention things like SLIME and paredit for Lispy languages, or the integration of the rest of the Emacs ecosystem in to your development environment, the ability to develop and configure all these development tools in Lisp instead of being forced to switch to some other language, etc.

[1] - https://github.com/Microsoft/language-server-protocol/

[2] - https://github.com/emacs-lsp/lsp-mode/

Re:Emacs is special regarding UIs by oblio on Thursday September 10, 2020 @04:33PM (#24436296)
If you're not a professional Lisp developer, an environment extensible in Lisp is not a plus :-)
Re:Emacs is special regarding UIs by kazinator on Thursday September 10, 2020 @07:04PM (#24437503)
I've had colleagues who were dedicated Emacs users, yet didn't know anything about Lisp.

This is not surprising; it's no different from Vim users who have never written or debugged a line of VimScript.

Re:Emacs is special regarding UIs by jasomill on Thursday September 10, 2020 @07:15PM (#24437590)
Rubbish. Speaking as someone with seventeen-odd years of professional C# experience and no professional Lisp experience, Emacs Lisp is both easier to learn than the Visual Studio SDK and, more importantly in the long run, far more likely to be worth the bother[1] for personal use cases.

[1] https://xkcd.com/1205/

Re:Emacs is special regarding UIs by iterativ on Thursday September 10, 2020 @05:59PM (#24436987)
Well, let's see what software engineers use Emacs.

Donald Knuth. Author of "the art of computer programming" and many contributions in computer science.

Linus Torvalds. Original author of Linux (the most widely used kernel) & git (most widely distributed version control). In fact, he wrote his own version of emacs. He doesn't do much, if at all, coding now.

Joe Armstrong. Author of Erlang.

Guido van Rossum. Author of Python.

Yukihiro Matsumoto. Author of Ruby.

Rich Hickey. Author of Clojure.

Andrei Alexandrescu. Author of D.

Xavier Leroy. Author of OCaml.

Michael Widenius. Author of MySQL & MariaDB.

Guy Steele. Co-author of Scheme.

Stephen Wolfram. Physicist, computer scientist & author of Mathematica.

Peter Norvig. Research director at Google & well known Lisper.

RMS. Well, original author of GCC, Emacs & the GNU system.

All of them, apparently, don't require one of those "powerful" IDEs.

Re:Emacs is special regarding UIs by TAForObvReasons on Thursday September 10, 2020 @06:27PM (#24437205)
Those developers by and large were active in software development before the creation of VSCode or IntelliJ. If you've already invested time and energy to learning the ins and outs of one tool, the hurdle to switch is large.

VSCode would need to be 10x better for the seasoned veterans to justify switching. If it were only 2x better, arguably the investment would not be worth it, but it doesn't change the fact that VSCode would be 2x better than emacs.

Re:Emacs is special regarding UIs by nikki93 on Thursday September 10, 2020 @11:59PM (#24439063)
Once you try to run VSCode on a Chromebook, you realize how 'good' it is. :)
Re:Emacs is special regarding UIs by kazinator on Friday September 11, 2020 @12:19AM (#24439160)
Can you share a screenshot/paste of your process listing with VSCode running, showing virtual memory sizes?
Re:Emacs is special regarding UIs by nikki93 on Thursday September 10, 2020 @05:36PM (#24436805)
For some people, using a computer is meant to be a pleasurable experience, and Vim / Emacs might let them build this up in ways that personally align with their tastes. I've spent years in Visual Studio (not Code -- the older one, but also a year or so in Code), and IntelliJ, and Vim, and Emacs with Spacemacs. They all felt good for when I used them. Like which genre of music I happen to be into at the time.

At the end of the day, it's kind of just shifting around based on what feels good. It feels similar to sitting in a cafe for a bit, but some times working from home, and some times in the mountains.

But there's no need to put people down by saying stuff like "poor man's" IMO. And if you're restricted to what makes C# and Java tolerable, that's a small space. There's a lot more stuff out there.

And programming is not as simple as "make decisions that optimize your engineering throughput" IMO. Otherwise gardening would be agriculture, right? Both are important in their own ways.

In any case Vim's terminal emulation and asyncness these days along with coc.nvim brings it back on track IMO. There was a period where it was behind.

I do think it depends a ton on language. The best experience in Vim is editing Go, I think. And then TS and C++ have been a close second. Lisps are not great, Emacs tends to better. For Java and C# it's definitely IDEs. VSCode is also fine for a lot of langs, in a more out of the box way. Cursive is also good I hear for Clojures. If you need to move between a lot of langs, the only IDEs that pan out are IntelliJ mostly, unless you count Code as one. But Vim and Emacs have the best multiwindow and multi buffer management. And the best git integration for patch by patch staging, for sure.

And ofc for ObjC and Swift it tends to be Xcode. If you're really into Freepascal then Lazarus etc. Smalltalks are their own thing ... it keeps going on.

Re:Emacs is special regarding UIs by kazinator on Thursday September 10, 2020 @07:09PM (#24437535)
You might be talking about that JavaScript rewrite of Visual Studio that uses the Electron framework.

The name "Microsoft Visual Studio" refers to a product line with a long life, which had been a monumental piece of shit over most of that life.

Vim and Emacs helped people survive Windows development jobs centered around Visual Studio.