4 ms·
While attneding university, Java made an appearance in 4 different classes, the first two clases students take are Java classes. One interesting thing to note,
by ntw1103 6y ago
While attneding university, Java made an appearance in 4 different classes, the first two clases students take are Java classes.
One interesting thing to note, is that for these classes, none of the students were allowed to use any of the Java libraries, or external libraries, everything had to be built from scratch. So I didn't actually learn about using external libraries or Maven until later when I started developing for Android.
>"How many languages can you think of that meet the following conditions?"
I think that dlang comes pretty close. The Dlang community isn"t super large, but I've found everyone I've interacted with to be polite and helpful.
- Jaxkr 6y agoI had the exact same experience in my C++ courses: no external libraries at all. But those are a PITA anyways, even with CMake. And I've heard good things about Dlang but I've never used it myself, I'll have to check it out some more.
- seiferteric 6y agoI have never been a java developer but I get the impression it is similar to C++ in the way that they were not that great early on in their history but have since been dramatically improved, but the old reputation persists to outsiders.
- oftenwrong 6y agoJava is poor choice as a language for teaching programming. There are simply too many irrelevant bits that will get in the way of learning.
- baby 6y agoSchools use it because it used to be the best way to get a job. Not anymore.
- askonomm 6y ago> Used to be the best way to get a job Java is the most in-demand technology in my home country, Estonia. Java also has around 800 open positions at any given time where I live now (Buenos Aires, Argentina). In fact, pretty much everywhere I've looked, Java is consistently one of the best ways to get a job simply because it has the most jobs available. HN favourites like Go and Rust? I haven't yet found a city in Europe that would have more than 10 job offerings for either of them.
- nemothekid 6y agoGo/Rust will get you hired in Silicon Valley working on "cool" teams. I believe a bunch of AWS teams are deep diving into Rust, and not to mention the hundreds of startups working in Go/Rust. However, the sausage is still made Java. Amazon, Google, and Apple are, as far as a I know, primarily Java shops. It's just no one ever starts a blog with "Here's something cool I did in Java".
- askonomm 6y agoAh yes, I keep forgetting that HN folk are American-centric and often either do not know or forget that the vast majority of developers do not actually live there, or work for FAANG. Outside of USA, a little digging I did via Glassdoor: Buenos Aires, Argentina: - Rust: ~5 jobs - Go: ~3 jobs - Java: ~800 jobs Lisbon, Portugal: - Rust: ~6 jobs - Go: ~30 jobs - Java: ~278 jobs Barcelona, Spain: - Rust: ~1 job - Go: ~50 jobs - Java: ~751 jobs These are just places I've lived at and while I can see Go slowly becoming a thing, Rust is still half a decade away from anything tangible for the real world I would say. So if anyone asks me what should they become an expert in for the next 10 years, I would not hesitate to say Java.
- disgruntledphd2 6y agoYeah, I've been on HN for a decade now (back when Ruby was the new hotness), and I remember looking through the engineering jobs in Ireland and almost entirely Java and C#. Additionally, pretty much all the distributed data processing tools run on the JVM, which is a big deal if that's what you do for a living.
- jariel 6y agoI think the opposite actually. Python, JS and C/c++ are full of idiosyncrasies. Java allows students to quickly get up and running and focus on the 'CS'. That said, Python might be more practical for anything applied in school.
- oftenwrong 6y agoI don't that find Java as a language has fewer idiosyncrasies (perfect term btw). For example, the many modifiers: public, private, "package-private", protected, default, abstract, static, final, volatile, synchronized, etc. How much of that is relevant to a fledgling programmer? If you extend your consideration to build systems and other tooling, it's easy to see that students have a lot to overcome with Java as an intro language. I think purpose-built languages like the HtDP languages or Logo are better choices. Students can get started with zero faff, learn the essential concepts, and move on. Java is a fine choice for higher level courses, with students that are already capable programmers.
- jariel 6y agoI don't think concepts such as public/private/abstract are idiosyncratic because scoping and non-instantiable entities are common in programming. Yes - 'Logo' is a good choice for the most entry-level users, maybe for high schoolers who are taking CS as a 'required' part of the curriculum, but anything beyond that Java is fine. I think Generics, Java9++ 'Modules', jar files and class files might be the idiosyncrasies to worry about. That said, it's weird that in 2021 we don't have a universally 'basic' programming language that is essentially the 'vanilla' of programming. Somewhere inside JS/Python/TS/Java/Dart I think is that 'basic vanilla' imperative language I think.