News for hackers. Stuff that matters.
Re:A Picture of Java in 2020 by djlewald on Tuesday September 22, 2020 @07:30AM (#24553266)
What an absolutely tone deaf thing to say. "It can't be our product that's using out dated philosophies. It's the users that don't know how to use it properly"
Re:A Picture of Java in 2020 by adrian17 on Tuesday September 22, 2020 @09:23AM (#24554098)
In good faith, I read it as "users don't even know what they're missing out on". To be honest, I feel like some of the comments here are at least partially proving them right in this regard.
Re:A Picture of Java in 2020 by brlewis on Tuesday September 22, 2020 @11:06AM (#24555314)
The article now has an update that confirms your reading:

I can see that by using an abridged and edited version of my analysis of the data for this blog post that I’ve unintentionally spread confusion. I’d like to clarify the intention behind my comments on developers and IDEs. For me, if developers don’t understand what IntelliJ IDEA gives them as a fully-featured IDE, that’s a failure on my part, since it has been my job for six years to educate developers on what an IDE (specifically IntelliJ IDEA) can do for you. I feel very strongly that one should never blame users, or prospective users, for failing to understand a product.

My personal viewpoint on IDEs for Java developers comes from having been a Java developer for 20+ years, working on production Java projects large and small. I can’t imagine trying to create a complex enterprise application without the considerable help you get from an IDE like IntelliJ IDEA. I have also seen lots of developers using VSCode and I completely see the use cases that code editors cover well. There’s always room for more than one tool in your toolkit, and understanding what a tool does well helps us pick the right one for the right job.

Re:A Picture of Java in 2020 by erokar on Tuesday September 22, 2020 @11:45AM (#24555885)
I used IntelliJ for almost two years, JS and Java. I hope I never have to use it again. It's laggy, clunky and with a less than intuitive UI. Yes, it is powerful but it doesn't weigh up for its shortcomings.
Re:A Picture of Java in 2020 by icedchai on Tuesday September 22, 2020 @12:18PM (#24556343)
Try Eclipse for a while. You'll definitely want to get IntelliJ back.
Re:A Picture of Java in 2020 by franga2000 on Tuesday September 22, 2020 @12:36PM (#24556600)
I never did understand all the Eclipse hate, especially when compared to IntelliJ. I use both regularly and the only thing Eclipse is missing for me is a proper searchable command pallete. Code navigation, refactoring, debugging and version control all work great, it's much faster and resource-friendly than IntelliJ and many things are a lot more straight forward (like the lack of IntelliJ's confusing changesets and non-native file pickers).
Re:A Picture of Java in 2020 by ben7799 on Tuesday September 22, 2020 @02:02PM (#24557801)
This depends on your use case.

I work on an enterprise project with 100+ gradle projects and a pile of targets for docker containers, kubernetes deployments, DB schemas, Redis stuff, etc..

Eclipse is incredibly slow in this use case compared to IntelliJ and would frequently gobble 10GB of Ram. I switched from Eclipse to IntelliJ earlier this year after years on this project and IntelliJ is amazingly better.

But if you're using some different build system and a different type of project configuration maybe it's the other way around..

I think the thing with these

Re:A Picture of Java in 2020 by icedchai on Tuesday September 22, 2020 @02:05PM (#24557857)
The last project I used Eclipse on consisted of like 50 different maven modules. Plus we were also using a mix of Java and Scala code. The Scala plugin we were using seemed to make everything run very, very slowly. At times, it couldn't even keep up with my typing.

This was back in 2011 though. Obviously things have changed.

The difference between Eclipse and IntelliJ was like night-and-day, however, in terms of performance.

Re:A Picture of Java in 2020 by tmd83 on Thursday September 24, 2020 @02:00AM (#24575702)
I used Eclipse a long time ago and it had horrible performance. But IntelliJ quality had been really bad in recent years. Minor updates causing major performance regression, taking massive CPU when nothing is being worked on. It was way more stable product in earlier versions.
Re:A Picture of Java in 2020 by icedchai on Tuesday September 22, 2020 @12:56PM (#24556907)
Perhaps Eclipse has improved. The last time I personally used it for a project was back in 2011. It was slow, laggy, and I found the UI to be less friendly than IntelliJ. Obviously some of that is personal preference.
Re:A Picture of Java in 2020 by sh87 on Saturday September 26, 2020 @11:57AM (#24599730)
Neither did I. I was introduced to Eclipse before I got my first job and today, 9 years later it still gets the job done. I briefly use IntelliJ IDEA CE only for one static analysis plugin that works better in IDEA, most code editing is in Eclipse.

I don't love eclipse, not a person to get too attached to an IDE, but it is an incredible piece of open source software. It works.

Also too much effort in rewiring keyboard shortcuts that have made their way to my muscle memory. So eclipse it is.

Re:A Picture of Java in 2020 by drkstr on Wednesday September 23, 2020 @03:59AM (#24564266)
CTRL+3 to bring up the command pallette. Cheers!
Re:A Picture of Java in 2020 by franga2000 on Wednesday September 23, 2020 @05:21AM (#24564828)
Thanks!! I opened it once by accident and haven't managed to find it again (it's not called "command pallete" so I couldn't find anything in the docs). I suck at remembering keyboard shortcuts, so this is going to be a significant productivity boost!
Re:A Picture of Java in 2020 by drkstr on Wednesday September 23, 2020 @09:52PM (#24574520)
Haha, yup no problem. I saw someone do it once in a youtube video and was like WTH was even that!!?
Re:A Picture of Java in 2020 by pjmlp on Tuesday September 22, 2020 @02:58PM (#24558437)
Funny InteliJ made me love Eclipse again, and other than Android Studio, I don't plan to touch anything made by JetBrains unless required to do so due to work contracts.
Re:A Picture of Java in 2020 by erokar on Tuesday September 22, 2020 @12:45PM (#24556752)
I do all my coding in VS Code now (JS, Elixir and sometimes even Java).
Re:A Picture of Java in 2020 by icedchai on Tuesday September 22, 2020 @12:58PM (#24556932)
I recently used VS Code for a personal project involving embedded C++ development. I used the PlatformIO extension. It was nice! I will definitely try it for other projects in the future.
Re:A Picture of Java in 2020 by teacpde on Tuesday September 22, 2020 @12:30PM (#24556537)
Being less worse is not enough to win users back.
Re:A Picture of Java in 2020 by p1necone on Tuesday September 22, 2020 @05:18PM (#24560044)
I haven't had this experience - but I do have a relatively powerful PC (16gb ram, SSD, Ryzen 3600). IntelliJ has always been really responsive for me, even on large projects.
Re:A Picture of Java in 2020 by Godel_unicode on Tuesday September 22, 2020 @07:55PM (#24561437)
In my experience helping others get set up, slow JetBrains tools are usually an AV problem, or a (shudder) spinning rust problem. It seems like the developers agree, given that new versions will offer to setup AV exceptions for you automatically.
Re:A Picture of Java in 2020 by lyjackal on Tuesday September 22, 2020 @11:11AM (#24555390)
Well, seems heavy handed either way to give vscode such attention when vscode was only 4% of respondants. Seems reasonable that you wouldn't want a full fledged IDE in certain cases. For example, a small simple project, or if you're mainly a frontend dev who just needs to add a small API
Re:A Picture of Java in 2020 by Godel_unicode on Tuesday September 22, 2020 @07:58PM (#24561449)
It would make much less sense to wait until the cool, free tool was more popular before reacting to it, no? They're not worried about eclipse, it's not very well liked. VS Code by comparison has a lot of shine on it.
Re:A Picture of Java in 2020 by djlewald on Tuesday September 22, 2020 @11:01AM (#24555221)
I feel like it's on the product to make those benefits apparent and easy to use. They're selling me (the user) not the other way around. The message comes off very privileged IMO.
Re:A Picture of Java in 2020 by tootie on Tuesday September 22, 2020 @09:51AM (#24554356)
I'm admittedly an IntelliJ fanboy but I also make extensive use of VS Code and I think JetBrains are 100% correct. The kind of extra features you get from a really good IDE are so easily worth it if you spend even a small amount of time learning how. You may need to invest an hour or two getting it to understand your project setup but then you have real-time debugging, refactoring, granular test running (and debugging) right away. I think the move away from IDEs is coupled to the move away from strict typing (which I also hate) because IDEs lose value when they can't reliably understand your code.
Re:A Picture of Java in 2020 by Sebb767 on Tuesday September 22, 2020 @11:16AM (#24555458)
Yes, but on the other hand, IDEs are slow. I don't mean to say VSCode is lightning fast, but it starts in less than a second. By that time, IntelliJ didn't even open it's loading window. And were talking about a top-of-the-line Ryzen 7 laptop with an NVMe SDD.

For longer sessions that's not a problem, but when you're on battery or quickly hopping into the project to look something up it makes a lot of difference. Also, opening up a foreign project is two clicks and one second, compared to project creation and then loading+indexing when using IntelliJ.

I love the IntelliJ line of IDEs. But VSCode outcompetes it in simplicity by far. Especially when we're talking about something like a simple Node project, where compilation+execution is far simpler than something with a full build pipeline with artefacts.

Re:A Picture of Java in 2020 by SomaticPirate on Tuesday September 22, 2020 @01:34PM (#24557446)
But the trade off here is indexing. Visual Studio code provides no indexing functionality by default (some LSPs provide basic caching but not much). This is the killer feature for me. I can load up Kubernetes in Goland, cook an egg on my laptop while it indexes (about a minute) and have lightning fast goto def and find reference for the rest of the day. VS Code will load quickly but every single goto def will take ages.
Re:A Picture of Java in 2020 by neurotrace on Wednesday September 23, 2020 @10:56AM (#24567844)
> VS Code will load quickly but every single goto def will take ages.

I wouldn't blame that on VS Code but on the relevant extension. Go to Definition is instantaneous for me when I'm working in TypeScript

Re:A Picture of Java in 2020 by Sebb767 on Tuesday September 22, 2020 @03:20PM (#24558649)
That's why I mentioned longer sessions. I tend to jump quickly between many new projects, in which case the indexing is annoying.

When you start a longer session, the overhead is very much worth it, I agree fully.

Re:A Picture of Java in 2020 by djlewald on Tuesday September 22, 2020 @11:06AM (#24555315)
I prefer to have the application ran on my machine in a fashion similar to how I'm going to deploy it. Using a "large" ecosystem IDE detracts from that as the application is now ran by an application rather than in a system. And almost all the features you listed are possible in VSCode. You just have to take an hour or two to set your system up to run it.
Re:A Picture of Java in 2020 by heavyset_go on Tuesday September 22, 2020 @03:59PM (#24559111)
> And almost all the features you listed are possible in VSCode

As someone who wishes they could drop everything else and just use Kate or VS Code, I disagree. IDEs like those that JetBrains offers have refactoring tools that are unmatched by what VS Code and its plugin ecosystem currently provide.

Re:A Picture of Java in 2020 by p1necone on Tuesday September 22, 2020 @05:11PM (#24559950)
Depending on the language you're writing VS code plugins are a bit hit and miss. I've tried using it for Rust dev for example, and everything kind of worked, but with way too much jank. I constantly had problems with autocomplete suggestions being duplicated and linting being slow or not updating errors. Enough to make me wish I had a dedicated IDE.

More widely used langs have better experiences though I'm pretty sure. And maybe Rust support has gotten better? Seems that other commenters in this thread had positive experiences.

Re:A Picture of Java in 2020 by steveklabnik on Tuesday September 22, 2020 @05:43PM (#24560288)
There has been rapid improvement in rust-analyzer for a while, so yeah, stuff has been getting way better for quite a long time. Every week there's new stuff with it.
Re:A Picture of Java in 2020 by tootie on Tuesday September 22, 2020 @08:38PM (#24561675)
I think there's room for both. And if I've learned anything watching node developers working in VS Code it's that they work exclusively in webpack dev mode and let npm worry about production.
Re:A Picture of Java in 2020 by neurotrace on Tuesday September 22, 2020 @11:30AM (#24555644)
I get real-time debugging, refactoring, and granular test running/debugging in VS Code. I also work almost exclusively in TypeScript, F#, and Rust. My anecdata says that this argument isn't very accurate.
Re:A Picture of Java in 2020 by cutler on Tuesday September 22, 2020 @07:59PM (#24561455)
How is there a move away from strict typing? If anything it's the opposite in dynamic languages - Python/typing, Ruby/Sorbet, JS/Typescript, PHP/type hints.
Re:A Picture of Java in 2020 by ed25519FUUU on Tuesday September 22, 2020 @10:26AM (#24554685)
Vscode is used by by many Rust and Go developers. I would wager to say it’s the most popular IDE for those languages.
Re:A Picture of Java in 2020 by no_wizard on Tuesday September 22, 2020 @04:41PM (#24559635)
For those who don't know, JetBrains has a plugin for Rust (I think really targeted at CLion but i think its installable from multiple IDEs like Pycharm as well)

https://www.jetbrains.com/rust/

and of course, there is the GoLand IDE

https://www.jetbrains.com/go/

Which I personally like alot.

VSCode doesn't interpolate HTML variables for me. Its the small features that add up over time I miss whenever I try to switch development environments.

VSCode has a really good TypeScript/JavaScript and admittedly Python developer story, and the ecosystem has produced some pretty robust Style editing extensions, but if you want things like autocompletion for your template variables, I've always found you have to look elsewhere, whether it be handlebars, django templates, Jinja templates etc (and this is one example, among many)

VSCode doesn't autoload JSON schema (need an extension or hope for the best)

VSCode Extensions are also suffering from some pretty serious lack of maintenance too. Lots of extensions, very little movement on updates. I've had more than one of them break on me in major ways.

Re:A Picture of Java in 2020 by cobbzilla on Tuesday September 22, 2020 @06:45PM (#24560891)
I've recently developed a Rust app using CLion + Rust plugin, and I love that interactive debugging works, and works well. It's kind of awesome.
Re:A Picture of Java in 2020 by dathanb82 on Tuesday September 22, 2020 @11:28AM (#24555621)
I wonder how much of that is just the lack of really good IDE tooling for Rust? GoLand is pretty good, so I don’t know if similar question applies to Go.
Re:A Picture of Java in 2020 by dpc_pw on Tuesday September 22, 2020 @07:22PM (#24561191)
Java pretty much requires an IDE because it's verbose, bloated, everything is inconvenient without IDE assistance and it's easy to create bugs.

Something as simple as opening a file of code requires IDE, because everything is hidden behind `./src/main/java/com/whatever` nonsense. The language was designed for IDE.

In Rust there is hardly any need for IDE (or a debugger), as long as your text editor has LSP support. Hell, even without LSP support it feels quite OK to write Rust code.

I use Intellij for Java, and Kakoune for Rust, and I really dislike working with Java. The fancy refactoring features don't make up for how verbose, clunky and inexpressive Java is.

The Rust way is to have great modular and reusable tooling for everything. Even stuff like complex refactoring can be achieved without an IDE with something like https://github.com/google/rerast

Re:A Picture of Java in 2020 by raydev on Tuesday September 22, 2020 @04:12PM (#24559265)
Because the only viable alternatives are vim and emacs, which require a bunch of upfront config outside of the old-school pure keyboard interface.
Re:A Picture of Java in 2020 by defnotashton2 on Tuesday September 22, 2020 @10:12AM (#24554548)
Yes but they are clearly missing something and that's simplicity. I use goland because ei get go refractor and move utilities but I get annoyed when I feel like I have to fight it to do simple things. I think the default keyboard shortcuts between the two products show a lot.
Re:A Picture of Java in 2020 by realusername on Tuesday September 22, 2020 @07:57AM (#24553442)
Yeah, they just don't get it, they have stayed for so long in the enterprise java world that they can't comprehend that everybody else moved on from those bloated IDEs. On my case if I had a choice even between Notepad++ and IntelliJ (to pick an extreme example), I would still use Notepad++.

VScode is a very nice middle ground where the defaults make sense and you can get powerful extensions for everything else you want, there's a reason it's so popular.

Re:A Picture of Java in 2020 by rob74 on Tuesday September 22, 2020 @08:21AM (#24553623)
Am I the only one who finds it a little bit ironic to call IntelliJ bloated, and then recommend VS Code, which may not be that "bloated" feature-wise, but is based on a browser engine, so also not really light on resources? A VS Code-like product using the Sublime Text engine would be the ideal development tool for me. As long as that's not available, I'm using PHPStorm at work (my company is paying for it) and VS Code for my private projects in Go - still haven't tried out Goland, IntelliJ's Go IDE, but so far I'm happy with VS Code.
Re:A Picture of Java in 2020 by mumblemumble on Tuesday September 22, 2020 @09:32AM (#24554189)
No, there is no irony there.

HotSpot, under a typical configuration, eats up about 250MB just sitting there doing nothing. I don't know what Electron does under similar circumstances because I've never tried to measure it, but I know that I regularly see Electron apps using less than 70MB, so we can estimate an upper bound on Electron's typical contribution to bloat as being no more than ~30% of Java's.

For a slightly more apples-to-apples comparison that's also quite a bit more apples-to-jicama, if I open vscode and IDEA on the same project (a small one I'm just getting started on), vscode and all its helpers are using 316MB, and IDEA is using 1.08GB. I doubt that much of that difference is actually attributable to using a browser rendering engine for GUI layout. In fact, I'm guessing that Chromium's net impact on the situation falls below the noise threshold of this comparison. So, yeah, not worried about it. FWIW, vscode also started up quite a bit faster, and I experience less keyboard lag when using it.

And, if we're looking for mature and full-featred cross-platform GUI toolkits, that's about it for your options. Yes, there's QT, but, with a sticker price of $4000/developer/year, it's hard to criticize people for not choosing it. And there's GTK+, which is fine, I suppose, but not exactly everyone's cup of tea.

Long story short: This Electron-flaming meme is getting old. If you don't like JavaScript, just come out and say it. If you don't like how Chromium is eating the world, that's a fair point, too. But stop scapegoating Electron for things like how Slack's desktop app used to leak memory at an astonishing rate. That was always the app developer's fault, not Electron's.

Re:A Picture of Java in 2020 by vips7L on Tuesday September 22, 2020 @09:56AM (#24554407)
> HotSpot, under a typical configuration, eats up about 250MB just sitting there doing nothing.

This is much lower in newer jdk's [0].

> For a slightly more apples-to-apples comparison that's also quite a bit more apples-to-jicama, if I open vscode and IDEA on the same project (a small one I'm just getting started on), vscode and all its helpers are using 316MB, and IDEA is using 1.08GB

I believe this to just be intellij bloat and not JVM because it just does too much. I run VSCode with the Java plugins and ZGC (read: eclipse language server, which is all jvm) and the language server only ends up using around 250mb of ram.

[0] https://cl4es.github.io/2019/11/20/OpenJDK-Startup-Update.ht...

Re:A Picture of Java in 2020 by mumblemumble on Tuesday September 22, 2020 @10:18AM (#24554605)
I that you're right that it's just IntelliJ doing too much. Similar to how the Slack app's formerly astonishing memory consumption was because it was trying to retain all of Giphy in memory for all time.

Somewhat related, back when I was a C# developer, I spent a long time being confused over the community's somewhat polar opinions on whether Visual Studio is slow and bloated, or lean and snappy. Eventually I realized that the difference of opinions was because some people's employers buy them copies of ReSharper, and others don't.

Re:A Picture of Java in 2020 by jolux on Tuesday September 22, 2020 @10:45AM (#24554993)
IntelliJ has more features than even the best language service I’ve used, C#’s. The language server tools are catching up but for integration and polish you still can’t beat JetBrains.
Re:A Picture of Java in 2020 by ptx on Tuesday September 22, 2020 @02:05PM (#24557856)
On the subject of the (lack of) snappiness in Visual Studio + ReSharper, Jetbrains Rider comes with the ReSharper functionality built in and feels a lot snappier.
Re:A Picture of Java in 2020 by nullsense on Tuesday September 22, 2020 @04:10PM (#24559240)
Rider is incredible. We lobbied for it at work a couple year ago and it's been so darn nice to use.
Re:A Picture of Java in 2020 by thu2111 on Tuesday September 22, 2020 @11:02AM (#24555239)
HotSpot, under a typical configuration, eats up about 250MB just sitting there doing nothing

Mmmm, I have two projects open in IntelliJ right now, one of which is quite large, quite a few tabs, and it's using 366mb of heap.

You have to watch out though - Java won't collect garbage if it doesn't have to. This fools a lot of people. They look at memory usage and assume it must really be using that much memory, even when it's not. From the perspective of the JVM if the memory is there, it may as well be used, because freeing RAM just to leave it pointlessly empty just wastes CPU time, battery, generates waste heap etc. Why not use it? The only time it matters is if you have something else that wants the memory and it can react to that I believe. Or if you're measuring it against other tools of course.

I guess over time this will go away as a talking point because the JVM is getting more aggressive at collecting memory even when there's RAM spare, partly because of containers and partly because of threads like this one.

Re:A Picture of Java in 2020 by gunnarmorling on Tuesday September 22, 2020 @03:05PM (#24558511)
That's already happening with modern JDKs and GCs; as of JDK 12, G1 uncommits unused heap eagerly (see https://openjdk.java.net/jeps/346), and the parallel GCs Shenandoah and ZGC do the same.
Re:A Picture of Java in 2020 by geodel on Tuesday September 22, 2020 @10:57AM (#24555167)
Considering how avid Electron user tell others how files should not be even bigger than few hundred lines considering electron croaks on that. Or without irony they tell how fast Electron is on 6-core/32GB machines and that everyone should upgrade. They should be last person to talk anything about performance.

> Long story short: This Electron-flaming meme is getting old.

No I think it remains perfectly relevant today. And Electron products are not really enough shit that they so well deserve.

Re:A Picture of Java in 2020 by bananaface on Saturday September 26, 2020 @07:36AM (#24598002)
I feel like the sentiment that electron flaming is uncool because it's old (???) is indicative of a broader problem.
Re:A Picture of Java in 2020 by ClumsyPilot on Tuesday September 22, 2020 @10:21AM (#24554624)
I think this is a great comaprison of the wrong things - i do not believe RAM used is what matters, not if it's under 4 Gb. I think it's CPU, and VS code consistently takes more CPU to achoeve the same job, and for longer.
Re:A Picture of Java in 2020 by exabrial on Tuesday September 22, 2020 @02:16PM (#24557990)
> HotSpot, under a typical configuration, eats up about 250MB just sitting there doing nothing.

Citation needed. Because right now we're running most our Apache TomEE and Tomcat applications in prod on a 64m or 128m heap and handle hundreds of requests or messages per second. And this is on an ancient JDK1.8. On JDK11, we're thinking of running between 16m and 32m heaps.

Re:A Picture of Java in 2020 by dbt00 on Wednesday September 23, 2020 @02:23AM (#24563611)
You do understand that heap size != memory footprint, right? The JVM has its own memory footprint before you start allocating java objects.
Re:A Picture of Java in 2020 by exabrial on Wednesday September 23, 2020 @11:37AM (#24568297)
Yes. So the absolute worst case scenario is one our 128mb heap apps that uses direct memory byte buffers for off-heap object caching. It's resident set size is roughly 387m, which up to 196m of that is byte buffers. I can tell using JPS the heap is full allocated, and the application has been running for several weeks so I imagine the cache is full. That leaves an overhead of 64m.
Re:A Picture of Java in 2020 by exabrial on Wednesday September 23, 2020 @11:44AM (#24568375)
For funzies, I looked at one our ActiveMQ Message brokers, which are ran on 1g machines with a 640m heap. The heaps are fully allocated and the resident set size is ~658m. Linux reports it has 66M of free memory and 95M of available ram. 440m of swap is being used and is only lightly being paged out under light load of 400 msgs/s. This same setup can push 2000msg/s before GC thrashing becomes an issue and we need more heap.

So no, I don't think there's any truth to the claim "Hotspot always uses an extra 256m of memory". Sounds like the kernel is doing what it's supposed to: free memory is wasted memory.

Re:A Picture of Java in 2020 by vlovich123 on Tuesday September 22, 2020 @09:53AM (#24554378)
QT is free if you’re OK linking it as LGPL.
Re:A Picture of Java in 2020 by darksaints on Tuesday September 22, 2020 @10:53AM (#24555106)
Slack's bloat may be the developer's fault, but the same could be said about Atom, and Discord, and Evernote, and Skype. And even if you can't say it about VSCode itself, you can certainly say it once you introduce a handful of extensions.

Electron isn't the problem. All of the technologies it is built on are the problem. They require extreme measures to control quality and maintain performance for anything larger than a trivial crud app.

Re:A Picture of Java in 2020 by NationalPark on Tuesday September 22, 2020 @10:04AM (#24554474)
You'll have to post more about the OS and how you measured memory consumption. If you're just looking at something like htop, it can be pretty misleading.
Re:A Picture of Java in 2020 by ehvatum on Tuesday September 22, 2020 @10:01AM (#24554443)
I dread the day Siemens inevitably buys Qt (it will happen) and the license structure changes to $65k/per-seat buy-in to the “base” toolkit which includes QObject and nothing else. Also, a $7k/year per-seat maintenance fee for “base”.

If you want the QtGui module, look north of $100k buy-in.

Re:A Picture of Java in 2020 by neutronicus on Tuesday September 22, 2020 @10:36AM (#24554865)
They certainly extract their pound of flesh for Parasolid

Which to be fair is a very impressive piece of technology

Re:A Picture of Java in 2020 by realusername on Tuesday September 22, 2020 @08:26AM (#24553653)
I'm well aware that VSCode as a tech product is also full of bloat internally, the difference is that this bloat is mostly hidden to the user. What they have going for them is that it's a well designed text editor with sensible defaults in the first place, it "just works" and it's simple, that's also why it's so popular. You can add as much (or as little) as you want on top of it.
Re:A Picture of Java in 2020 by Polylactic_acid on Wednesday September 23, 2020 @02:42AM (#24563713)
The UI is also a lot cleaner. There are only a couple of icons and each of them does something I use regularly. Jetbrains products have 300 icons and I use about 5 of them. Once I worked out I could do everything I use rubymine for in vscode with plugins I stopped paying that license fee.
Re:A Picture of Java in 2020 by jdmichal on Tuesday September 22, 2020 @09:26AM (#24554129)
> VS Code ... is based on a browser engine, so also not really light on resources?

You say that, but IntelliJ is not exactly slouching on resource usage. I see far lower memory usage in VS Code than I do IntelliJ opening the same projects.

Re:A Picture of Java in 2020 by CodeGlitch on Tuesday September 22, 2020 @12:36PM (#24556606)
> but is based on a browser engine

I see this critisism of VSCode a lot - but the job of a browser engine is to render text really fast! Rendering text is something you want to do in a text-editor is it not? Why not use the best tool for the job?

You're probably right that something like Sublime Text is faster - but that's a massive undertaking that would take a lot of engineering to get right.

Re:A Picture of Java in 2020 by bananaface on Wednesday September 23, 2020 @02:59AM (#24563835)
The job of a browser is to render a wide range of UI specifications reliably and support a collection of broken but grandfathered web languages, not to render them quickly. Speed is nice, but it comes after those concerns.

The point of Electron is to allow people to develop UIs quickly, leveraging their experience with the web. Electron is extremely bloated & slow. To some degree it has to be.

If browsers were about speed, they wouldn't interpret Javascript. I'd argue they'd probably force the UI to be specified in a form that explicitly disallows inefficiencies and probably isn't turing complete. I'd argue a domain-specific solution for rendering highlighted code specifically could be a lot faster than a browser, like multiple orders of magnitude. We know that's the case by virtue of the fact we could even do it at all in the 80s.

Re:A Picture of Java in 2020 by nullsense on Tuesday September 22, 2020 @04:07PM (#24559209)
How on earth would you navigate any reasonably sized Java or .NET project in Notepad++?

That would be so far beyond impractical you wouldn't last an afternoon.

Re:A Picture of Java in 2020 by tshanmu on Tuesday September 22, 2020 @09:23AM (#24554099)
"Clearly, you are holding the phone incorrectly"
Re:A Picture of Java in 2020 by missosoup on Tuesday September 22, 2020 @09:55AM (#24554400)
As someone who used to heavily use intellij and visual studio, and briefly defended them when I transitioned to a shop that was full of vim/emacs hipsters, I throw up in my mouth a little bit every time I recall the times when I was using them.

The way of the future is definitely lightweight code editors loaded with as much or little customisation as the user desires. Monolothic IDEs are long dead outside of the Enterprise™© world.

Funnily enough, I also found myself using Java and .net less and less. I never had much love for Java, but C# was an amazing language that somehow got gobbled up by the Enterprise black hole and it's a huge shame.

Re:A Picture of Java in 2020 by ClumsyPilot on Tuesday September 22, 2020 @10:17AM (#24554596)
Midular, sure, but lightweight? Once you've loaded VsCode with all the plugins, It's actually slower than a proper IDE.
Re:A Picture of Java in 2020 by neurotrace on Tuesday September 22, 2020 @11:32AM (#24555679)
I have a pretty beefy VS Code configuration and it still launches 4x-5x faster than Visual Studio
Re:A Picture of Java in 2020 by g_b on Tuesday September 22, 2020 @02:02PM (#24557812)
What does your typical work day look like? Do you work on multiple things that don't require coding? Why does launch-time matter at all?
Re:A Picture of Java in 2020 by nullsense on Tuesday September 22, 2020 @04:22PM (#24559395)
This is the central question in my mind too. In a typical work day I might launch a project once. Heck, I might only launch it once a week to be honest.

I spend all day navigating and reasoning about the codebase I'm working in, so I need strong tools that aide me in that. That's where VSCode doesn't hold a candle to Rider IME. So Rider is my daily driver at work.

The responses from some devs leave me wondering what their env/projects/work day actually look like and how does their tooling actually work for them in practice.

It would be incredibly interesting to see the landscape of different work envs and tooling and do a comparison of what happens in each given env when you swap out the tooling.

Re:A Picture of Java in 2020 by ubercow13 on Tuesday September 22, 2020 @07:04PM (#24561046)
Launch time matters for Visual Studio because sometimes it likes to lock files that git needs to move, so it requires closing regularly.
Re:A Picture of Java in 2020 by neurotrace on Wednesday September 23, 2020 @10:46AM (#24567708)
> What does your typical work day look like?

A typical work day has me working in at least two different projects. Visual Studio/Rider is so heavy that I don't want to keep two instances of it running all the time and it's so slow that switching between projects in a single instance carries a heavy context switching cost. I also have a set of markdown files that I use as a second brain which I like to open periodically to check notes or jot down ideas.

> Do you work on multiple things that don't require coding?

I also write documentation, answer emails, review PRs, occasionally modify art assets, maintain team documents, etc. I don't always want Visual Studio/Rider hogging all of my memory or chewing up the CPU.

> Why does launch-time matter at all?

I hope what I already wrote made it clear but TL;DR I jump between projects, don't want multiple instances consuming all my resources, and (bonus) I frequently need to restart Visual Studio because it can get in to a weird state when working in C#/F# hybrid projects.

Re:A Picture of Java in 2020 by mantap on Wednesday September 23, 2020 @12:13AM (#24562902)
Maybe VSCode could show a little traffic light next to each plugin indicating its latency impact.

What IDEs have going for them is that the features are generally constructed by people who know what they are doing and test them at the same time. Whereas a plugin could be written by anyone. Also there's a great "works on my machine" when it comes to performance: the plugin author will just test the plugin on its own rather than with a bunch of other plugins, so their performance target is artificially low.

Re:A Picture of Java in 2020 by mrlala on Tuesday September 22, 2020 @10:36AM (#24554867)
> but C# was an amazing language that somehow got gobbled up by the Enterprise black hole and it's a huge shame.

What in the world do you mean by this? C# is more amazing than ever...

Re:A Picture of Java in 2020 by missosoup on Tuesday September 22, 2020 @06:48PM (#24560906)
The number of new non-enterprise projects built on C# is off by a factor of 10-100x compared to Python/Node/Rust. And even in enterprise, it's now dying. .net core is an attempt to rescue it on the cloud but it's too little too late.

No matter how amazing the language is, it has become hard associated with enterprise work and not much else. It didn't need to be that way, that's Microsoft's doing.

Re:A Picture of Java in 2020 by mrlala on Wednesday September 23, 2020 @02:43PM (#24570439)
> it has become hard associated with enterprise work and not much else

Maybe you are right on that, but why do you consider that a bad thing? Different languages are for different things.

Your statement of non-enterprise projects off by a factor of 10-100x is partly because people jumped on the non-statically typed mess that Python is. Especially with all the AI related stuff.. yeah if you are doing some random little research project and you are a math person but don't want to take the time to do programming "correctly", then sure you can jump into python, use some libraries and get some results. It has it's purpose.

I don't know it's just silly to bulk everything together and pretend you can compare them.

Also saying .net is dying in enterprise is basically laughable.