News for hackers. Stuff that matters.
Re:Emacs: The Editor for the Next Forty Years [video] by Isamu on Tuesday November 26, 2019 @10:08AM (#21638860)
(from the slides)

>I learned Emacs in September, 1983

>It is now November, 2019

>...that’s over thirty six years!

>An amazingly long time.

Hmm, I think I learned Emacs around the same time. Yes, sometimes I think it is weird that I'm still using it.

I get a lot of pushback when I say that the developer environment hasn't advanced amazingly in all those years. Devs will point to one or more rather small incremental improvement. I'm sorry but I think we are still in the Bronze Age of programming.

Re:Emacs: The Editor for the Next Forty Years [video] by jimbokun on Tuesday November 26, 2019 @10:25AM (#21639040)
No, productivity has increased massively, but not due to better editors or IDEs. Those have shown only marginal improvements, if any. (Is any modern environment more productive than a Lisp Machine or Smalltalk?)

But some of the main productivity drivers are distributed version control systems, dependency management libraries, and sites like GitHub for sharing code and libraries.

Being able to automatically generate a project from a template, and pull in any open source library written by anyone on the planet with a single line in a config file, is amazing.

Also, remote hosting and cloud provisioning to quickly deploy any code to be used by anyone in the world with a web browser. Arguably even app stores by eliminating the need to figure out distribution and payments on your own. (The stuff maybe not everyone considers "development", but is key to the overall productivity of any software project.)

Re:Emacs: The Editor for the Next Forty Years [video] by gutnor on Tuesday November 26, 2019 @10:46AM (#21639245)
Massive increase in personal computer power (cloud or physical).

Internet and resources like stack overflow.

Back in the days, I remember the isolation.

First from the domain, we could only run part of the application or use unnaturally tiny dataset meaning that the application behaviour in prod was an abstract concept. Hell, we could not even build the app at all on large application.

Second from knowledge. If you didn't know something, you needed to pick a book and read or find someone who knew. Nowadays, with a few hours on the net, you can build enough of a working knowledge of a tech to at least know if it is worth the investment.

Re:Emacs: The Editor for the Next Forty Years [video] by anthk on Wednesday November 27, 2019 @12:09AM (#21645419)
>Back in the days, I remember the isolation.

There were newsgroups, basically SO on comp.* subgroups.

Re:Emacs: The Editor for the Next Forty Years [video] by lottin on Wednesday November 27, 2019 @03:27AM (#21646216)
In the 80s and early 90s most people didn't have internet.
Re:Emacs: The Editor for the Next Forty Years [video] by lostmsu on Tuesday November 26, 2019 @11:57AM (#21640084)
Have you ever used ReSharper or IntelliJ IDEA for any real work? I think not.
Re:Emacs: The Editor for the Next Forty Years [video] by gumby on Wednesday November 27, 2019 @12:24AM (#21645479)
I used IntelliJ for a couple of years and it was quite painful compared to the lispm. The only advantage is that the machines are faster.
Re:Emacs: The Editor for the Next Forty Years [video] by worldsayshi on Tuesday November 26, 2019 @10:37AM (#21639172)
The main reason I quit Emacs was the lack of context and semantically aware code completion and re-factoring tools. Such tools are invaluable productivity boosts for me. I have never gotten that to work in Emacs to a satisfactory degree.
Re:Emacs: The Editor for the Next Forty Years [video] by drbojingle on Tuesday November 26, 2019 @11:37AM (#21639848)
The creation of the Language Server Protocol has changed this kind of thing considerably. Any editor now is able to use goto definition, goto reference, rename, etc for a variety of languages (assuming they have a plugin LSP client). I've been using one in NeoVim for a while for JavaScript and it works pretty good.
Re:Emacs: The Editor for the Next Forty Years [video] by billfruit on Tuesday November 26, 2019 @10:46AM (#21639252)
OTOH hlmost many modern IDEs can't even open two copies of the same file and display it side by side or record arbitrarily complex macros and play them back any number of times.
Re:Emacs: The Editor for the Next Forty Years [video] by dmortin on Tuesday November 26, 2019 @12:31PM (#21640461)
Completion and refactoring are much more important than these.

When working with code it's very powerful to work on a higher abstraction level. E.g. move this method to an other class and update all references to it automatically keeping the code correct. It takes a few seconds in a modern IDE while in a text editor you have to do most of it manually.

When you get used to the power of refactoring, you start to use it more and more, like a sculptor getting a more powerful tool.

Open source editors should pool their resources to create such powerful refactoring tools which can be accessible in any editor via LSP or something.

Re:Emacs: The Editor for the Next Forty Years [video] by gmueckl on Wednesday November 27, 2019 @02:28AM (#21645996)
The sad part is that text based representations of programs are holding back programmer productivity by raising the bar for these refactoring tools unreasonably. If programs were represented and edited directly as syntax trees, 80 to 90 percent of the complexity of refactoring tools would go away.
Re:Emacs: The Editor for the Next Forty Years [video] by dmortin on Wednesday November 27, 2019 @03:41AM (#21646266)
On the other hand, when writing new code it is quite efficient to simply type, supported with proper completion.

It would be much less efficient to create a program in a point and click gui, dragging visual elements onto the syntax tree.

So both is necessary. Efficient text editing is required to work quickly with the code, edit things locally efficiently. And refactoring is also needed if you want to perform bigger operations which span methods or classes.

An efficient text editor with completion + powerful refactoring. This is the winning combination.

Re:Emacs: The Editor for the Next Forty Years [video] by gmueckl on Wednesday November 27, 2019 @04:43AM (#21646517)
You're jumping to conclusions when you're associating a syntax tree based program representation with the forced use of a mouse or cumbersome navigation for editing. Nothing could be further from the truth. A completely usable and fast keyboard based editing method for such a program representation is entirely possible. The only downside is that it's harder to create a minimal working version of such a tool compared to a text editor.
Re:Emacs: The Editor for the Next Forty Years [video] by dmortin on Wednesday November 27, 2019 @05:02AM (#21646615)
It may be possible, but I haven't seen such a tool. I have seen tools where you edited the syntax tree via a GUI and it was terrible for writing code. It may work better for tree modifications.

Text programs are pretty efficent when writing, editing code, because you can access a large number of elements quickly with the syntax.

E.g. writing let a = 3 can be much quicker than starting some command palette from the keyboard, choosing the "declare variable" action and then fill some dialog with the name and value of the variable.

I have doubts it can be made as efficient as typing, otherwise we would have seen such prototypes already. Have you?

Re:Emacs: The Editor for the Next Forty Years [video] by gmueckl on Wednesday November 27, 2019 @08:50AM (#21647789)
I am working on one.
Re:Emacs: The Editor for the Next Forty Years [video] by jonnycomputer on Tuesday November 26, 2019 @12:22PM (#21640377)
Don't know about the second, but displaying two copies of the same file side by side is pretty common in my experience, e.g.:

PyCharm: Yes

VS Code: Yes

Eclipse: Yes

Re:Emacs: The Editor for the Next Forty Years [video] by olejorgenb on Wednesday November 27, 2019 @12:50PM (#21650151)
Vs code can't open two windows properly though..
Re:Emacs: The Editor for the Next Forty Years [video] by jonnycomputer on Friday November 29, 2019 @11:11AM (#21665142)
I'm curious what you mean, as I've not had any issues thus far. I'm only an occasional VS Code user however.
Re:Emacs: The Editor for the Next Forty Years [video] by olejorgenb on Saturday November 30, 2019 @08:12AM (#21669809)
Only one os-level window per workspace is supported AFICT. It's possible to tile editors within this window, bit you can't detach an editor.
Re:Emacs: The Editor for the Next Forty Years [video] by lorenzhs on Tuesday November 26, 2019 @11:05AM (#21639450)
Language Server Protocol brings this to many editors that historically lacked it, including Emacs' lsp-mode. I use it a lot (with clangd), it's great. Because it's a common interface used by all editors, there is a lot of interest in and work on the language backends.
Re:Emacs: The Editor for the Next Forty Years [video] by worldsayshi on Tuesday November 26, 2019 @11:31AM (#21639773)
I'm all for standardizing this but I can't hear about the Language Server Protocol without thinking about this rant: https://youtu.be/pW-SOdj4Kkk?t=2549

The rant itself is probably misdirected towards LSP when it should be directed to the circumstances that it has to deal with.

Re:Emacs: The Editor for the Next Forty Years [video] by didibus on Wednesday November 27, 2019 @02:16AM (#21645946)
Interesting angle.

That said, LSP is more supposed to be thought as the backend to the editor, not just a library. And the problem it solves are twofold:

1. Having to rewrite the same logic in all the programming languages used by all editors. Since as far as know, there are no language agnostic libraries, but a server is.

2. A strong boundary protects from accidental coupling of the UI/UX and the business logic. Without this, maybe at first you'd think you use some part of some other editor in yours until slowly over time it becomes more and more coupled to that particular editor's UX/UI. Even LSP actually suffers a little from that in that the APIs are totally designed with VSCode in mind first, but that stronger boundary protects it getting even worse.

Re:Emacs: The Editor for the Next Forty Years [video] by didibus on Wednesday November 27, 2019 @02:27AM (#21645994)
I started using Emacs about a year ago and I love it!!

The thing with Emacs is that you need to embrace Elisp, and the workflow of working inside a REPL. If you're someone who like to have things your way, and who are more comfortable with a programming language then a UI, Emacs is for you!

I personally use Spacemacs in Holy mode with Ivy and my own customization and some custom layers. I find this to be a great combination.

I use it for Clojure development with Cider and Java development with lsp-java. And for editing most files, like configs, scripts, bash files, json files, etc. I also use it for notes in org-mode.

The only things I rely on a different editor is Vim and less for dealing with large files like log files, and Notepad++ for when I need to do fancy search and replace stuff especially if the file is large.

Re:Emacs: The Editor for the Next Forty Years [video] by taeric on Wednesday November 27, 2019 @01:38AM (#21645791)
Thanks for that link. I confess I have my own prejudices against LSP. This view just strengthened it some.

Specifically, I feel that there is an anti-fragility to agreeing that we should all be able to write a program that can tell us about the programs we are writing. Getting languages that make this so that we all have to use a central server seems to put us at the mercy of who wrote that server. When it is that same group that wrote the compiler, it seems more likely that they will have the same blind spots.

Re:Emacs: The Editor for the Next Forty Years [video] by wry_discontent on Tuesday November 26, 2019 @10:42AM (#21639216)
This is true for me too.

I still do some of my personal projects in Emacs, and I still use Magit, and dired, and a few others, but by and large my professional development is mostly in the family of JetBrains editors.

Ideally, their code analysis could work through a server and use Emacs as a frontend, but the existing tools don't even come close to what those IDEs can do. Emacs is great, but it's not the most productive tool for me to edit large projects.

Re:Emacs: The Editor for the Next Forty Years [video] by AndrewBissell on Tuesday November 26, 2019 @10:58AM (#21639374)
I've seen posts about how to set up vim as a frontend for a headless Eclipse server, but it always looked to me like the payoff wasn't worth the effort.
Re:Emacs: The Editor for the Next Forty Years [video] by ilikehurdles on Tuesday November 26, 2019 @11:19AM (#21639621)
Coincidentally, I quit java for almost the same reason.
Re:Emacs: The Editor for the Next Forty Years [video] by worldsayshi on Tuesday November 26, 2019 @12:32PM (#21640476)
Really? What languages have better IDE support than Java? I guess C#?
Re:Emacs: The Editor for the Next Forty Years [video] by ilikehurdles on Tuesday November 26, 2019 @01:14PM (#21640974)
It was more abandonding languages that are a slog to write without somewhat advanced IDE tooling. Committing thousands of lines per PR was common for the typical Java project, and much of had to be aided by IDE tooling to keep your sanity. I'm sure there's some amount of plugins I can throw at emacs or vim to get good-enough Java assistance or I can use languages with a higher productivity-to-lines of code ratio.
Re:Emacs: The Editor for the Next Forty Years [video] by seeker61 on Tuesday November 26, 2019 @10:51AM (#21639293)
"the Brone Age of programming."

And that's being generous.