Live data from Hacker News

Rethinking the IDE for the 2020s

movingfulcrum.com

41–50 of 64 posts

Re: Rethinking the IDE for the 2020s

#41
I guess.

I'm mostly waiting for something to more easily interact with the AST than pure text (like something more of a tree view).

Think more easily (that's the key) collapsing bits of code, dragging them around and deciding whether they're active.

Re: Rethinking the IDE for the 2020s

#42
post #2

“A typical organization in the 2020s has: Hundreds of microservices” Can people with expertise in this situation speak about how typical it is? I guess if you have all those services then you need your IDE to help - but surely this isn’t super common? If it is, what sort of size of micro service are we talking here? I’ve worked in orgs with 3M line codebases, and I’d struggle to find a hundred ways to partition the c…

In corp this is certainly true - 100s and 100s of services - but YOUR work is scoped to one domain and I wouldn't see you needing to check out the world.

Each team has developed it's own way to work with it's subset of services - I doubt every team across every org could figure out how to run everyone elses domains to even make checking out the world a useful exercise.

As a long term corporate exercise, maybe that would "be awesome", but not trivial to do and PAINFUL to support and stay on top of over time.

We had a hard enough time keeping test suites up to date - I can't imagine trying to keep our portfolio "runnable" for everyone else.

Re: Rethinking the IDE for the 2020s

#43
> We never need to see each other live code. That would be annoying/intruding on the other engineer's privacy.

I do need to pair program remotely, and collaborate on design docs. Collaborative editing isn't like a 24/7 feature that you need to enable, and I don't know why the author thinks those are the reasons that they're valuable.

Re: Rethinking the IDE for the 2020s

#44
post #2

“A typical organization in the 2020s has: Hundreds of microservices” Can people with expertise in this situation speak about how typical it is? I guess if you have all those services then you need your IDE to help - but surely this isn’t super common? If it is, what sort of size of micro service are we talking here? I’ve worked in orgs with 3M line codebases, and I’d struggle to find a hundred ways to partition the c…

Microservices are helpful only if the shape your teams match them. Conway's Law. Machine performance is not the main reason for them, but rather division of labor.

Re: Rethinking the IDE for the 2020s

#45
post #10

I switched from IntelliJ to Emacs about a year ago, and honestly these things seem relatively trivial in that environment, because I can write small ELisp functions that automate things like this without much effort or ceremony. For example it's quite easy to automate checking out repos, applying AST refactorings using LSP Mode, and then committing and sending PRs using VC/Magit. Or configuring projects and "Run Butt…

I haven't used it but as far as I know, you can write refactoring scripts using Kotlin or other languages within Intellij, see Tools -> IDE Scripting Console.

The available interface should be the same as what it is for plugins: https://plugins.jetbrains.com/docs/intellij/psi-cookbook.htm...

These should be useful imports:

* com.intellij.psi.JavaPsiFacade

* com.intellij.refactoring.RefactoringFactory

If someone knows better, happy to be educated on this!

https://www.jetbrains.com/help/idea/ide-scripting-console.ht...

Re: Rethinking the IDE for the 2020s

#46

My first time using IntelliJ was on trying to open a dozen microservices and discovering that I needed to mess with modules. Got back to Eclipse, especially because it already have the Launch Group feature to start multiple projects sequentially.

Can't decide if I hate the words "module" or "microservices" more.

Re: Rethinking the IDE for the 2020s

#47

I think a great IDE is more UX intelligent and less UI heavy. I’m thinking like text editor that reads my mind and makes my bad code better

It would be awesome if the IDE nagged people about introducing cognitive overhead issues while they were trying to write a three-screen method with 25 cascading if/else blocks. Nearly every money losing bug I have ever seen lived in one of those methods.

Re: Rethinking the IDE for the 2020s

#48
Did this guy even try?

Its not hard to set up a multi-project view in Intellij. There are a lot of choices for build systems that will track cross repo builds. You can use something like Docker Compose (or several other options) to run many services locally.

Re: Rethinking the IDE for the 2020s

#49
post #19

Cross-repo refactoring (even worse: renaming) seems like an at best worthless and at worst quite costly thing to optimize your toolchain around. Having stable interfaces between systems is very important. The whole point of having separate systems is so you don't have to change one when you change the other. If that's not the case, you're better off with a monorepo.

I see what you're saying but I don't agree. Repo topology might not be a choice. Almost certainly new features will cut across multiple projects. Why make that hard?

Tools should help you do the right thing. They should not be a painful bludgeon against other devs. Enabling fast and easy end to end testing is only helpful.

Re: Rethinking the IDE for the 2020s

#50
Honestly, I'm seeing a lot of these kinds of articles lately. What they have in common is that they're relatively short and expound on some arbitrary point which is highly subjective.

I wonder, are some people writing (and sharing these things on HN), not to share some insight on some subject but to have something to point at during interviews?

Post reply on HN