DEV Community

Discussion on: Pitch me on Java

Collapse
 
gjorgivarelov profile image
gjorgivarelov

Ok Ben, let's say you've never touched Java. Which may imply you are an aspiring developer looking for a way to prove your competency. Java provides that pathway to proven competency by its certification series. You study and take an exam, you pass and hang a badge on your social media profile. You become proficient and build a portfolio. And then you showcase it to potential clients. Proof of competency taken care of.
You also learn object oriented programming. You learn about code reuse, inheritance, polymorphism which may be a novel approach to developing applications to you as an aspiring developer. Many educators of Java programming make their case for Java by comparing it to its predecessors C and and C++, so you get to learn about other languages along studying Java.
Number of job openings for Java developers might be an incentive to you as an aspiring developer to take the path of learning Java.
I will deliberately skip on arguing for Java on a technical level, that discussion won't have an end/conclusion. Pick a tool that'll do the job, and if Java can do it or if you are paid to use Java to do that job and you already are an accomplished developer with expertise and experience under your belt, nobody would have to pitch it to you.
Now for those of us learning Java just because, its platform-independence feature might look appealing. Execute the same code on either Mac, Linux or Windows, that may draw you in. Java, just by the fact it has been in use for so long, has built itself a steady following and a ton of documentation, it has been around for decades. Plenty of how-tos on the web regarding Java, if that is your chosen path to learn Java. Which then begs the question: once you think you get proficient with Java, what's the next step? Multiplatform feature has much less of an appeal now with the prevalence of cloud computing and the clear win for the platform agnosticism. Use Java for web apps like ye olden applets? Many other tools now exist much better suited for that task. Data science? Again, much better suited and better built tools exist for that field. IoT? Embedded systems programming? Those are yet more dead ends for Java.