Java as a language isn't fun - I haven't used it for many, many years now - but the advent of JVM-targeted languages makes the Java ecosystem fantastic.
Starting with the JVM - a very good machine that runs on pretty much anything, without having to re-compile your program. Perfect, no, but is anything? And the performance (given that it's a virtual machine) is top-notch.
Then there are the JVM-targeted languages: Scala, Groovy, JPython, BeanShell, etc, etc... Pick your poison.
Then there is a crap-ton of very useful libraries out there, and they can be used with any of the above targeted JVM-targeted languages.
So, we can whine about Java (the language) but really, I use it (the JVM, the other languages, and the libraries) to get stuff done. Cool, no. Productive, yes.
It's been said many times - Those who can, do. Those who can't, teach.
I know where that saying comes from as I have had numerous terrible teachers. However I have had many amazing teachers both in normal public schools and in the corporate world. These people could "do". I also used to teach a popular corporate class and my students always appreciated my insights into the product I taught because I actually worked with it in real life. I quit because of the travel and relatively low pay, but I can very much "do".
I suppose what I'm getting at is, I don't like that saying - it implies that teachers can't do what they teach. I think that's probably the bad apples that create that sentiment. Along the same lines as "99% of the lawyers give the rest a bad name." I'm sure there are a few more percent that are good.
After owning a Prius(*), I specifically went looking for an old vehicle and found an old, 1988 Jeep Wrangler that I'm in the process of fixing up. You see, you can't fix up or work on a Prius, or most cars these days and I very much missed doing that. The Jeep is carbureted with no computers whatsoever and I'm loving it because I have control over what I want to do with it. This summer, I'm going to make a project out of replacing the dash and user controls with Arduino and Beaglebone controllers and displays. It's going to be so much fun I can hardly stand it. I'll probably put an after-market throttle body fuel injector on at some point to help with the fuel delivery at least.
(*)Note that I didn't buy the Prius for the mileage - rather than I'm a computer geek and I thought it was cool. This Prius did not have the stuff they have now tracking your every move.
This judge actually sounds intelligent.
The way cars are going these days, I'm only going to buy old cars from now on. In fact, I just bought a 1988 Jeep Wrangler and I love it. I searched for a long time to find something: A) Cheap, B) Not computerized, C) Easy to work on, D) Good condition for its age. Is it sexy? Nope. And I'm ok with that. I waited about 7 months to find it. It popped up on Craigslist one day and I bought it that same day.
I'll grant you that it's not very fuel efficient, but I don't drive that much anyway. And I feel good about being able to yank things apart and customize it where I see fit. Parts will be available for it for as long as I live. I even put a high-beam switch on the floor just because I can. I don't feel bad about scratching it or modifying it. Can you say the same for your current car?
I need to replace the dash. I'm going to replace it a DIY BeagleBone data capture and display system. It'll probably cost about $500 total for all the pieces. That puts my Jeep at $4500 total cost.
Mind you there are some things about Scala that are kinda weird, like so much optional syntax and type inferencing makes it sometimes hard to read. But I've been finding it a joy for new code I write, almost Java-like but much less verbose, plus you get the functional programming capabilities that Java lacks. Some of the library code that's out there is hard to understand because of the nature of the syntax, but after you study it a bit, it's not too bad.