it's not that java itself is terrible, it's what happens to it, when placed inside a corporate env. it gets hacked together, becomes old and outdated, and it makes you hate doing what you love to do. that's what sucks about java. now where do i go?
I'm over 50. I've been to the zoo to see the animals.
Started with Fortran, seen different technolgies come and go, until recently I liked what I did.<p>Speaking with about 1 year of java, now I know how 9 women can produce a baby in one month. Now I know how a herd of turtles (galapagos tortoise variety) can cross the desert.<p>The first Fortran compiler was released around 1954. I started 20 years later. Java is proof positive that we have accomplished very little in the way of compiler development in 55 years. Sure, lots of clever languages have been created, but none have made it to the mainstream. Must be the clever marketing. Java has the least semantic density (lines of code to accomplish a given task) of any of the mainstream langauges - more time is spent navigating with some of the incredibly good tools.<p>If Java is the only language you know, do yourself a favour and learn something else. Not C#, but Perl, Haskell, J, anything. Have a basis for comparison.<p>I'm going back to fixing bicycles.
figure out what you'd rather be doing, and work towards that.<p>but, you should probably be doing this at all times, anyway. once you saw you fell out of love with java, figure out what you want to aim for next.
I think I know what you mean. In corporate environments sometimes the "architects" overdesign their solutions and it is no fun. However, is not really Java. Java can be fun as I rediscovered recently working with GWT. But I had the luxury to make an architecture light enough for my taste.
I studied Java at College. I knew C, Pascal and some C++. I remember VERY CLEARLY hating it. But it was long ago, and I had long forgotten why, so I recently (like 2 weeks ago) decided to give Java another try. And I remember now why.<p>When you have fscanf, or cin, doing a new BufferedReader(new InputStreamReader()) just to read a key from console seems pretty stupid. I know Java has System.In.Read, but why doesn't it have System.In.Readln? (forgive me if it does, but the course I took specifically said it doesn't)<p>Also, why the redundante names for enum constants?
What was the guy thinking when he designed swing? A method that returns you a MessageBox object instead of simply a MessageBox class? I'm sorry about the rant, but Java style feel ackward after coding for a couple years in C#.
You must realize that in a corporate env. (where software is not the core product), you are simply a maintainer of highly convoluted systems. You aren't a maker anymore, even though you occasionally create code. If you can embrace this, as I have recently, it will save your life.
Oh man. You're hitting human stupidity. Not easy to escape that. I used to be an OpenVMS sysadmin. Now I administer enterprise middleware -- ESBs. Just like getting booted from Eden.
That convolution situation holds about all programming languages in corporate environments. This situation is even worse in Java though, because it lacks good tool support (yes sure eclipse rocks...) and it is overwhelmed by millions of libraries that do the same thing (but none of them does what you want:D).
So I've only looked in passing at Scala, but I've certainly heard first-hand from several people who are forced to code Java on a daily basis that they have managed to use Scala for bits of their system.<p>They all claim that their lives got better. Might be worth looking into.