Hate Java? You’re fighting the wrong battle.

Posted: May 30, 2011 in Programming, Uncategorized
Tags: , ,

One of the most interesting trends I’ve seen lately is the unpopularity of Java around blogs, DZone and others. It seems some people are even offended, some even on a personal level, by suggesting the Java is superior in any way to their favorite web2.0 language.

Java has been widely successful for a number of reasons:

  • It’s widely accepted in the established companies.
  • It’s one of the fastest languages.
  • It’s one of the most secure languages.
  • Synchronization primitives are built into the language.
  • It’s platform independent.
  • Hotspot is open source.
  • Thousands of vendors exist for a multitude of Java products.
  • Thousands of open source libraries exist for Java.
  • Community governance via that JCP (pre-Oracle).

This is quite a resume for any language, and it shows, as Java has enjoyed a long streak as being one of the most popular languages around.

So, why suddenly, in late 2010 and 2011, is Java suddenly the hated demon it is?

  1. It’s popular to hate Java.
  2. C-like syntax is no longer popular.
  3. Hate for Oracle is being leveraged to promote individual interests.
  4. People have been exposed to really bad code, that’s been written in Java.
  5. … insert next hundred reasons here.

Java, the actual language and API, does have quite a few real problems… too many to list here (a mix of native and object types, an abundance of abandoned APIs, inconsistent use of checked exceptions). But I’m offering an olive branch… Lets discuss the real problem and not throw the baby out with the bath water.

So what is the real problem in the this industry? Java, with its faults, has completely conquered web application programming. On the sidelines, charging hard, new languages are being invented at a rate that is mind-blowing, to also conquer web application programming. The two are pitted together, and we’re left with what looks a bunch of preppy mall-kids battling for street territory by break dancing. And while everyone is bickering around whether PHP or Rails 3.1 runs faster and can serve more simultaneous requests, there lurks a silent elephant in the room, which is laughing quietly as we duke it out in childish arguments over syntax and runtimes.

Tell me, what do the following have in common?

  • Paying with a credit card.
  • Going to the emergency room.
  • Adjusting your 401k.
  • Using your insurance card at the dentist.
  • Shopping around for the best car insurance.
  • A BNSF train pulling a Union Pacific coal car.
  • Transferring money between banks.
  • Filling a prescription.

All the above industries are billion dollar players in our economy. All of the above industries write new COBOL and mainframe assembler programs. I’m not making this up, I work in the last industry, and I’ve interviewed and interned in the others.

For god sakes people, COBOL, invented in 1959, is still being written today, for real! We’re not talking maintaining a few lines here and there, we’re talking thousands of new lines, every day, to implement new functionality and new requirements. These industries haven’t even caught word the breeze has shifted to the cloud. These industries are essential; they form the building blocks of our economy. Despite this, they do not innovate and they carry massive expenses with their legacy technology. The costs of running business are enormous, and a good percentage of those are IT costs.

How expensive? Lets talk about mainframe licensing, for instance. Lets say you buy the Enterprise version of MongoDB and put in on a box. You then proceed to peg out the CPU doing transaction after transaction to the database… The next week, you go on vacation, and leave MongoDB running without doing a thing. How much did MongoDB cost in both weeks? The same.

Mainframes software is licensed much different. Lets say you buy your mainframe for a couple million and buy a database product for it. You then spend all week pegging the CPU(s) with database requests. You check your mail, and you now have a million dollar bill from the database vendor. Wait, I bought the hardware, why am I paying another bill? The software on a mainframe is often billed by usage, or how many CPU cycles you spend using it. If you spend 2,000,000 cpu cycles running the database, you will end up owing the vendor $2mil. Bizzare? Absolutely!

These invisible industries you utilize every day are full of bloat, legacy systems, and high costs. Java set out to conquer many fronts, and while it thoroughly took over the web application arena, it fizzled out in centralized computing. These industries are ripe for reducing costs and becoming more efficient, but honestly, we’re embarrassing ourselves. These industries stick with their legacy systems because they don’t think Ruby, Python, Scala, Lua, PHP, Java could possibly handle the ‘load’, scalability, or uptime requirements that their legacy systems provide. This is so far from the truth, but again, there has been 0 innovation in the arenas in the last 15 years, despite the progress of web technology making galaxy-sized leaps.

