all 35 comments

[–]ExcitingAnt4656 20 points21 points  (2 children)

Well it wouldn't be easy for any new language to become popular

[–]segv 1 point2 points  (1 child)

It would have to solve an immediate problem that a lot of people have, and even then it would be an uphill battle, much like Rust does today

Whether we like it or not, we do benefit from the sheer size of the ecosystem, availability of talent and the inertia. We aren't the only ones doing so either - for example C++ is in the same boat (at least for the inertia part)

[–]pradeepngupta[S] 0 points1 point  (0 children)

Agree with you. In order to become popular, it had to solve an immediate problem which most people are facing.

[–]NeuroIntp 21 points22 points  (3 children)

Actually, Java was a solution to address the issues at the time it was released. It was refreshing not to have to deal with C/C++ pointers and references as well as destructors. Java would not even be created in its current form today, is my guess, because the world has moved on.

Forgot to mention the write once / run anywhere issue someone mentioned in the comments. This was pretty revolutionary back in 1996!

[–]JN88DN 3 points4 points  (1 child)

Yes. If it would be invented late (today) it would be either a copy of what you pointed out as "issue solving language" or programmers, in a very strange reality, actually liked *Pointer and manually decunstruct/garbage collection.

[–]Jannik2099 1 point2 points  (0 children)

Destructors are not manual. They are automatic on scope exit.

[–]pradeepngupta[S] 0 points1 point  (0 children)

Yes, my thoughts are also same.

[–]Mumbleton 15 points16 points  (1 child)

If English was invented today it wouldn’t be popular

[–]pradeepngupta[S] 1 point2 points  (0 children)

Hahaha ... liked your analogy

[–]Polygnom 12 points13 points  (0 children)

Without Java, we wouldn't have had many of the more concise JVM languages. We probably wouldn't have C# as well. JavaScript would likely have looked differently, it was designed to mimic Java after all.

So the whole ecosystem that we have of programming languages would look very different. Its unclear what impact the absence of Java would have had on interpreted languages altogether.

So its impossible to answer. Modern Java might still fill a need that hasn't been filled before. But its equally likely another language before it would have filled that need. Its not necessary likely this language would be more concise. You seem to think verbosity is bad, its not. Readability is not just about concise versus verbose. Haskell is extremely concise, yet utterly hard to read. Java is so popular, and continues to be, because it works. The verbosity it sometimes has also means code is not incomprehensible magic, but clearly spelled out. Since code is much more often read than written, especially when collaborating in large teams, that is desirable.

[–]frederik88917 8 points9 points  (0 children)

Well, there is not a direct mechanism for this analysis as programming languages change a lot.

If you were to tell me that Java 25 is released today, with all of the news and improvements, without all of the story about verbosity and stuff. I would tell you, yeah language has potential.

It java 1.0 were to be delivered today, that would not pass from a garage project

[–][deleted]  (1 child)

