This dude came to my spouses work to do some sort of work/help (I don’t know the exact details) and someone wrote a doc he needed to review. It was a lot of work not just like a few notes but a proper doc and all he wrote back upon “reviewing” it was a thumbs up emoji!! 👍🏻 everyone was shocked lol, no feed back, no notes nothing just 👍🏻
Technology
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related news or articles.
- Be excellent to each other!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
- Check for duplicates before posting, duplicates may be removed
- Accounts 7 days and younger will have their posts automatically removed.
Approved Bots
👍
30 years of pain
Java was also my first introduction to programming as it was included in Computer Science in final year of school (at college, we did the trusty C).
I think they have replaced Java with Python now in schools because of the latter's popularity and also because many would argue, Python is slightly easier to learn than Java.
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.
Try 'Nim'. It is Pythonic language with static typing.
Most overrated language imho. I actually enjoy Java more.
You can annotate types in Python, and it's actually pretty nice when used with Pyright/Pylance.
But nobody else does, and I need it more on code I am consuming than producing. In fact, many functions rely on being able to send various types for different behavior. Dynamic programming is crazy to me. It's like guessing. I don't know what type your code is accepting and I have to guess based on the name of read your code directly.
I have the opposite experience, a ton of libraries I use provide optional types, and the handful that don't often have a good reason for it (e.g. numpy). Our projects at work have types almost everywhere, and it's pretty nice to work with.
I don’t think weakly- or dynamically-typed languages are a good thing to base computer science curriculum around. Yes, it’s “easier”. But you will genuinely have a FAR better understanding the language and the logic you’re writing in it if you work in the scope of strong and static typing - or, at least have linters that force you to (e.g. mypy for Python)
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!
I remember Java being seen as the best thing ever in the 90's, and it was considered "cool" at that time. So cool even, that it became the programming equivalent of a hammer, every coding challenge looked like a nail for which you could use it.
It's a cycle all popular languages go through. First only experimental applications and super opinionated programmers use it. Then everyone wants to use it for everything. Then it finds a niche where it excels and settles.
I remember Java, C++, Python, and JavaScript going through those phases as well. Currently, everything is Rust.
Java is IMHO one of the most underrated platforms outside of enterprise environments.
Most people also forget, that Java is not only a language, but also a platform, an ecosystem and active research is applied to many parts of Java.
Concerning Oracle: OpenJDK is actively supported by very different but big and capable companies (IBM, Amazon, Eclipse Foundation...). The quality of the language, libraries and documentation needs people which are payed to work on this, full time.
Bring to this the free IDEs one can get for Java - Eclipse and Netbeans are a little bit old school, but offer everything to build/debug and develop complex software.
Java is not my favorite programming language, but when I want to write interesting software and ensure it will be running for the next decade w/o significant changes, Java is really hard to beat.
Of course, in hindsight we know how to do a lot of things better as they were done in Java. Still, what other open source Language/Platform/documentation with the backing of capable companies and really independent and interoperable builds are out there?
One last note to all people which were damaged by Java in university or school: Usually the teachers/professors/lecturers have no real world experience of software development besides the usually university projects, and for the usual university projects which basically means getting small to midsize projects to run Java is total overkill.
Don't confuse this with real world software projects in the industry, which are mission critical and need to work a decade from now on. Java was always a bread and butter language, but one which learned from other languages and even the verbosity makes sense, once one dives into code written a few years back by another person.
My 2 cents is that it would have flourished a lot longer if eclipse wasn't stretched so thin like using a very thick amorphous log that is somehow still brittle? And ugly? As a bookmark.
I keep Java installed for one thing and one thing only... modded Minecraft.
Unlike other older languages, such as Cobol and Fortran -- which are still used, but almost always in legacy projects -- Java has constantly evolved to meet new demands while maintaining backward compatibility.
can't speak on the FORTRAN claim but with COBOL this couldn't be less true. last i checked the newest Enterprise COBOL LTS is newer than Java's
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.
For me it's the tooling surrounding it that makes it nice.
Yes, that's part of the ecosystem. :)
OOP was hype during the 90s. Schools adapted their curriculum to this trend. So they needed a programming language for this, and Java became the choice. C++ is too tricky as a first language.
The result is that a lot of people knew Java, which means it’s a good choice of language if you want to recruit programmers.
I believe most of Java’s success was luck. It released at the perfect time.
You don't think the $500 million marketing budget Sun put towards Java has anything to do with its success? It was more than just luck.
I don’t think the $500 million marketing budget would’ve worked if Java was introduced at a time other than the 90s.
The 80s would’ve been too early. It would just turn into a parenthesis in programming language history (next to smalltalk). The 00s would’ve been too late. It would’ve missed the dotcom bubble boat. Java came in the right time to become a dominant programming language.
I’m not saying the marketing didn’t have any influence. It probably had an big influence in which OOP language was selected for computer science education.
Java was the new hotness when I was in the middle of my comp sci degree. The biggest benefit I found was javadocs. Other languages had shit documentation that usually didn’t match reality in comparison.
Yes. JavaDoc was/is good.
There, I said something nice about Java. I'm giving myself a gold star, and going to stop typing.
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.
A language I wish would die already, but there are still vendors that program in it, along with freaking Tomcat hosted applications. EduTech is still stuffed to the gills with it.