So next week someone will invent another DSL that makes Twitter easier to use, but your bank will be writing new COBOL to more efficiently transfer funds to another Bank. We’re embarrassing ourselves with our petty arguments. There is an entire economy that needs to see the benefits of distributed computing, but if the friendly fire continues, we’ll all lose. Lest stop these ridiculous arguments, pass the torch peacefully, and conquer some of these behemoths!

Comments
  1. Loshmi says:

    Nicely put. I am also wondering why all the sudden hating java makes you a coolest guy on the blog. It is a bit ridicilous.
    Cheers.

    • Jonathan says:

      It is ridiculous, but the trend is Java will probably be replaced by something the 5-10 years. The main point here is that Java didn’t conquer everything it was supposed to. So while people are trying to replace Java, the industries that prop up our economy are still living in 1959. I think people take these industries for granted despite using them everyday (unwittingly it would seem).

  2. Peter Hickman says:

    Ok, I have now read the rest of the article and I have to say very little has changed. There is nothing new about hating Java, it’s being going on for a long time now, long before Oracle became involved (so we can dismiss that as a cause, it’s just icing on the cake for the seasoned Java hater :))

    When Java came out it held the promise of a portable cross platform language with a GUI toolkit to boot. Ok things were rough but the language was simple and we could hope. The performance issues would get fixed and it would be ported to more architectures and OSes. Well the speed issues were dealt with but the GUI toolkit never seemed to get better and at the same time other toolkits, such as Qt and GTK, started to appear and they worked with all sorts of languages. And Java got bigger and ceased to be simple. Being a Java programmer became more like being a Torah scholar, the dominant task was remembering the ever growing API, programming became an act of memory and not of thinking.

    Then there were the Universities churning out legions of programmers-lite who knew only Java. Of course the large companies soaked them up, the Java programmer was a jelly bean, easily managed, a commodity, available in quantity.

    So if you were a Perl, C or COBOL programmer you were in the situation of knowing that you can develop anything faster, with less code, that is just as reliable as anything written in Java. But can you get a job? Like heck you can. Companies are paying for programmers, it seems that they don’t want solutions. You are wearing the wrong tie, you don’t know the secret handshake, you went to the wrong school.

    Bitter? You bet.

    I was a Java programmer and have turned down three times my current salary this year because I didn’t want to deal with a language that actually gets in my way when I’m programming and so that I didn’t have to deal with people who judge your code according to how it was indented (thats how petty the Java programmer-lite mindset is).

    Now lets talk about COBOL.

    “These industries stick with their legacy systems because they don’t think Ruby, Python, Scala, Lua, PHP, Java could possibly handle the ‘load’, scalability, or uptime requirements that their legacy systems provide.”

    The first programming language I learnt and was employed to use was COBOL (punch cards and all that). COBOL is stable in ways you cannot dream of, all those years were spent making COBOL better, not adding more features.

    Why do banks like COBOL? Because it is bug free and battle tested. Really bug free not just throwing stack traces.

    The mainframe programmer has a different mindset, when they write code they assume will be running for decades if not eternity. Everyone else (not just Java programmers) assume that they can ship a fix and don’t have to clean up the mess, the perpetual beta syndrome. COBOL is final, it doesn’t require continuos patches. Projects actually end, the code is FINISHED, not just feature complete for this iteration. Yeah it costs a lot, but how would you feel if your bank lost your salary or forgot that you made all those mortgage payments? These system have to be 100% solid, not 99.99% or even 99.9999999% it has to be 100%.

    “This is so far from the truth, but again, there has been 0 innovation in the arenas in the last 15 years, despite the progress of web technology making galaxy-sized leaps.”

    Being stable and being bug free may not be sexy but it didn’t happen by magic you know. Thats where the 15 years went, the priorities at a bank are different.

    When Java (or any other language) achieves the stability of COBOL it can join the big boys club but until then remember that adding new features or tweaking the syntax does not make it more stable (quite the opposite in fact).

    • Jonathan says:

      >>Projects actually end, the code is FINISHED

      Part of my current position involves invoking COBOL from Java, and I can tell you with absolute certainty your statement is not true 😉 I think the difference is back when you wrote COBOL, people probably actually gave a twat about writing good software! The magic is gone, I assure you.

      Thanks for coming back to comment, this is incredibly insightful!

    • tiongks says:

      > The mainframe programmer has a different mindset, when they write code they assume will be running for decades if not eternity.

      Yes, it seems cobol programs run for decades if not eternity. That’s how a big financials company felt so they migrated their COBOL-based system to Java.

      Program now runs in minutes instead of decades. 😉

  3. Raphael says:

    Java isn’t elegant as other hip languages such as Ruby and Python but the biggest problem with Java isn’t the language but the ecosystem e the java culture.

    The culture of over-complexity and over-engineering.

  4. Nisse says:

    Im not convinced there is a significant trend in the blogosphere to hate java but the haters sometimes appear very loud.

    New small programming ecosystems fear being overlooked because their advantages may seem insignificant/unimportant to larger established ecosystems. They need to paint a negative picture of “the others” to make it clear why they are relevant themselves.

    As a result we get long winding blogs about how other languages have far superior class properties compared to java. The difference ofcourse means dip shit in rl.

    • Jonathan says:

      I agree with your first points, but disagree with your last point because I think the other languages DO mean something IRL. They aren’t having an impact outside the startup arena right now, but they will enter the enterprise sometime soon. Just because they don’t have the backing now, doesn’t mean they could take off. I think Java will get pushed out of the web arena in 5-10 years by something… but probably not by the languages available right now.

    • criassk says:

      A colleague of mine retweeted this today:
      “43k -> 1300 lines: An enterprise app written in J/EE -> Lift”

      As I’ve heard said many times, “Code is a liability, functionality is an asset”.

      Every time I write 20+ lines of Java to pull off what I can accomplish in a 1-line “case class” in Scala, I feel vindicated in my relative (and mostly quiet) discomfort in the Java language, despite it being my daily job.

      • John says:

        Funny, everytime I put that single annotation in my class to obtain an entity manager and have this single line of code to fetch a fully populated entity from my DB, I smile at how elegant and simple the modern Java libraries have become.

  5. Reijer says:

    Are industries being overcharged for ‘enterprise solutions’ with unreasonable costs? Sure, I’ll buy that. Which is about the only thing I can get behind.

    Java has plenty of bloat and bad programming. I am a Java programmer but that is irrelevant. It doesn’t make me a Java priest or devotee.

    Your main argument (and really, your only argument) against Cobol is that it was invented in 1959. So what. That is not a real argument. I’m not defending (or attacking) Cobol, I’m saying you have failed to make a case.

    The most interesting parts of your story have nothing to do with Java or Cobol but with bad practices.

  6. Jed Wesley-Smith says:

    I am a professional Java programmer for the last 14 years. I work for a company with rather large portfolio of Java code. I have seen it at its best and its worst. I have written some of both, probably more of the latter.

    Am I big fan? Not really. Does it have its place? Of course. Will it continue to be relevant? Definitely.

    Does that mean I can’t point out that it is clumsy and inelegant? Hell no. Newer languages are doing a sensational job of pointing out the problems in Java (the language). Whether they are dynamic languages like JRuby or Groovy, lispish things like Clojure or static type languages such as Scala, they all are much more expressive than Java. Even the possible future Java8 closure syntax is clumsy and horrible (in no part due to checked exceptions).

    I don’t have a problem resolving the fact that my day job is largely Java language based and yet be able to recognise its weaknesses and talk cogently about them. Unfortunately, your critique of the supposed forces rallying against the language misses the important points entirely.

    > Java, with its faults, has completely conquered web application programming.

    What, you can actually write a web-application in Java? This is not complete domination – you can write a web-application in a lot of languages.

    > On the sidelines, charging hard, new languages are being invented at a rate that is mind-blowing, to also conquer web application programming. The two are pitted together, and we’re left with what looks a bunch of preppy mall-kids battling for street territory by break dancing. And while everyone is bickering around whether PHP or Rails 3.1 runs faster and can serve more simultaneous requests, there lurks a silent elephant in the room, which is laughing quietly as we duke it out in childish arguments over syntax and runtimes.

    I’d like to point out that Ruby (not Rails which is a framework/lbrary) is actually only a little younger than Java. Python is actually older than Java. PHP is about the same age as Ruby. Facebook use PHP for their “web-application”. While all these “duke it out” java programs deal with large memory usage of JVMs and slow startup times.

    The rest of your post degenerates into something where I think you might say that Java is the new COBOL. If so then possibly we might agree.

    If you want to defend Java the language you are going to need to understand it a lot better. It has a lot of interesting features compared to languages that preceded it, but it also made some decisions and tradeoffs that increasingly hurt its utility as a general purpose mainstream language today. As an everyday user I really, really wish it weren’t so.

    • Jonathan says:

      I>>The rest of your post degenerates into something where I think you might say that Java is the new COBOL.
      Yes, that was the intent. It made about 75% of the posting material in fact.

      >>If you want to defend Java the language you are going to need to understand it a lot better.
      Actually, the entire intent of the article was not ‘defend’ Java. I was trying to point out while people are “attacking” and “defending” Java, there is a massive hole in the industry where no innovation is taking place. So while people and languages are competing to answer, “Who is the next Java?” there is an even bigger space to occupy.

      It seems you misinterpreted the purpose of the article. If you want to read about defending Java, there are many excellent articles available on DZone or simple google searches.

      Here is a good start:
      http://bielik.blogspot.com/2011/05/seven-advantages-of-java.html

      • Seriously says:

        That’s just a bunch of statements without any qualitative proofs, relative values or comparisons. For example “Java is easy to learn”. Easier than Basic? Easier than Javascript? Has anyone compared the result of people learning Java to any other language?

      • Jonathan says:

        I get the feeling you missed the entire point of this blog post.

        But, I’ll bite at your flamebait: First, considering the tone of the article and how I described Java’s history, one could assume that I was referring to C++, for which Java was designed to compete with. The design choices were keep the speed of C++, while freeing the programmer from the asinine syntax and manual memory management.

        If you haven’t already, I encourage you to read the entire article.

    • zhang ye says:

      >Whether they are dynamic languages like JRuby or Groovy, lispish things like Clojure or static type languages such as Scala, they all are much more expressive than Java

      Syntax of Java is simply adequate and pragmatic. For 2011 it’s not overly fancy, but not overly clunky either. It in C family, which many people know and love. C, Objective-C, C++, Java, C# all have similar syntax and together they dominate language landscape. You don’t believe? Please look at Tiobe.

      But for Java, its power is not in language syntax. Actually, syntax is but small part of overall development picture. Okay, language should not be *terrible*, but to state Java syntax is terrible is exaggerating.

      More important is very good library! Java has one of worlds biggest and most complete library. Not only standard Java SE library is very complete (with powerful XML parser, Dough Lea’s concurrent package, many collection classes), but Java EE is even more complete.

      With JavaServer Faces 2.0 building GUI is very easy and elegant. But there is also power of Context and Dependency Injection (CDI), which makes amazing things possible. Very lightweight eventing with only small annotation, nested contexts with dynamic proxies (request scope injected in session scope), solution for people doing things in different tabs; Java has conversation scope. This alone makes Java winner.

      But so much more in Java library. Enterprise Java Beans make each method transactional, without single line of code or configuration! Now please, tell me how you do in PHP? Answer: you don’t! Transaction handling very difficult there, and I know. Maybe one resource is okay (resource local transaction, pass connection to methods), but with two resources? Three resources? Don’t think so in PHP or Python.

      Then look at doing work parallel. In Java, I put one annotation on method and method is asynchronous. Now how do you do this in Python? You often don’t. You do all work in one thread and let user wait, since parallel is not so simple there. Don’t even start with PHP, it does not even know low-level threading.

      And what about ORM? High level persistence? Okay, now Ruby (RoR) can play along with ActiveRecord, but this aimed at simple single table crud. Java Persistence API much more powerful when object graph is complicated.

      Also in Java library is messaging with Java Messaging Service. This gives you power of messaging paradigm, persistent subscriptions and query over messages. Does PHP library or Python library had this? Not really.

      All of this in standard Java library. I not even talking about third party libraries! This is real power of Java! Maybe you say Python syntax is little bit more expressive. Good luck using expressive syntax to duplicate power that Enterprise Java Beans have out of the box.

  7. umpirsky says:

    You put that out very nice, and you are right. Those Java haters are really funny. But that’s more or less the situation with all languages http://i.imgur.com/pG3q7.jpg

  8. Darren Bell says:

    My last company used IBM AS/400 systems to run their ERP system. This is written in Java! It sits there every day crunching invoices, orders, general leger vouchers, account recievables/payables, MRP, etc etc and never missed a beat.

    This thing scales massively. Also, one of the only architecture to compile Java code to native 64-bit executables and then run them (not touching the java code again unless it changes). This is innovation that made it one of the fastest java crunchers out there.

    So, Java is used for business and runs very, very well. All we did every day is change the tapes 😉 The IT dept slept well at night.

    Oh, Pepsi use the same ERP system.

  9. Jet Abe says:

    After hating java and choosing to stick with ruby for long time i realised i was totaly in a sinking boat.
    Those who dare to go away from java will end up hurting their professional lives.

    So I adore Java..

  10. brian says:

    this issue is not new…java still kicking up the industry

  11. Octopusgrabbus says:

    Your story that assembler and COBOL are still being used comes as a shock, but I believe it. When Fidelity Investments retrained all their COBOL Programmers twelve years ago and allowed them to find new jobs within the company doing something else, we were led to believe almost no one was still using COBOL. ( I wasn’t one of the re-trainees; but only heard the story.)

    Part of doing something new is stepping outside of your comfort zone and being able to do so. I spent the latter part of 2009, all of 2010, and part of this year implementing a configuration manager and meter reads storage application (web and batch) for our town’s water department. I had made a decision going in that as much as possible would be written in Python. (The web piece is running on Django.)

    Fortunately, I worked with people in the water department who wanted everything to tie together and work correctly. Working correctly was their priority.

    Also part of something new is deciding whether new tools can do better than old.
    In the case of our Tax Collection system, that is primarily written in Informix 4GL, C, and shell scripts. So far, I have not found anything that will do what the Informix reporting engine will do. I know I could write some of the complicated reports using stored procedures, temporary tables, and output to tools like Crystal reports. However, what I have for reporting tools work and work well.

    So, I agree with your post, but want to add sometimes we want to change; sometimes we can change some things; but we sometimes cannot always change everything.
    Thanks
    cmn

  12. Jonathan says:

    I ran into another z/OS/COBOL system this week: I performed my yearly registration for my vehicle. During the process, the lady brought up a 3270 screen that drove the entire process. I watched her navigate through the menus using crazy keyboard antics and capital letters, and sighed as I saw CICS v3.2 in the lower corner of the screen.

    So here’s another system, that literally drives (not figuratively) the economy.

  13. Ron Peck says:

    If java had true garbage collection, a program would delete itself upon execute

  14. Octopusgrabbus says:

    I once maintained a Java configuration application for CoStandby For Windows (now under a different product name at EMC). I knew enough C++ and Java to perform the sustaining engineering I needed to. I found Java “different” than C/C++, but did not feel strongly against it.

    When I started my municipal career, I inherited programs written in Informix 4GL, C, Perl, and some VB. Since then, more Perl, and Java Script and Python have been introduced, along with a Django web site for our water department.

    In the old days at DEC and in some startups in the 1990s, rising stars would proclaim that some software was no good because of this or that reason. The reason was more often than not, that the rising star wanted to write new code in his or her favorite programming language of the day. I believe it is good to get the best out of each language, and rewrite when and where it makes sense.

    I think Java is currently out of favor, in part, because of Python’s popularity. In our Python meetup group, lots of engineers express unhappiness because they program in Java. While I appreciate Python and also chose to implement an Automated Meter Reading (AMR) application in it, IMHO Python also has its problems, none the least of which is multiple threads not running simultaneously. Yet, I consider Python today’s go-to or Swiss Army Knife language. So, to me, Python isn’t better or worse than Java. It is another language that can solve problems a different way.

    I am currently learning Clojure, because I was drawn to Rich Hickey’s and others’ descriptions of why the language came into being. The fact Clojure is a JVM language was part of the attraction, but mostly because of how Clojure is trying to deal with concurrency. Until I can eat, breath, and sleep Clojure, Python will continue to be my go-to language, just as if I want a multi-column report out of our receivables database, I will turn to 4GL, because as the James Bond movie title song goes, Nobody Does it Better.

  15. […] Hate Java? You’re fighting the wrong batte. (thecodemechanic.wordpress.com) Share this:TwitterFacebookLinkedInMoreEmailPrintDiggRedditStumbleUponTumblrPinterestLike this:LikeBe the first to like this. […]

  16. brunns says:

    You think people are using COBOL because “they don’t think Ruby, Python, Scala, Lua, PHP, Java could possibly handle the ‘load’”? That’s not why. It’s because replacing the existing systems would be vastly expensive and very, very risky.

    These systems are typically poorly understood – most of the people who have worked on them over the years have moved on. They have little or no automated testing, so finding out exactly what they do is very hard. It’s like IT archaeology.

    But the systems work – over the years, critical functionality has been made to work and bugs have been fixed. They are expansive to maintain, but the banks successfully run their businesses on them, and have for years.

    How we shift the cost & risk vs. benefit ratio is a hard problem. Don’t over-simplify.

    • Jonathan says:

      Since I worked in the industry for a number of years in a leadership position, I’m qualified to make a statement about this.

      It’s not an over-simplification. The main excuse I heard when suggesting any sort of refactoring of old systems is “that new stuff simply can’t perform fast enough.” That’s what I focused on in the article.

      Another part of problem, as you started to suggest, is through the course of many years of quick dirty fixes, employee turnover, outages, patches, and most importantly poor management oversight, a system becomes a “black box” where no one person quite understands why and how it works anymore. Poor management decisions, specifically where software quality is sacrificed for short term gains, is the main reason why legacy systems are hard to deal with. Best practices exist for a reason, because they’re best. For systems that will be living for a very long time, YAGNI, DRY, SRP, SOC, must be applied poignantly, and must be a management concern, rather than merely an engineering concern.

      You simply can’t rewrite a system… It takes a long time for a mess to be made, and reinventing a mess isn’t a worthwhile goal. Instead, you must take lessons learned from the old system and create something new, that’s smaller, leaner, more compact, with less architecture, that focuses on the 80% use case, rather than having the exceptions drive the architecture.

  17. Jeffrey Wright says:

    Java was written and intended to be used for small web-based projects and to be written once to run on multiple platforms. PERIOD! Listen closely here . . . it was never intended, nor is it acceptable, to be used for complete applications or larger than web-browser projects. It has its place. Unfortunately, young, naive programmers don’t understand this. It has expanded as a cult following (similar to LInux), and a false promise to corporation IT that it is the magic bullet for all development.

  18. Bob says:

    I wonder why so much people hates Java.
    Look at http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html, Java is since the end of the 1990’s the most #1 rated language. Only battled with C. TRhere is no battle with Scala, JRuby, Rails, Groovy or PHP, not even C#. Only the good old C, whioch can opperate close to hardware is the only widly used language competing there with Java.
    You ask why? C is used where Java can’t be or to enable Java there (JNI).

    Why is Java the new Cobol?
    Java is in the BIG Industry. IBM, Oracle, SAP and others are using and pushing Java.
    The Software Solutions of today’s BIG Industry leaders are more and more written in Java.
    Companies replace there mainframe architecture with x86_64 Solutions. This quite took some time, probably decades to replace those big COBOL programms. But there are programmers all over the world working on it. Not all in Java. But the most in Java.
    There were other languages which wehre compiting with COBOL. As other languages are compiting with Java now a days.
    But Java is the most used language since such a long time, that I can not believe that it will be replaced in 5-10 years. Probably COBOL will widely replaced in that time.

    About: The stability of a Product
    Yes, the JVM has some Problems. Espeacially with some vendors on there individual Plattforms like in Unix-Systems. But that are Problems of the Implementors, not of the language.
    Yes, the JVM for Windows has some Problems, too. Well, does anybody not have any Problems with Windows.
    If the interest in being stable and bug free solutions like java on linux would be best.
    There you can spend your money to improve the software for all, like others do, too.

  19. Sean Fallon says:

    My very first encounter with java was interesting. I enjoyed writing it at first, until I realized I had to make multiple modules.. just to do one thing.. and it was extremely verbose. Although, this was rather minor. I gave it the benefit of the doubt and continued. Then I took a job where the systems admin, who was hardcore into java, was the biggest douche bag I’ve ever had the misfortune to known. This one man, intelligent, but by far the most pessimistic, egotistical, idealist jack wagon – broke my spirit in ever wanting to use and code in java. He specifically told me, myself being a junior, that I will never learn to code well like him. I will never be able to live up to him in his ways of java and that my place is below him. This almost n fact wanted to make me quit coding all together and I’m still bordering it to this day. If you want to know why people hate java so much, you should look at the community. Most new developers are straying away from it, because of exactly this. refuse to work with people like this. Although I may not have liked how long it took to write a program, at the very least I would adapt to it – but it’s hard to adapt as a junior – when people are like this. If this was supposed to be reverse psychology, it definitely didn’t work. In the end, I absolutely hate and despise java. The community has ruined it for me completely in ever wanting to even try and learn it. That’s my two cents. Good day to you.

Leave a comment