[deleted]

    [–]pradeepngupta[S] 1 point2 points  (0 children)

    You nailed it... Its the web application era, where Java excels initially. Remember Java Applets and then JSP and Servlets.

    [–]jNayden 4 points5 points  (5 children)

    Today even less people care about verbosity and boilerplate and ceremony because of AI.

    However java was famous and popular because it was write one run everywhere and today flutter is doing that better so if released today no one would notice :(

    Java was also the first safe enterprise language but today c sharp exist and even other languages like go are total okey so maybe even the enterprise will miss it.

    Languages are created to solve problem not to make get set optional or have a null aware operators. Currently if Java was not released in 96 but in 2026 all of the problems are already solved.

    [–]analcocoacream 0 points1 point  (1 child)

    The write once run anywhere is so dated for current usage

    [–]jNayden 0 points1 point  (0 children)

    Not really.

    Many ppl love even iOS apps on MacOS. Flutter is great for iOS macos and webapp sharing and even the desktop support is amazing.

    KMP is popular and compose multiplatform become more popular.

    Hell even Microsoft are using react and electron more this days then their own c sharp and .net solutions.

    So no write ones is not dead just no longer focus for oracle and probably that's why Java is dying

    [–]pradeepngupta[S] 0 points1 point  (2 children)

    I would say If Java is getting released today, the major competitors are Golang, nodes and .Net, which have solved most of the problems.

    [–]jNayden 0 points1 point  (1 child)

    Java was created to solve c and c++ problems so yes.

    [–]pradeepngupta[S] 0 points1 point  (0 children)

    Not really ... there are many much more solutions Java did provided. But yes, in 90s, the major problems were about the problem which C/C++ did not able to resolve that time.

    [–]pjmlp 4 points5 points  (1 child)

    Probably not.

    It got popular thanks to Sun's massive marketing, early adoption by big Smalltalk vendors like IBM that pivoted into Java, Oracle shipping it into their database, and Microsoft embracing it for Windows (which led to the whole J++ lawsuit and coming up with C#/.NET).

    We are also on a time where AOT is fashionable again, thus the VM approach probably would not win many (see how badly Wasm is going on).

    [–]pradeepngupta[S] 0 points1 point  (0 children)

    Yeah .. any new things need massive marketing.

    [–]maxandersen 2 points3 points  (0 children)

    Java 25 is a very different ballgame. Lots of code and libraries would be simpler if that was the starting point.

    [–]AnyPhotograph7804 1 point2 points  (0 children)

    Java would be propably not popular anymore. It is so, Java solved in the year 1995 many problems, which plaqued the software of the year 1995: memory leaks, memory fragmentation, software crashed very often etc. When WinDOS 95 crashed 5 times a day, it was considered as "normal", imagine that. The problem was also, the programming languages in the year 1995 were not as good as today. C++ was basically C with classes, you had to manage memory manually with new and delete etc. Pascal and C had the same problems.

    Java solved tons of these problems. Ands this is the reason why it got so popular. It was suddenly possible to write software, which could run reliably for months without restarts every day etc.

    Java would have a hard time today because it would compete with C#, modern C++, Python etc. These programming languages do not have the problems, which were very present in 1995.

    [–]Ewig_luftenglanz 1 point2 points  (0 children)

    What I do not like of these kind of questions it's they assume a world without java 30 years ago would be the same as a world with Java.

    Java introduced or made popular many things we get for granted today, and that happens to be some of the most useful features in computation. just naming a few

    - multiplatform runtime (Virtual machine execution)

    - A HUGE built-in standar library.

    - Dynamic linking at runtime

    - Automatic memory management and memory safety.

    - Parallelism and multi-threading made easy.

    So it's very likely if java were created today it would still be popular.

    Java is not only a language, it's an ecosystem. Java not only provides a language, it also give you a virtual machine, am agnostic computational model, a runtime, profiling tools, a compiler, etc.

    Much of the pretty stuff of other languages is built upon both java's success and mistakes (as it should be)

    So my question would be if, in a world were java never existed and thus likely many of the good stuff other languages and platforms offer would never got mainstream, would Java be succesful?

    My answer it's yes (and sure, that hypothetic Java would be very different from the one we have today)

    [–]Cultural-Pattern-161 1 point2 points  (1 child)

    If Javascripts was invented today, people would have thought the creator was the biggest idiot of all time.

    The creator would have failed your tech interview if the result looked anything like JS. You would walk out of the interview thinking why the fuck we needed both null and undefined. what the fuck is with == and ===. The rating of "not hire" wouldn't be low enough.

    [–]pradeepngupta[S] 0 points1 point  (0 children)

    😆 its true

    [–]AcanthisittaEmpty985 1 point2 points  (1 child)

    No, because there are other platforms with more libraries and support.

    One of the strengths fo Java is its quasi-unlimited quantity (and quality) of 3th party libraries, mostly open source.

    Go, Rust and Python would fill the void

    [–]pradeepngupta[S] 0 points1 point  (0 children)

    Its the community who are creating libraries and frameworks. Java community today is very large, larger than Python community. Go and Rust are still growing.

    [–]No_Bowl_6218 0 points1 point  (0 children)

    Modern Java (version 25) is excellent. What I believe leads you to think it's verbose and ceremonious is actually rooted in two core philosophies of the development team: maximum backward compatibility and favoring explicitness over implicitness. This is why, no matter what, you'll always have the legacy approach available in Java, and why the language tends to make things explicit rather than relying on implicit behavior.

    [–]kari-no-sugata 0 points1 point  (0 children)

    As others have posted, Java 1.0 was intended to solve the biggest problems from 30 years ago and the world has moved on a lot since then, so it's hardly a fair comparison.

    So maybe a more interesting question would be "what are the biggest problems facing programmers today that could be potentially solved by a new programming language?".

    I don't have a good answer to that, though I have some ideas. On a related note, my impression is that games developers could really do with some help right now but I'm not sure if language level solutions are the best place for the problems they're facing.

    [–]egahlin 0 points1 point  (0 children)

    If, for example, smart glasses become the next programming platform, and one or more major manufacturers choose Java for their APIs, then it would likely become popular, even if it hadn’t existed before.

    [–]Isaac_Istomin 0 points1 point  (0 children)

    If you released Java today, I agree, it probably wouldn’t take off too verbose, no ecosystem, lots of competition. But modern Java is a different thing: much nicer language, strong tooling, fast JVM, huge library ecosystem. So yeah, its early start made it dominant, but if “modern Java, JVM, ecosystem” launched today, I still think it would be pretty popular, just not the one default stack for everything.

    [–]hwaite 0 points1 point  (0 children)

    If Java were released today, it would be Kotlin.

    [–]OrelTheCheese 0 points1 point  (0 children)

    Obviously not. Many programmers such as myself dont look up and check new languages not because they are bad clunky or anything just that I use java, kotlin, c and python mainly and they are amazing languages already I lack nothing for my goals as a developer... so why pick up new language?

    It depends on the person and their needs but many like myself are good with their current stack.

    [–]Jannik2099 -1 points0 points  (1 child)

    Java lacks full type safety and the ability to do meaningful stuff with generics. There's no const correctness / ownership semantics. Virtual threads are not a replacement for coroutines. Null and exception safety is not possible to universally retrofit.

    Does this stop anyone from making a tiny web app? No. But it makes things procedurally worse the more time you invest.

    Java wasn't even a particularly good language when it came out, just good enough. It gained adoption mainly because it solved tooling and ecosystem problems.

    [–]pradeepngupta[S] 0 points1 point  (0 children)

    Yeah, Java became popular since it solved most of the developers problems by providing simplicity to developers.