is the hate justified?
do i update or not?
>>109427918Yes. Garbage language.
>>109427918the hate is outdated. all things considered it's probably the best memory-safe language.it just werks, has a vast and mature ecosystem, is truly cross-platform and has a gui toolkit out-of-the-box.the committee working on the language is incredibly disciplined and selective.I'm always tempted to try other languages, but they always happen to be retarded in some major way.
>>109427929criticizing without offering an alternative is easy.
>>109427924update what?
>>109428038This guy is in every post about java saying how hava is cross platform and has cross platform UI. Yeah, if you want the shitties possible UI, it has one. Retarded take.
>>109428506this guy is in every thread blaming his tool for the shitty UI he makes. jk, you're a nocoder anyway.pro tip: there are in fact other UI libraries. you don't have to use the one provided out-of-the-box.it's retarded to shit on an extra that other languages don't even provide at all.also imagine being outraged about someone being pro-Java in a Java thread.didn't know that only haters are allowed. lmao.
>>109428038The heckin' GUI toolkit is literally legacyslop that's not in active development anymore.Other than that, I don't see how C# is not better. Well okay, C# doesn't have LTS and Java does, which is a big thing.
>people used to hate java because of the jvm>now "people" ship entie chromium instances with their kuso>people used to make fun of gentoo for long compile times>now "people" use rusttimes have changed
>>109427918Why is the logo a coffee cup?
>>109428506swing is fine, even better than native os look as designers went mad, got rid of scrollbars and made buttons indistinct.swing buttons still look like buttons.
>>109427918Right now there is no hate towards Java. The Java vs .NET battles ended a long time ago, many years ago.I (and my ai agents) write in Java both for work and for personal needs. I think the language and the ecosystem around it are some of the best available today. If you want syntactic sugar, Kotlin is always there, but syntactic sugar has also been added to Java itself over the last few years.At the same time, almost any corporation or large company likely has tons of backends written in Java. It used to be Spring, and now Quarkus is actively used too.>>109429213Swing is a legacy framework. But it just works. Yes, it is old, but it is supported on macOS, Windows, and Linux. Desktop applications are not popular right now, which is why the framework is not heavily maintained. Most of Java is backend. As for comparable frameworks, the only one I know is Qt. Lately a lot of different things have appeared in Rust like Tauri, but usually the GUI is rendered through a WebView rather than custom or native controls. Actually, even Qt does not use native controls, but it draws its own instead of using a webview. Swing is the same.It is hard for me to say what exactly I miss in Swing. I use it for my personal utilities and sometimes maintain a couple of apps at work.
>>109428506swing is old but it's ok. you can create good looking UIs with swing too, especially with llms.
As far as I can tell, hating on Java was the thing non-programmers did to masquerade as programmers in programmer circles like online forums. Saying you dislike Java (and not elaborating at all) is like the programming equivalent of those people who pretended to be gamers in gamer circles just for the attention, saying things like "the cake is a lie".The thing that's most odd about this is that was over a decade ago. And they still repeat it.So it was a huge red flag then, and now it's an even bigger red flag because it's outdated too.It's a very likely chance that anyone complaining about Java in 2026 is a first year programmer at most. Way out of touch.
>>109429348>supported on macOS, Windows, and Linux>the only one I know is QtUhh, are you a time traveler from 2010 perchance? Electron literally just works on all 3 platforms, and you can make it look however you want a lot easier than with Java. Obviously JS doesn't have the same performance as Java, but you don't need it anyway in most cases. Desktop development is a niche.Electron is in active development (not legacy), allows you to make UIs without proprietary special snowflake humiliation rituals, and it's good enough.
>>109427918I can only speak from a DevOps perspective. If you are maintaining legacy Java SE and JEE 1.8.0 applications, yes. It's dog shit. If you're using 21+ it's a little easier to deal with. I don't know anything beyond trying to deploy applications our developers write (monolithic).
>>109429449>Electron>without proprietary special snowflake humiliation ritualslol
>>109429260I love statically compiled standalone binaries, but being able to swap the runtime/VM out dynamically is appealing. Running the same program with different configurations and optimizations at the runtime level on demand without needing to rebuild is cool.But ultimately I'd still rather have static programs with sane build systems. Rebuilding all of your software should be equally as effortless as swapping the VM and it just isn't, but if it was I'd probably prefer that to VM languages.
>>109429516java can be packaged as a standalone binary without needing the host machine to have java installed.I don't develop desktop apps, but if I did I would do that.I'm a Java dev but I don't think users should be required to have a runtime installed. that's annoying.
>>109429449Yes, I mentioned in my post that modern frameworks require a WebView when it comes to Rust. In the case of Electron, a Chromium engine is needed.In this sense, Swing and Qt are among the few frameworks that do not require anything browser-based.Is Electron good? It is hard for me to say. I have used Obsidian, VS Code, Codex (GUI), Discord, Postman... I did not like these interfaces. At the same time, I am a big fan of JetBrains IDEs, and their tools are written in Swing with deep tuning. Maybe I am just biased, but these are just my feelings. I prefer older desktop interfaces, and Qt and Swing are much better suited for this than the modern mix of browser technologies running on the desktop.
>>109429574This is interesting to hear. I haven't checked on the state of static compilation in a while but last time I tried with something like graalvm it worked well for the things it worked with, but not every library would compile. This was a while ago though so things have likely advanced.Around the same time, I was doing the same assessment for dotnet.I want to write in a functional language, but get the benefit of platform support and tooling. So I was considering Kotlin or F# but I didn't want to learn them if I couldn't easily cross-compile + static build them.I'll have to do research again on the current state of things. Watch me end up using SBCL instead of either.>I don't think users should be required to have a runtime installedStrongly agree. Including bundling it since that just sidesteps the problem and worse multiple programs now have multiple copies of the runtime by their side.
>>109429613>KotlinFucken meant Clojure.
>>109429574How is this done? I'm stuck in the shadow realm of JRE/JDK 1.8.0 so it's always required for us to have a copy of Java runtime on the system.
>>109429643We have two options:1) jpackage+jlink. We simply bundle a stripped-down version of the JRE into our program. When creating the installation file, you just select the JRE modules that our program needs, and only those are included; anything unused from the JRE is left out. This is a normal JVM, just in a somewhat reduced form, and it can all be packaged into an .exe, .dmg, or .deb file.2) Graalvm. This is full compilation into a true binary file. The downside is that if your code actively uses reflection, compilation probably will not work. Unfortunately, Graalvm cannot fully handle the Java reflection found in a regular JVM.
>>109429613I haven't tried it but jLink sounds interesting. It's included in the JDK.It creates a custom runtime from only the modules that you actually need.in most cases it should result in a much smaller runtime than the JVM.
>>109429714Very cool. I'll check this out when I'm not procrastinating on other things.
>>109427918Hate is never justified.
>>109429925I hate niggers
>>109429612Honestly, Tauri looked interesting to me, but unironically expecting me to write Rust for a desktop and mobile meme app is completely out of touch with reality. If it used a more sane language, it could be super popular.To me, VSCode feels like a very solid program in general, and it feels as if most people just hated it because it's cool to hate on electron. In comparison, MS Teams is a disgrace to humanity (afaik it doesn't even use electron anymore).InelliJ doesn't feel as good as its fans say it should (e.g. scrolling feels really jank), but it's overall fine. I like old desktop UIs too, but I'd go for a better developer experience over native looks or feel. Not that Swing looks native (it looks soulful though).
>>109429974They can't help having a much bigger wiener than you.You might want to stick to Rust, as then you can pretend you're a tranny and not be so embarrassed.
>>109429480tell them that you'll only accept docker images from them. that way they have an incentive to make running the thing easy
>>109430866A white tranny cuck said this.
no but arguably the hate toward a certain style of java code issee jetbrains IDEs for a great example of java software
>>109429993Just use Tauri and have AI write the rust for you.
>>109431258It runs on top of WebView. You understand, right, that there's not much difference between an Electron app and one built on Tauri or similar frameworks (like Wails for Go)? Ultimately, it's all executed on Chromium's V8 engine (or JavaScriptCore for MacOS). All rendering still happens through the browser's rendering engine.
Java applets were great and they should have just fixed the security chasms rather than wait 30 years for WASM. I had such a positive experience with applets I'm absolutely baffled by people that hate them.
>>109431436for some reason for java applets they chose to keep plugging the holes that get discovered instead of building from no exposed surface area upwards.
>>109427918yes
>>109431258No way fag. I could learn Rust if I wanted to, but I'm still not going to use it for this because it's simply not meant for these tasks. It's like telling someone "hey there's this super cool le revolutionary cross platform framework and it can do desktop and mobile and mainframes and satellites and it's rendered in a webview it's super easy oh btw you have to write your business logic in C++ btw and that's a good thing btw :^)".I would much rather use Electron. Sadly, that doesn't support mobile platforms. The only realistic cross-platform mobile solutions are Flutter (warning: made by Google, uses its own weird language nobody asked for) and React Native.
>>109427918it's good for drones churning out enterprise slop.it's bad for anyone with a soul.
>>109431436People hated them because on most machines of the era, they'd bog down as the runtime environment was loaded in from disk and then the applet slowly initialized. People would embed applets in their webpages without warning, so you'd click on a link to a page and suddenly have to deal with everything becoming slow as molasses due to the runtime loading. Most of the time, people hitting the page weren't even interested in the applet but it was still there, fucking up everyone's experience. >poorfagWhich brings up the "well, fuck you" attitude of people who made applets. They were sure they were inventing the future and anyone who spoke up about any of the legitimate complaints were dismissed as troublemakers and Luddites.
>>109429265because every *.class file starts with CAFEBABE hex
CAFEBABE
>>109431844>SwingClojure>JavaFXClojure>web frontendClojureScript>FlutterClojureDart>shell scriptsBabashka (fast-starting Clojure interpreter with numerous useful libs baked in)btw Clojure does the backend in the JVM just as well. seriously Clojure is the best language I have tried and I've written a lot of Go, Python, JS/TS, Rust, and Elixir. I've tried other languages too but those are the ones I have written the most of.I use Hiccup to replace writing HTML and HoneySQL to replace raw SQL
>>109427918No. It runs on 3 billion devices.
>>109431436Because Java applets were just external applications embedded into the page.If you ignore that JS is a shittier language, the HTML DOM scripting is literally the whole point of having a language runtime in a web browser. Otherwise you can just download an exe and get the same experience as a java applet.
>>109431345Anon said the problem was rust, not using a WebView, retard. Also on Linux Tauri uses WebKitGTK like on macOS.>>109431844Why bother learning a programming language when AI does it for you? Honest question.
>>109432033>Clojure I just looked it up. I have to congratulate you for bringing it up. Finally I language I would absolutely choose to use Rust over for writing a desktop/mobile meme app.
>>109432052WebView comes with its own problems, but it's not a dealbreaker like Rust.>Why bother learning a programming language when AI does it for you?Mindlessly vibe-coding stuff without understanding the language and the design leads to unmaintainable slop. This is acceptable for some small and simple programs, but not for more complex stuff.AI is extremely useful for learning new languages and frameworks too.
>>109432052If AI does it for you, why don't you have it make GTA 6 and become a millionaire? Honest question.
>>109427918It's shit, but it works, but it's shit
>>109432130how is it shit? at least pretend like your opinion is based on reason.
>>109432060>Finally I language I would absolutely choose to use Rust over for writing a desktop/mobile meme app.ok lil bro
>>109427918yes java was the begining of tech dying. The original slop, king slop.
>>109432052>Why bother learning a programming language when AI does it for you? Honest question.because I already know several and AI is a waste of time, all LLMS do is plagarise.
>>109427918actually completely fine until you actually have to build and deploy your app. what a fucking pile of trash. maven, gradle, xml configs. literally every other language you just fucking run. literally even rust compiles faster AND JAVA ISNT EVEN A COMPILED LANGUAGE.
>>109429698just to add to what this anon said, using java's jlink creates a platform specific jvm (operating system and arch)
>>109432480Java is a compiled language.
>>109432480Java is compiled—just not to your CPU.
>>109428506I can name four ui kits for Java off the top of my head. AWT, Swing, JavaFX, and SWT. I'm sure there are several more. What can your language do? So electron shit? Bloat.>>109432480>rust compiles faster[X] Doubt
>>109428038>the hate is outdated. all things considered it's probably the best memory-safe language.wrong, the hate is as relevant as ever, this shit consume and waste memory like nothing else, jenkins has lost the CI/CD war because it's java shitware and I've seen many other such case where I work, it just leaks and leaks and there is nothing you can do about it, all the jvm implementations are equally dogshit, including graalvm and including compiled to native binary.>it just werksno it does not >has a vast and mature ecosystemmaven is as dogshit as ever and barely works as intended.>is truly cross-platformlmao no>has a gui toolkit out-of-the-box.javafx and swing suck>the committee working on the language is incredibly disciplined and selective.HAHAHAHAHAHAHAHAHAI know some of them, also had some others as professors at uni over a decade ago, they're pompous, obnoxious retards who don't care about users and make all the wrong decisions whenever possible>I'm always tempted to try other languages, but they always happen to be retarded in some major way.just use Chashtag which mog this dying poojeetware
>>109427918>is the hate justified?Yes the hate is definitely justified but it's not all bad.>>109428038>the hate is outdated.People are still using fucking XML as a configuration format because Java popularized it.
Nah.I got hired at a bank because of it.Spend a few weeks writing a microservice in spring boot, claude did all the work.Got promoted, got a salary raise.It's allright.
>>109428038>the committee working on the language is incredibly disciplined and selective.Yeah they've been refusing to add string interpolation and nullability syntax for what 3 decades now and let me guess that's a good thing?
Yes. Bad programming language. Bad platform. Bad owner (oracle).
>>109433104>many other such caselots of people are saying this
>>109427918replaced by JS
>>109433132>XMLit has comments and you can paste shit into it and autoformat. if you are lucky you even get a schema so you get red squigglies immediately if you fat fingered the pasting. twice the lines of yaml usually, but not hunting for cryptic errors because indentation is wrong is worth it imo
>>109432050But that's a good thing: run a program in the browser's vm. The web is more than html. It took decades to get back to that basic idea.
>>109433196>string interpolationstill on the menu, they pulled it once because the design wasn't up to standards>nullability syntaxit's in the works because that's needed for memory efficient value type representation
nahwell, if you're unfortunate enough to work on anything below java 8, then yeahotherwise, it's been a serviceable language ever since. i'd use C# over it any day though.
>>109433427>the browser's VMThe whole reason they removed Java applets is because they were the opposite of this. They literally just ran whatever.jar directly on your computer with fully privileged system access (same as running an exe file) and communicated with the external process to embed it into the webpage.
>>109427918>is the hate justified?it's not enough
>>109427918i would say yes and no, sometimes it just works, and others it doesnt, sometimes the OOP shit comes in handy, other times no, all comes down to what you are trying to do with it, i mostly use it as python for simple automation and data handling operations so i dont "need" the OOP shit and it gets in the way, but its nice to have when you need it, like this automation script for parsing the output of the xedit script "_0_SSG - Check for Missing Textures 1.0.1.pas", Yes i should make it read the mod and load order properly, but this would be countless hours and sleepless nights to make a parser for mod files (.esp, .esl, .esm) and bsa archives, proper load order handling with record and file overwrites etc, no form version 44 libraries exist for java, there is skyproc but thats for LE / form version 43 and upgrading it would be a delicate operation onto itself
>>109429213>C# doesn't have LTS and Java does, which is a big thing.how the fuck is it a big thingwhy do you need your programming language to have "support", kekthere is no organization that offers "support" for C or C++ and yet people can still use those languages without issues
>>109427918public class Program { public static void main(String[] args) { System.out.println("Java is too fucking verbose"); }}Also all the GUI options are heavy enough that as a user I can feel the difference between a Java program and a native one.Apart from that, it's a fine language.
public class Program { public static void main(String[] args) { System.out.println("Java is too fucking verbose"); }}
>>109434367void main(String[] args) { IO.println("Hello World");}
void main(String[] args) { IO.println("Hello World");}
>>109434325>how the fuck is it a big thing>why do you need your programming language to have "support", kek>there is no organization that offers "support" for C or C++ and yet people can still use those languages without issuesBy "support," it means that the OpenJDK developers will patch vulnerabilities and bugs in the JVM. You are right that the language specification itself does not change. The Java 25 language will remain the same in 2030. However, OpenJDK 25 will receive updates.The analogy with C++ is partly incorrect. The C++ language specification is developed by a committee, while compilers like GCC, Clang/LLVM, and MSVC are made by corporations. All of these compilers receive regular updates and patches just like OpenJDK.
>>109429265"java" is an old term for coffee
Gets mogged by Kotlin nowadays + Kotlin has Kotlin/Compose multiplatform meaning you can basically write UI-heavy desktop, web and mobile apps all in one codebase AND nativelyFlutter and Reactbabbies could never Java is literally only alive because of the jvm and legacy code
>>109433104>jenkins has lost the CI/CD warThis is partly true, and right now you should probably choose GitLab CI/CD or GitHub Actions instead of Jenkins. But Jenkins is just very old. It appeared 21 years ago, in 2005. It is a fucking dinosaur from the CI/CD world.For comparison, GitLab CI appeared around 2014, and GitHub Actions in 2018-2019. That is quite recently.At the same time, almost all enterprise companies here in Europe still use Jenkins and have no plans to migrate away from it. There is no problem with that in my opinion. You can easily live with Jenkins today. It is noticeably harder to configure, but nowadays you can easily handle all the configuration through an LLM. You no longer need to sit up at night reading manuals.Besides, GitLab and GitHub themselves are written in Ruby and a bit of Go. Is that really much better than Java?https://blog.jetbrains.com/teamcity/2026/03/best-ci-tools/
>>109434534I agree regarding Kotlin for smartphones. Perhaps Kotlin KMP is also good for desktop but I never tried it. At least KMP backend is Skia and not some old Swing/AWT. The catch is that all of this runs on top of the JVM. Yes, there are kotlin-js and kotlin-native (using LLVM), but the primary implementation of Kotlin, as well as the most popular and most used one, is Kotlin on the JVM.At the same time, Java is gradually getting all the syntactic sugar that Kotlin had. Sooner or later, Java will even have null safety (probably in the year 2030 heh). Kotlin was extremely relevant around 2016 to 2020 when Java development was stalled and we were stuck on Java 8 for years, but that is no longer the case. With each passing year, Kotlin has fewer features to offer that are missing in Java.
>>109434400hello.java:1: error: class, interface, enum, or record expectedvoid main(String[] args) {^Yeah I didn't think that was a thing. I had to check though.
hello.java:1: error: class, interface, enum, or record expectedvoid main(String[] args) {^
>>109434572https://www.onlinegdb.com/online_java_compiler
>>109434534Kotlin, Clojure ad Scala are literally wacky jesters in the court (jvm) of Queen Java.
>>109434572Which JDK version are you using? Install JDK version 25, and this code will compile and work.
>>109434568>but that is no longer the caseHoly copeJavababbies don't even comprehend how fucked they are Kotlin now completely owns the Android market also basically any UI-heavy market vs. Java. In just one year, Kotlin multiplatform adoption doubled and if they get another year or two, it'll be more popular than both react native and flutter. From what I hear backend devs also usually pick Kotlin over Java when starting a new project >b-but muh syntactic sugar!!!Is just a tiny part and even there Java is only now introducing features Kotlin had for 15 years. How is Java supposed to catch up with the absolutely massive amount of library ecosystems built up around Kotlin and IntelliJ products (which javafags have to use kek)?
>>10943459417, haven't used it in a while and can't be bothered to update it, there'll just be a newer one by the next time I need it
>>109429213>GUI toolkit is literally legacyslop that's not in active development anymoreThat is not entirely true. Yes, they will not add anything fundamentally new to Swing or AWT in the coming years. However, development is ongoing, mostly in the lowest-level part of the Java GUI, which is Java2D. They are actively introducing Wayland support without XWayland, and Java2D itself will run on top of Vulkan, at least on Linux and probably on Windows because it has DirectX support, though an old version like DirectX 9. Support for Metal on macOS has already been present for several years. https://mail.openjdk.org/archives/list/wakefield-dev@openjdk.org/latest
>>109434712>That is not entirely true>Yes, they will not add anything fundamentally new in the coming yearsLmao
>>109434725Actual full support for Wayland and Vulkan is literally fundamentally new. It's literally the foundation of all Java GUI rendering on Linux and probably Windows.I get that you probably don't give a shit and expected to see new controls, widgets, frames, or something like that, but that's genuinely not coming to Java anytime soon. It's just not needed, simple as that. Swing is fine the way it is right now. You can't come up with something radically new and completely overhaul everything without breaking backwards compatibility.
>>109434757Correct, I don't give a shit because skia (compose multiplatform) already supports Vulkan and nobody gives a shit about wayland
>>109429348>I (and my ai agents) write in Java (...) for personal needsJesus Christ.
>>109428043C# if you want corpo boiler plate code
>>109429449>Electronwhy yes I need a full browser aka a partially sandboxed mini-os for javascript programs running just to draw a window on screenwhy not just ship a full VM with your program at that point and call it portable?
>>109433132>People are still using fucking XML as a configuration format because Java popularized it.well, java devs don't. they can stop anytime they wish.xml was a decent format, but there are better ones now.
>>109435186They literally have to because nobody from boomer Java devs likes using gradle which was made readable with gradle kts and version catalogsSo they stick with maven kek
>>109434978Yes, packaging the runtime that guarantees the program will actually run makes the program just work instead of fucking shit up with dependency hell.>why not just ship a full VM with your program at that point and call it portable?We do that too, and it's literally the only way to ship native apps on Linux if you want to guarantee they work. It's called Docker, and it solved what freetards refused to acknowledge for 30 years.
>>109435303That has nothing to do with the file format. I prefer Maven over Gradle because it's convention over configuration.Every Maven project is structured more or less the same, so the mental overhead of working with it is very low.That's despite Maven's build time being objectively worse.
>>109434325Basically what >>109434439 said.Support means patching vulnerabilities. Without that, attackers have a neat list of vulnerabilities guaranteed to work on your systems.Not offering proper LTS is the most retarded part of dotnet d e s u
>>109427918it ran on a flip phone, can your rust/go/whatever modern slop language do that
>>109437055rust can run bare metal without an OS grandpajava cant even run without a jvm runtime
i don't like having to write class ObjectLoggerProviderFactoryServiceImpl
class ObjectLoggerProviderFactoryServiceImpl
>>109437098did java not invent namespaces yet or what lmaoo
>>109434534>Kotlin/Compose multiplatform meaning you can basically write UI-heavy desktop, web and mobile apps all in one codebase AND nativelyYou still have to write a significant chunk of the app multiple times for multiple platforms. This is not like Flutter.
Java apps have not aged well. Always audibly groan when one of those clunker interfaces comes up after downloading a new app.
>>109437098who's forcing you to? uncle bob sitting behind you waiting to clobber you with a bat?
>>109436463>muh mental overload>muh everything needs to be the sameFuck off gobabby, if you can't handle freedom go back to your retardation
>>109437299every java codebase i have worked in
>>109434400args are also optionalvoid main() { IO.println("Hello World");}
void main() { IO.println("Hello World");}
>>109433454>the design wasn't up to standardsThey could literally copy the design from C#. It's not exactly rocket science, given that every other language has this.They could copy nullability too. I'm fine with their proposed syntax too as long as there's a way to opt in for default non-nullability.
>>109433132the java hate is justified,the xml hate isn't.xml is a great format.better than fucking json, or worse, yaml
>>109437422too bad xml gets mogged by sexps
>>109437353>argless main is the biggest innovation in Java in 20 yearsLmao
It's verbose and memory hungry but very fast (contrary to general opinion). Enterprise morons and legacy codebases give it a bad name but it's here to stay, and has improved dramatically in recent years.
>>109437230>clunker interface>GTKLookAndFeellolyeah, GTK sucks
mogs C with memory safetymogs Rust with no unsafemogs Python with semicolonsmogs JavaScript with literally everythingwrite once, run anywherecross platform UII can run Eclipse on riscvI can compile AOT and JITI never break backwards compatibility20 year old jars still work
>>109437478compact object headers and value types should improve the memory usage.
>>109437443this btwyet another point for Clojure with its EDN data formatyou motherfuckers will do anything but learn a Lisp
>>109437809>lispi'm more of an ocaml person myself
>>109437679>mogs Rust with no unsafeono what's this? sun.misc.Unsafe
>>109437679Doctor said we shouldn't intervene with his delusions
>>109437679>mogs Python with semicolons>verbosity is a good thing
>>109437422XML is not great for configuration and people who think so are always ignorant of the alternatives and actual tradeoffs. Either they are just using XML when something like json would be obviously superior, or they are using XML for the DTD and validation aspect in which case they would be far better served with custom syntax and a custom validator. It would be far simpler and clearer, with out the need for all the excessive tag syntax.XML is fine for documents. That is, actual documents where the bulk of the file is CONTENT parsed as CDATA, and where the XML tags are there to handle structure and metadata.Retards from the era of Java, used XML for fucking everything. They used it for serializing everything. They used it for configuration files. They used it for fucking databases. XML is garbage for all of those use cases. It absolutely deserves every ounce of hate it gets and people who defend it don't get enough hate.>better than fucking json, or worse, yamlNo, it's not. Both of those formats have their problems but at least they are both usually used fairly reasonably for the purposes they were designed for. The the reason YAML became overused is that people really needed and wanted the solution that YAML seems to provide, a convenient human-writable format for the most common standard data types and structures. The only real problem is that it's overly complex and tried to solve too much. People wanted writable JSON while yaml is a "serialize-anything" format.Json is great as a simple and universally accessible data serialization format. If you are serializing data in a situation where you control both ends of the transmission, json is probably worse than a custom format (but not worse than XML). But if you're providing data to be consumed by random unknown clients where validation isn't criical (eg /g/catlog.json), json is superior:
>>109427918I never understood the difference between java and javascript. Are they the same thing? if yes why do they have different names? if no why do they have similar names?
>>109440043JavaScript is named that way for historical reasons. JavaScript and Java are nothing alike really. Java is very different. Technically speaking, it's not called JS, it's called ECMAScript. You can read the standard here: https://ecma-international.org/publications-and-standards/standards/ecma-262/
>>109440043They are the same thing. Don't believe the retards trying to confuse you. Trying to prove they're not the same is "ackshually" tier mental gymnastics and it doesn't matter at all in practice.
>>109427918Out of the 4 languages that matter, Python, Java, Javascript and C++.Java is indeed the least shit.It's unambiguous, has simple syntax, good performance tradeoff and a great history of backwards compatibility.
>>109439975>they are using XML for the DTD and validation aspect in which case they would be far better served with custom syntax and a custom validator.yeah let's just reinvent the wheel instead of using a mature standard>just using XML when something like json would be obviously superiorthe fuck does "just using XML" mean?JSONiggers really can't make a good or fair point for their webshitter format, especially as a config fileif a real simple format is used, there are Properties files, which Java can read directly into a Mapif a more advanced/structured format is needed, JSON is garbage compared to XML
>>109440225>yeah let's just reinvent the wheel instead of using a mature standardAnd here we see the mindless, braindead logic of people who wind up using XML.XML in fact forces you to "reinvent the wheel" in the sense you need to define something as simple as a list. You have to do all this work to specify and parse the XML stream or element tree or whatever preliminary data you get.The question retards like you never ask is whether the XML part is actually providing you anything. XML makes you do all this work to assign meaning to the tags and attributes and CDATA. So long as you have to do all that work anyway, why not just do it with a format that actually fucking makes sense and is efficient for the data/configuration/etc that you want to express? You shouldn't waste a whole step parsing all the angle brackets and attribute bullshit, when you could just implement some simple and robust text parsing from the beginning.
>>109440138>it's called ECMAScriptit's named after the skin disease, in an attempt to gain popularity
Hate against Java is not justified. It's not even as verbose as it used to be.
>>109440343>You shouldn't waste a whole step parsing all the angle brackets and attribute bullshit,nigger, are you parsing XML manually?you dumb bitch
>>109427918The criticism leveled against IDEs is more valid, I think. It's the same shit with C++. The language is fine but dedicated IDEs add so much bloat. Never understood the VSCode/netbeans worship when you can just alt-tab from emacs or whatever text editor you're using and compile in terminal. Java's garbage collection isn't great but that's not really an issue unless you're trying to make a triple A game or something. Java's UI libraries do suck donkey dick compared to something like fltk but all high-level languages have their own version of hemorrhoids.
>>109440225>if a more advanced/structured format is needed, JSON is garbage compared to XMLFor config files, YAML is a very good format. But don't use it as input from untrusted sources; it's got horrors in its dark corners.For information interchange, JSON and XML do well; the former when low-typed data dominates (JSON's really quite good for that), the latter when you really want to express instances of complex types.If you're thinking about using lots of namespaces in your XML, give it a fucking break. Possible or not, the result is awful. BTDT, and added to the pile of badness; when I say it's evil horror, it's a (former) insider's perspective.To round out the rest of the usual list:Properties files are too damn primitive and repetitive.TOML's got too many common ways to write the same thing. I always end up confused when trying to read it.ASN.1 (BER or DER)? May God have mercy on your soul!
>>109440521>T. Never used an IntelliJ IDEYou can't even comprehend the level of mogging I'm doing against vim and emacsbabbies.
>>109440521>Never understood the VSCode/netbeans worship when you can just alt-tab from emacs or whatever text editor you're using and compile in terminal.Those developers stuck on Windows tend to like using VSCode for its built-in terminal support. It sucks a lot less than the default terminal.>Java's garbage collection isn't greatIt's about as good as GC gets. Not typically tuned for very low latency (gaming, realtime apps), more for very high throughput (web services, backend processing).
>>109440156insanely based>>109440496the things noobs will do to feel smart
>>109427918yes. dotnet core > springboot
>>109429622it's like being flung back into the 1990sand not in a cool nostalgic way
>>109440667>It's about as good as GC gets. Not typically tuned for very low latency (gaming, realtime apps), more for very high throughput (web services, backend processing).java has multiple GCs, one of them tuned for low latency, but it's not the default.
>>109440343>why not just do it with a format that actually fucking makes sense and is efficient for the data/configuration/etc that you want to expressnot the Anon but you can easily take this argument a bit further and come to the logical conclusion that for all of the above, you can easily figure out a simpler and much more efficient binary format that supports random access, skipping over irrelevant data, partial compression and probably many other features JSON can't provide.I would also argue that JSON is a very poor fit for configuration files and is not an efficient data transfer format at all compared to most alternatives.>>109440521It's a cultural thing. Java IDEs allow mediocre developers to write shitloads of fragmented code and still pretend that it's navigable, making them essential but only because they enabled these practices in the first place. I would never have used "Inline all usages, remove the method" if not for the fact that shitting out 20 one-to-three-line helpers for a class with a single public method and no state whatsoever is a widely accepted "best practice" in the Java world.
>>109440805wtf do you know? you can't even crop an image.
>>109440819>Java IDEs allow mediocre developers to write shitloads of fragmented code and still pretend that it's navigable,it IS navigable. other devs don't have to cater to your tools or the lack thereof.and 1-3 line methods are not a common practice.
>>109440862do you even know what you're replying to, retard?I just wrote that I do use IDEs
>>109434978>le packaged browser retard argumentall serious software packages some type of runtime enviornment with it. the problem with electron is not the chromium instance, its the 6 gorillion web api calls that baseddevs typically abuse with it. try to educate yourself before parroting bullshit you read somewhere else to attempt to feign intelligence.
>>109427918>is the hate justified?yesI blame jaca universities for beinng scabby cheap freeware pimping scumbags
>>109441000>all serious software packages some type of runtime enviornment with itincluding notable examples such as:- MFC applications packaging the whole Windows operating system in every installer- dynamically-linked X11 apps packaging their own X server just for the fuck of it- Homebrew famously being bundled with its own Xcode installation that gets unpacked next to the one from the App Store
>>109440472I hate niggers
>>109427918i genuinely cannot think of a single thing java has over c#/.net
>>109441171its ecosystem
>>109441339gradle/maven is not exactly exciting
>>109441395Compared to MSBuild it is very exciting indeed
a decent amount of companies know that java kinda is mind numbingly boring. so they are switching to springboot but with kotlin
>>109441405I'm not using crappy dotnet framework, so i just shove everything i need into .csproj
>>109441414If that was actually the case they would be switching to Java lolCompanies prefer boring languages
>>109428506Java Swing is the only cross platform UI library that actually tries to match the look and feel of the OS it's running on. Literally no other library has ever achieved that, in any language.
>>109441443tcl/tk, and it does it better
>>109441171Java has better enums (objects instead of values), better anonymous classes (can have methods). Which is a low bar.Also checked exceptions (very questionable and Result is preferable, but might be useful when not overused) and type erased generics (people mostly prefer having the type info around anyways).Something more interesting: Microslop is continually ensloppifying dotnet and Brian Goetz has an interim ban on OpenJDK slop while Oracle deliberates.But it's true that C# has more things than Java, nullable checks without annotations, object properties without lombok, reified generics, dumping everything in csproj and getting any build you want (debug, release, aot native, bundle the runtime with the program) where Java needs Maven and Graal and jlink and whatever fuckery when dotnet is... dotnet.Roslyn, architected as a compiler as a service, made it very flexible, allowing you to create things like the polyfill nuget.Even so, I wouldn't trust Microslop to not fuck everything up so... Java just works.
>>109441517c# letting you do assign bit positions (flags) to an enum, and then then letting you do bitwise operations on enums is infinitely more useful than what java has
>>109441543>bitwise operations on enumsuse case? sounds retarded.
>>109441571webshitter hands typed this post
>>109441543The Java EnumSet gives you the bit operations as methods in a type safe way.
>>109441605so no use case then
>>109441517With the amount of scamming that goes on in benchmark maxing, I would take any benchmark with a massive grain of salt. Microsoft for example with C# devoted a lot of resources to scam benchmarks at one point in time (there is a talk from one of the devs that worked for MS doing it on youtube somewhere, it's quite interesting).
>>109441691>Java EnumSetfucking dogshit syntax
>>109441750I do take them with a grain of salt, you can check the source and see unholy intrinsic/unsafe abuse that makes shit absolutely unreadable.But the truth is that C# has Span<T> and value classes and Java doesn't. Java has Project Panama (verbose) and Vector<T> and Memory<T> are cockblocked until Valhalla.>>109441777It's not that bad, cmon. I have seen people from Rust like Java enums.
>>109440521you don't need ide, vscode, vim or emacs. you don't need text editor at all. AI agent will write everything for you.
>>109429265Its a steaming hot cup of microwaved camel jizzProgrammers drink it because it hyper accelerates the intake of caffeine and Adderal
>>109427918nope. its stable, supported and safe. the ecosystem is also really good and the knowledge pool is huge (which is super nice if you are trying to do a project with multiple ppl). 90 percent of the old critiques aren't really applicable anymore if you use the newer versions and utilize the libs. springboot is GREAT as well. i really dislike swing tho but that might be bcs ive only ever had to do swing stuff on projects that were already shitshows. kotlin is a better language and will eventually be a replacement imho but not until its a bit more mature. >>109429431exactly. there is also some unearned reputation in the real dev world as well.the fact that it's so widely used in enterprise also means that there are a lot of java jobs where you are doing pretty mind numbing work. devs associate this with the language but desu maintaining old dusty corporate legacy codebases is always difficult no matter what so its not really javas fault.
Call me crazy but I liked the native Java UI toolkit and look and feel from the olden days. I know it's deprecated now but it just looks jank no matter what somehow these days with native UI widgets. It was much better with its own look and feel.
>>109434584
>>109440043I started with Java but when writing scipts Javascript is head and shoulders above the rest. Take it as you will.
>>109437408>copy the design from C#no, that one is retarded and just creates a string immediately, encouraging sql and all other kinds of injection vulnerabilities. they want to do something like python t-strings which results in string-pieces + interpolated values, so the database driver etc. can do proper escaping of the values. much better design, another C# fail where they went with "the obvious"https://stackoverflow.com/a/79686550
>>109438172all deprecated and will be removed btw., the only remaining unsafety will be the foreign function and memory api
>>109427918
>>109427918i dont know how to code, but my massive project data pipeline is all written in java, incorporates flink and kafkaprocessing portion of my project uses pythoni am content
>>109444514the fuck are you talking about, retard-kun? Linq queries are just ast representation of a query and every db library in existence inserts dynamic parameters as named parameters, not verbatim strings inline, when constructing a query string
>>109429348>I (and my ai agents) write in Javathis is where I stopped reading
>>109445115and that works well while you sql is kindergarten tier. as soon as you need dynamic common table expressions, stored procs or custom database specific sql, you are back in string construction land with the retarded string interpolation gun aimed at your foot
>>109445249string name = "OP";string skillLevel = "none";var users = db.Users .FromSqlInterpolated($"SELECT * FROM Users WHERE Name = {name} AND Skill = {skillLevel}) .ToList();
>>109442275Same. Old Java programs looked like pure sovl. I liked them back in the day too.
>>109444514It should be a federal crime to be this retarded. String interpolation is not meant to protect retards from SQL injection.
>>109442275I used to hate on them. These days I sorely miss them compared to electron trash
>>109427918No I've been using it for over 10 years and probably my only gripe with it is the UI side, wish it had a more modern UI library that was easier to use. Honestly swing was good, I tried Java FX and didn't like it that much when you come from something like React or Angular the FXML tamplates just feel so basic that in the end I gave up and just used raw code instead, no idea if JavaFX is any better now.
>>109440521>The criticism leveled against IDEs is more valid, I think. It's the same shit with C++. The language is fine but dedicated IDEs add so much bloat. Never understood the VSCode/netbeans worship when you can just alt-tab from emacs or whatever text editor you're using and compile in terminal.Uh, I've tried using text editors for development and they are totally useless. Like, can you even autocomplete? Can you incremental compile? Can you run/debug in a text editor? Can you generate with code templates? Can you resolve git merge conflicts in a text editor? Can you perform save actions in a text editor? Can you mylyn in a text editor?The answer to these questions in a text editor is always>noor>not without a ton of setup and configurationmeanwhile, I get all this out of the box with Eclipse. It just werks.>>109441998>AI agent will write everything for you.I'm not the least bit afraid of AI taking my job, but I think the person you replied to is one of the people that is afraid. If all you know how to do is edit small code bases in a text editor, AI is going to eat your lunch.
>>109445249>he doesn't use Clojure with HoneySQL (where SQL is represented as data structures, trivial to modify, then compiled into strings at runtime with a cache for efficiency)
>>109447479dynamic types
>>109429265like every modern company they just had to simplify the logo.originally it was the coffee cup and two women.
>>109447773test suites
>>109446996Not understanding the point of text editors is a major blind spot. AI is going to hit you like a truck
>>109443704Where is Scala? I imagine her styled after Harley Quinn with red gymnastics ribbon
>>109446996It's all well and good until the people who designed IDEs to automate the programming process start adding their own onboard LLM and charging you a monthly subscription for the privilege of using their service.
>>109445349FormattableString implicitly casts to string, cool design decision. assign your query to a string first and enjoy sql injection
>>109446142similarly, bounds checking is meant to protect retards from getting memory safety wrong. having string interpolation implicitly convert to strings is like the language designers handing you raw pointers and telling you to git gud when it inevitably leads to memory corruption. high level languages provide safety, low level languages provide control. C# gets it wrong constantly, nobody wants to pepper their code with async, nobody wants to read that in out ref bullshit. throwing everything into a language and causing endless churn only benefits the microsoft employees because they can "demonstrate impact". negative impact, but apparemtly that doesn't matter
>>109448708>FormattableString implicitly casts to stringno it doesn't
>>109448845>string interpolation implicitly convert to stringsit works like this in literally any language and would be pretty shit feature otherwise. But FormattableString doesn't cast to string, so you either know shit or are lying>code with asynca non-issue for me, unless you write a library and want to expose both sync and async apis. For application development, a non-issue>outthis one actually sucks balls, I don't like this TrySomething(out result) pattern>refvery useful sometimes, you would know that if you wrote anything more than a crud
>>109448879string adjective = "retarded";string verdict = $"it's {adjective}";Console.WriteLine(verdict);
string adjective = "retarded";string verdict = $"it's {adjective}";Console.WriteLine(verdict);
>>109449160kek.Now pass it to FromSqlInterpolated()
>>109449195there you go.FromSqlInterpolated($"{verdict}")FromSql
.FromSqlInterpolated($"{verdict}")
>>109449295At this point you might as well upcast everything to object and then you can pass anything anywhere.
>>109448202>AI is going to hit you like a truckWhat happens when AI hits a truck? Does the truck give a fuck?
>>109446996>Can you resolve git merge conflicts in a text editor?Yes, I can. I'm not a failure.
>>109427918They fucked it up in exactly the right ways to make it extremely easy for retards to write code that looks like it works, but doesn't. It's like an anti-Rust.
>>109441063All the dynamically linked slop expects the runtime to just magically already be there. In practice, it's never there, especially on Linux where you often can't even install multiple versions of the same thing. That's why native Linux distribution is impossible.
>>109427918the hate needs to be instantiated first using HateFactoryInstantiatorCreatorFactory
>>109438158yes, bc u'r a fag
>>109427918No. Java is a fine language made absolutely cancerous to use because of jeets and other retards outputting the most horrendous enterprise code imaginable.I remember enjoying my time with Java a lot, until I had the displeasure of using 3rd party libraries. The amount of pointless bloat and outdated code in them was suffocating.
>>109428043Rust, compile to wasm and write code against WASI.
>>109457489This will only cover a fraction of Java features and would require you to run browser or some obscure wasm runtime.C# is the real Java alternative.
>>109458008>C# is the real Java alternative.but it's just that: an alternativethe main player is Java
No, the hate isn't justified
>>109433675They ran in a new instance of the JVM owned by the browser. That can give file access etc (trusted), but that's what programs are supposed to do: give you access to your computer. The big issue was >>109431544 they defaulted to everything in the JDK being accessed from applets instead of locking it all down and exposing only what you needed.
>>109448202>ide's can't edit textthe "first person replaced by AI" award>>109448547There are already eclipse plugins for stuff like github copilot. You are welcome to use them, or not. Personally, the LLMs seem much slower and less reliable than just using the same codegen stuff I've used for 20 years. Like even if that shit was free, I still have no use case for it.
>>109446142Why are you defending the bad choices of C# and Microsoft's design so?
>>109427918yes.The language was made to make developers easy to replace.Have you ever stopped programming and thought, 'Man, I wish there was a language that is not only boring but also tiring'? Then Java is for you. I guarantee you you will forget that programming and problem-solving can be fun.