6 ms·
This is one of the things that bother me about Java; IDE dependency.
by skinowski 3y ago
This is one of the things that bother me about Java; IDE dependency.
- pjmlp 3y agoIDE productivity, and it started with Smalltalk and Lisp Machines, was adopted by C++, Visual Basic and Delphi, among several 4GLs, several years before Java was invented. Everyone is free to use Java in vi with make, if they feel happy doing so. In fact, there were hardly any Java IDEs when the language was released in 1996, which were quickly provided by Smalltalk, Delphi and C++ vendors.
- saagarjha 3y agoJava is somewhat unique in how annoying the typical project is to work on without an IDE.
- pjmlp 3y agoAll languages are annoying to use without IDEs, unless we are talking about toy implementations. I became an XEmacs user in 1995, because everything else in UNIX just sucked in comparison with PC, Mac OS and Amiga IDEs of the time.
- saagarjha 3y agoI've worked on plenty of projects where I can navigate around in a pretty dumb text editor and run "make" and things mostly work. In Java land most things are several folders deep and things are injected in from places I don't understand without tooling to show me what is going on. I mean, have you tried using jdb? It basically exists as an advertisement for an integrated debugger.
- pjmlp 3y agoThat is what many call gdb as well, so it isn't far off. As for messy code navigation, I have similar experiences in large C codebases, so maybe C is also unusable without IDEs.
- saagarjha 3y agoYeah, no.
- pjmlp 3y agoYeah, mostly surely yes, specially offshoring stuff.
- saagarjha 3y agoNo, you’re being facetious. GDB and jdb are not comparable at all. jdb is not meant for actual use. This becomes immediately obvious if you spend like ten seconds with it. There’s no readline support, no tab completion, no fancy breakpoints, poor expression evaluation…I can go on and on. GDB has a learning curve but is unquestionably a professional tool that sees heavy use. Similarly, people can make also sorts of spaghetti projects with C(++) but you can also make very nice ones. With Java the state of the art basically requires you to juggle a classpath at all times. You surely know this: all the tools are designed to be driven by automation. Why are you claiming otherwise?
- lolinder 3y agoIt's not so much that you can't do Java without an IDE—Java is verbose in part because it doesn't assume that you have an IDE to give you context—it's that IntelliJ is such a good IDE that it's hard to go back to weaker tooling once you've become comfortable with it. All my co-workers use VS Code for TypeScript, but I feel crippled when I can't use WebStorm. Not because I can't program without it, but because I'm missing a powerful force multiplier.
- ElectricalUnion 3y agoI used to think that WebStorm was terrible for refactoring; but somehow it's still very far ahead of other editors like vscode, and vscode itself is very far ahead of almost everything else too.
- lolinder 3y agoWebStorm is worse than IntelliJ Java, but that's because TypeScript is much harder to statically analyze. There are fewer safe refactorings in a language that has so much flexibility.
- xcv123 3y agoNo it is straightforward to setup a Maven project manually and use Vim if that's your preference.
- zmmmmm 3y agoBut then they complain they had to manually type an import statement ... before going back to their opinionating on how bad IDEs are. I find the whole notion of software engineers rejecting software applications being useful as a concept while it being the primary focus of their own profession quite fascinating.
- twic 3y agoThere are some weirdly hair-shirt beliefs about development practices in this industry.
- skinowski 3y agoIf a developer does not want to try this framework because an IDE does not yet support a particular version of java, then the situation has gone beyond an IDE being just useful. Personally I use various IDEs, light weight IDE/Editors and even vi/vim depending on the language & situation. Think of it this way: If I asked my team to develop a project/POC with this framework and they came back to me saying that they have to wait for (or prefer to wait for, or whatever) jet brains to add java 21 support to do this, I would not be very happy.
- xcv123 3y agoSo you're saying that you are unhappy that Jetbrains doesn't officially support JDK21 yet? Cool story bro. It's a tool preference. Same deal with any other language. Nothing is preventing your developers writing code for JDK21 today, even with the Jetbrains IDE. You can write and compile JDK21 projects and ignore any related highlighted syntax/semantic errors.
- skinowski 3y ago
- skinowski 3y agoIf a developer says "The blocker for me is IntelliJ supporting Java 21", clearly there's an IDE dependency. Powerful enough for a developer not to adopt a new framework.
- twic 3y agoIt's entirely possible to write Java without an IDE. I've done it, and one of my colleagues has been using VSCode quite happily (we've bullied him into stopping because it doesn't have a formatter and he keeps checking in wonky code - but that's another story). But writing any language is much more productive with a good IDE. For me, the added value in using Java 21 now rather than in a few months is not enough to outweigh giving up the use of an IDE.
- dboreham 3y ago> keeps checking in wonky code Time to add a format check to pre-merge CI.
- 4RealFreedom 3y agohttps://code.visualstudio.com/docs/java/java-linting https://code.visualstudio.com/docs/java/java-linting
- pjmlp 3y agoJava 21 is expected to be released in two months.... Being a bit entitled regarding support of preview features. If said developer is savy enough to use a preview SDK, they should be able to cope with the downsides of lacking all the nice support.
- lenkite 3y agoThats because Java IDE's are ridiculously powerful. When I work in vscode and Python, I am always like: This is so much easier when I am using Java and Intellij. It is not mere IDE Dependency. It is IDE Supremacy. Java is the leader of the IDE master race - the other PL IDE's need to squint to see how far ahead Java IDE's are.
- skinowski 3y agoThis is a fair point. I've seen many frameworks shared in hackernews. But rarely do I see anyone commenting on their IDE's capability to be able to use that framework for go-lang, rust, c, c++, etc. For example, Rust tokio 1.0: https://news.ycombinator.com/item?id=25520353 https://news.ycombinator.com/item?id=25520353 I don't see anyone mentioning an IDE there.
- pjmlp 3y agoBecause they tend to be on the stone age of tooling. In what concerns C++, have a look at VCL, Firemonkey, Qt, Unreal, Godot, DirectX, Metal,... All Apple frameworks for Objective-C and Swift.
- chii 3y ago> It is not mere IDE Dependency. It is IDE Supremacy. Just like how our current civilization is dependent on industrialized agriculture and distribution systems. We cannot imagine how it would be possible to live without those functions. In a way, yes, it is "supremacy", but only if you have access.
- pjmlp 3y agoWhile true, Smalltalk, Common Lisp and .NET are also part of the party.