Java at 30: How a language designed for a failed gadget became a global powerhouse
-
This post did not contain any content.
Lol, as Javanese, It's funny that Javanese ethnic name -> Javanese coffee -> Javanese programming language.
People still keep thinking that I was a programmer or making a typo of Japanese everytime I mention I speak Javanese.
-
Lol, as Javanese, It's funny that Javanese ethnic name -> Javanese coffee -> Javanese programming language.
People still keep thinking that I was a programmer or making a typo of Japanese everytime I mention I speak Javanese.
The language was initially called Oak after an oak tree that stood outside
Things could have been a lot different!
-
Java was stagnating under Sun, unfortunately. I hate to say it, but Oracle probably saved Java.
But!.. Sun Java included internationalized set of Lucida fonts with proper hinting. Oracle removed that for whatever reason.
-
I attribute Java's uptake to a large amount of marketing and support, which led to a massive ecosystem. Even a mediocre language like this one can find success when propped up like that.
JVM isn't mediocre. Really-really.
I don't like something aesthetically about Java, can't quite nail what, and don't like long-long namespace strings, but these are my personal limitations.
Ah. I also don't like OOP.
-
Python is easy, but it can also be infuriating. Every time I use it, I'm reminded how much I loathe the use of whitespace to define blocks, and I really miss the straightforward type annotations of strong, non-dynamically typed languages.
I hated something about Python, and avoided it, until encountering Tcl which for me fulfills the same role that Pythons seems for many people, but Tcl is really much more pleasant. IMHO.
-
But!.. Sun Java included internationalized set of Lucida fonts with proper hinting. Oracle removed that for whatever reason.
Haha. I guess I never noticed.
-
java was my 5th language, having just missed it as the AP CS language in highschool by a year. oddly i could not get behind such a massive standard library having come from BASIC, Pascal C++, ASM, VHDL. now after 30 years of programing i write Java web services for a living. feels strange.
Oddly, I did know some BASIC and I have vague memories of the numeric line starters like 10 with white text on a black background giving it a retro feel.
-
You can annotate types in Python, and it's actually pretty nice when used with Pyright/Pylance.
Oh, I know you can, but it's optional and the syntax is kind of weird. I prefer languages that are strongly typed from the ground up and enforce it.
-
This post did not contain any content.
I think Java was first released just after I graduated. I do program Java at my day job though, and I don’t mind it. It has its quirks but I find I can express myself using Java, but I probably try to think towards much in OO paradigms when I design and code.
-
use bython, python with braces XD
Hasn't been updated since 2018. Does it still work?
-
Kotlin is very similar to C# in my opinion.
It’s a happy middle ground for me
Ironic considering C# was supposed to be very similar to Java
-
If you want to do something java like, try Kotlin. Its a more modern take on java and not developed by Oracle
I'm so grateful for Kotlin, it gets rid of so much of the annoyances in Java.
-
I learned C++ as my first language and it was a great way to understand the core issues of a programming language — like memory allocation, memory freeing, the difference between memory addresses and the memory contents themselves, threads, system calls, etc. Java obscures these nuances to a degree, but Python is too friendly and makes it hard to understand them at all.
I believe if you learn C++ you can easily learn any other language. After C++, I learned Python, JavaScript, and Java in a few days each without formal instruction. If you learn Python first, you’re probably going to struggle learning those other languages because you haven’t grasped the lower level concepts yet and may never if you’re not in a formal setting that forced you to learn them.
No one disagrees that Python is easier, but if your goal is to get a foundation in programming that allows you to easily pick up other languages, you should start with C++.
Imo people should start with C first since it is a lot simpler than C++ while still providing a lot of what you mentioned. C++ adds a lot of things like name mangling, templates, L & R value references that can quickly make things a bit more daunting for beginners.
I also generally find error messages for C a lot more parsable for beginners than C++ ones.
-
First learn C, then learn C++, then learn Java. In that order, each will make you appreciate what the previous one lacks. From there, you should pretty much be able to learn anything.
Help. I've been stuck learning c++ for almost 10 years.
-
One Rich Asshole Called Lary Ellison
His political contributions are really on brand. He funded election deniers in 2022.
Also I've heard Oracle has a bad reputation when it comes to government contracts, very expensive poor quality software ripping off our taxpayers. I think they ought to be blacklisted or at-least require extra review due to their reputation. CUNY paid Oracle over $600 million and look at what that got them: https://pscbc.blogspot.com/2013/03/cuny-first-computer-system-to-aid.html. To be fair the article does claim that "The project required an expenditure of up to a billion dollars to do it right. CUNY Central offered far less. All but one of the bidders dropped out as a result". I'm confused why it needs to be so expensive, even $600 million seems like way too much.
-
I used Java years ago for Android dev, but stopped when I stopped doing that. Every once in a while I'll get the itch to work on a new project, and always wonder if Java would be a good idea.
My hesitance is that I don't trust Oracle (and don't know to what extent they're involved nowadays), I'm not familiar enough with the ecosystem to know what is legacy crap to avoid, and I think it's generally seen as an uncool language, and I'm way too cool to be taking such risks.
Kotlin is now the language of choice for Android.
-
OOP makes so much sense. What happened?
Many people increasingly find that using functional patterns enables them to build more reliable software.
-
I liked Java a lot more before Oracle acquired Sun. I've used Oracle databases enough to hate Oracle with the passion of a supernova.
I think I need to clear a common misconception people seem to have here: Oracle has very little to do with Java.
At most, Oracle has the following connection to Java:
- Own the trademark
- Have a build of the JDK/JRE with commercial support.
However, Java as a language's baseline comes from OpenJDK, an open source (GPL 2.0) community project which is upstream to several builds including Oracle's JVM. It follows a "bazaar" like development model similar to the Linux kernel where you can see their mailing lists and track what's being worked on. Anyone can contribute and the code is on Github: https://github.com/openjdk/jdk.
That being said, you don't even need to use Oracle's JDK (it sucks IMO) and use one of the community provided builds of OpenJDK. OpenJDK builds are provided by Eclipse, Amazon, Azul, Bellsoft and even Microsoft provides JDK/JRE builds. These are free of cost and have longer term support than Oracle's offering.
-
I learned C++ as my first language and it was a great way to understand the core issues of a programming language — like memory allocation, memory freeing, the difference between memory addresses and the memory contents themselves, threads, system calls, etc. Java obscures these nuances to a degree, but Python is too friendly and makes it hard to understand them at all.
I believe if you learn C++ you can easily learn any other language. After C++, I learned Python, JavaScript, and Java in a few days each without formal instruction. If you learn Python first, you’re probably going to struggle learning those other languages because you haven’t grasped the lower level concepts yet and may never if you’re not in a formal setting that forced you to learn them.
No one disagrees that Python is easier, but if your goal is to get a foundation in programming that allows you to easily pick up other languages, you should start with C++.
C++ is a monster. I'd suggest C instead to learn about these basic ideas.
-
Python is interpreted where Java is compiled. They aren’t going to be able to be used in the same cases all the time.
Not true. They use the same model, executing compiled bytecode. It just feels like directly running a script because Python compiles it to bytecode on the fly, and because it is embarrassingly slow.