Java is one of the best programming languages created ever, and I am not saying this because I am a passionate Java developer, but Java has proved it in the last 20 years. Two decades is a big time for any Programming language, and Java has gained strength every passing day. Though there are times when Java development slows down, Java has responded well. Earlier with groundbreaking changes in the form of Enum, Generics, and Autoboxing in Java 5, performance improvement with Java 6, functional programming using the lambda expressions in Java 8, and Google's choice of language for Android apps development keeps Java as a front-line programming language.
Many computer science graduates often ask me which is the best programming language to start with? Which language should I learn to begin with? Shall I learn Java? Or shall I start with Python, etc.?
Well, it depends upon the definition of your best programming language; if it's popular, then obviously Java outscores everyone, even C, which is there for almost 50 years.
If it is in terms of Job opportunities, again, Java outscores everyone, even in 2024. You can get tons of Jobs opportunity by learning Java programming language; you can develop core Java-based server-side applications, J2EE web and enterprise applications, and can even go for Android-based mobile application development.
Many computer science graduates often ask me which is the best programming language to start with? Which language should I learn to begin with? Shall I learn Java? Or shall I start with Python, etc.?
Well, it depends upon the definition of your best programming language; if it's popular, then obviously Java outscores everyone, even C, which is there for almost 50 years.
If it is in terms of Job opportunities, again, Java outscores everyone, even in 2024. You can get tons of Jobs opportunity by learning Java programming language; you can develop core Java-based server-side applications, J2EE web and enterprise applications, and can even go for Android-based mobile application development.
A quick search on indeed.com shows more than 150K flexible or remove Java jobs available now, which is again only a portion of it but Java is also doing great in terms of remote Job opportunities and if you are looking for a remote tech job in 2024, having Java skills in your resume can make a difference.
Similarly, f you are not coming from C and C++ background and want to learn your first programming language, I will suggest choosing Java.
In this article, I will share my list of reasons, and why you should learn Java programming, and why I think Java is the best programming language created ever.
Btw, if you have already made your mind to learning Java and just looking for the best resource to start with, then I suggest you join The Complete Java Master Class on Udemy. One of the most up-to-date and comprehensive courses to learn Java. It was recently updated for Java 11 as well.
Similarly, f you are not coming from C and C++ background and want to learn your first programming language, I will suggest choosing Java.
In this article, I will share my list of reasons, and why you should learn Java programming, and why I think Java is the best programming language created ever.
Btw, if you have already made your mind to learning Java and just looking for the best resource to start with, then I suggest you join The Complete Java Master Class on Udemy. One of the most up-to-date and comprehensive courses to learn Java. It was recently updated for Java 11 as well.
Why you should learn Java Programming Language in 2024
Here is my list of 10 reasons, which I tell anyone who asks my opinion about learning Java, and whether Java is the best programming language in terms of opportunities, development, and community support.
1. Java is Easy to learn
Java has fluent English like syntax with minimum magic characters like Generics angle brackets, which makes it easy to read Java programs and learn quickly.
Once a programmer is familiar with the initial hurdles with installing JDK and setting up PATH and understands How Classpath works, it's pretty easy to write a program in Java.
2. Java is an Object-Oriented Programming Language
Another reason, which made Java popular is that it's an Object Oriented Programming language. Developing an OOP application is much easier, and it also helps to keep the system modular, flexible, and extensible.
Once you have knowledge of crucial OOP concepts like Abstraction, Encapsulation, Polymorphism, and Inheritance, you can use all those with Java. Java itself embodies many best practices and design patterns in its library.
Java is one of the few close to 100% OOP programming languages. Java also promotes the use of SOLID and Object-oriented design principles in the form of open source projects like Spring, which make sure your object dependency is managed well by using the Dependency Injection principle.
Once you have knowledge of crucial OOP concepts like Abstraction, Encapsulation, Polymorphism, and Inheritance, you can use all those with Java. Java itself embodies many best practices and design patterns in its library.
Java is one of the few close to 100% OOP programming languages. Java also promotes the use of SOLID and Object-oriented design principles in the form of open source projects like Spring, which make sure your object dependency is managed well by using the Dependency Injection principle.
3. Java has Rich API
One more reason for the Java programming language's huge success is its Rich API, and most importantly, it's highly visible because it comes with Java installation.
When I first started Java programming, I used to code Applets, and those days Applets provides excellent animation capability, which amazes new programmers like us, who are used to code in Turbo C++ editor.
Java provides API for I/O, networking, utilities, XML parsing, database connection, and almost everything. Whatever is left is covered by open source libraries like Apache Commons, Google Guava, Jackson, Gson, Apache POI, and others.
You can further see my post on 20 essential open source libraries for Java programmers to learn more about useful libraries Java developers should know.
When I first started Java programming, I used to code Applets, and those days Applets provides excellent animation capability, which amazes new programmers like us, who are used to code in Turbo C++ editor.
Java provides API for I/O, networking, utilities, XML parsing, database connection, and almost everything. Whatever is left is covered by open source libraries like Apache Commons, Google Guava, Jackson, Gson, Apache POI, and others.
You can further see my post on 20 essential open source libraries for Java programmers to learn more about useful libraries Java developers should know.
4. Powerful development tools like Eclipse, Netbeans
Believe it or not, Eclipse and Netbeans have played a huge role in making Java one of the best programming languages. Coding in IDE is a pleasure, especially if you have coded in DOS Editor or Notepad.
They not only help in code completion but also provides a powerful debugging capability, which is essential for real-world development. Integrated Development Environment (IDE) made Java development much more comfortable, faster, and fluent. It's easy to search, refactor, and read code using IDEs.
Apart from IDE, the Java platform also has several other tools like Maven and ANT for building Java applications, Jenkins for Continuous Integration and delivery, decompilers, JConsole, Visual VM for monitoring Heap usage, etc.
You can also see my post 10 Essential Tools for Java Programmers to learn more about tools Java programmers use in day-to-day life.
They not only help in code completion but also provides a powerful debugging capability, which is essential for real-world development. Integrated Development Environment (IDE) made Java development much more comfortable, faster, and fluent. It's easy to search, refactor, and read code using IDEs.
Apart from IDE, the Java platform also has several other tools like Maven and ANT for building Java applications, Jenkins for Continuous Integration and delivery, decompilers, JConsole, Visual VM for monitoring Heap usage, etc.
You can also see my post 10 Essential Tools for Java Programmers to learn more about tools Java programmers use in day-to-day life.
5. Great collection of Open Source libraries
Open-source libraries ensure that Java should be used everywhere. Apache, Google, and other organization have contributed a lot of great libraries, which makes Java development easy, faster, and cost-effective.
There are frameworks like Spring, Struts, Maven, which ensure that Java development follows best practices of software craftsmanship, promotes the use of design patterns, and assisted Java developers in getting their job done.
I always recommend searching for functionality in Google before writing your own code. There is a good chance that it's already coded, tested, and available for ready use.
You can also see Top 20 Libraries and API for Java Programmers for my recommended libraries for Java developers. Also Maven provides a nice way to organize the Java library which means you don't need to manually search for JAR files.
There are frameworks like Spring, Struts, Maven, which ensure that Java development follows best practices of software craftsmanship, promotes the use of design patterns, and assisted Java developers in getting their job done.
I always recommend searching for functionality in Google before writing your own code. There is a good chance that it's already coded, tested, and available for ready use.
You can also see Top 20 Libraries and API for Java Programmers for my recommended libraries for Java developers. Also Maven provides a nice way to organize the Java library which means you don't need to manually search for JAR files.
You can further use tools like Maven or Gradle for dependency management. They even take care of bringing in transitive dependency and with correct version which is probably the biggest headache while using third party libraries.
6. Wonderful Community Support
A strong and thriving community is the biggest strength of the Java programming language and platform. No matter how good a language is, it wouldn't survive if there is no community to support, help, and share their knowledge.
Java has been very lucky; it has lots of active forums, StackOverflow, open-source organizations, and several Java user groups to help everything.
There is a community to help beginners, advanced, and even expert Java programmers. Java actually promotes taking and giving back to community habits. Lots of programmers, who use open source, contribute as committer, tester, etc.
Many Expert programmers provide advice FREE at various Java forums and StackOverflow. This is simply amazing and gives a lot of confidence to a newbie in Java. This biggest community is probably the biggest strength of Java developers, they know that they are not alone.
Java has been very lucky; it has lots of active forums, StackOverflow, open-source organizations, and several Java user groups to help everything.
There is a community to help beginners, advanced, and even expert Java programmers. Java actually promotes taking and giving back to community habits. Lots of programmers, who use open source, contribute as committer, tester, etc.
Many Expert programmers provide advice FREE at various Java forums and StackOverflow. This is simply amazing and gives a lot of confidence to a newbie in Java. This biggest community is probably the biggest strength of Java developers, they know that they are not alone.
7. Java is FREE
People like FREE things, Don't you? So if a programmer wants to learn a programming language or an organization wants to use technology, COST is an important factor. Since Java is free from the start, i.e., you don't need to pay anything to create a Java application.
This FREE thing also helped Java to become popular among individual programmers, and among large organizations. If you are curious where exactly Java is used in the real world, see that post. I have talked about Java's adoption all around the world.
The availability of Java programmers and developers is another big thing, which makes an organization choose Java for their strategic development.
This FREE thing also helped Java to become popular among individual programmers, and among large organizations. If you are curious where exactly Java is used in the real world, see that post. I have talked about Java's adoption all around the world.
The availability of Java programmers and developers is another big thing, which makes an organization choose Java for their strategic development.
8. Excellent documentation support - Javadocs
When I first saw Javadoc, I was amazed. It's a great piece of documentation, which tells a lot of things about Java API. I think without Javadoc documentation, Java wouldn't be as popular, and it's one of the main reasons, Why I believe Java is the best programming language.
Not everyone has the time and intention to look at the code to learn what a method does or how to use a class. Javadoc made learning easy and provide an excellent reference while coding in Java.
Not everyone has the time and intention to look at the code to learn what a method does or how to use a class. Javadoc made learning easy and provide an excellent reference while coding in Java.
With the advent of IDEs like Eclipse and IntelliJ IDEA, you don't even need to look at Javadoc explicitly in the browser, but you can get all the information in your IDE window itself.
9. Java is Platform Independent
This is still one of the reasons for Java being the best programming language, most Java applications are developed in the Windows environment and run on the Linux platform.
Yes, Java is everywhere, it's on the desktop, it's on mobile, it's on the card, almost everywhere and so are Java programmers. I think Java programmers outnumber any other programming language professional.
Though I don't have any data to back this up, it's based on experience. This vast availability of Java programmers is another reason why organizations prefer to choose Java for new development than any other programming language.
Having said that, programming is a massive field, and if you look at C and UNIX, which are still surviving and even stronger enough to live another 20 years, Java also falls in the same league.
Though there are a lot of talks about functional programming, Scala, and other JVM languages like Kotlin and Groovy, they need to go a long way to match the community, resources, and popularity of Java.
Also, OOP is one of the best programming paradigms, and as long as it will be there, Java will remain solid.
To start with, I recommend joining The Complete Java Master Class at Udemy. You can buy this course for just under $10 on Udemy's flash sale, which they run, I think every month.
This course is very comprehensive and up-to-date and covers both Java SE 8 and other latest Java features. The course is also structured in a systematic way to provide beginners with all the knowledge and tools before they can understand complex concepts like multi-threading and concurrency.
It covers all essential Java 8 features described above in bootcamp style with a lot of focus on hands-on work.
If you can afford it, then this is the best course to learn Java online. To be honest, it's dirt cheap, even one day Java class cost around $100 in developing countries, forget about developing country. You can't get a comprehensive Java course less expensive than this.
I personally recommend Head First Java 3rd Edition to all beginners when it comes to books, as I have learned a lot from it myself. It's a great book to start if you don't know anything about Java, but unfortunately, it's not up-to-date.
Once you have gone through this book, you can pick any good Java books to learn key Java 8 features like lambda expression, method reference, Stream API, new Date, and Time API, default methods, etc.
The content is still valid, and Java Fundamentals have not changed, but I strongly suggest every programmer start with the latest Java version. Java 8 or Java 9 and on that parameter Modern Java in Action is currently the best book to learn Java.
This book covers each topic in good depth. I even encourage you to read all three books by this author on Java 8 to learn Java 8 in depth.
You can also take a look at the official Java tutorials offered by Oracle. These tutorials are both comprehensive, up-to-date, and covered almost all crucial details of the Java programming language. Further, you can use Google along with your learning.
If you need to understand a particular concept, term, or any issue with Java, Google can point you to a specific resource. There are lots of blogs, tutorial sites, and free video tutorials on the internet to learn Java programming.
I have also created The Complete Java Developer RoadMap to take you from beginner to professional Java developer. That roadmap includes everything a Java programmer needs to learn like topics, tools, technologies, and libraries.
Few More Java Resources you may like
Thanks for reading this article so far. If you like the Java Programming language and these reasons to learn Java in 2024, then please share it with your friends and colleagues. If you have any questions or doubts about learning Java, then please drop a note.
P. S. - If you need more choices, particularly free online training courses to learn Java programming, you can also take a look at this list of best free Java courses that contain many free Java courses from sites like Udemy, Coursera, and others.
10. Java is Everywhere
Though I don't have any data to back this up, it's based on experience. This vast availability of Java programmers is another reason why organizations prefer to choose Java for new development than any other programming language.
Having said that, programming is a massive field, and if you look at C and UNIX, which are still surviving and even stronger enough to live another 20 years, Java also falls in the same league.
Though there are a lot of talks about functional programming, Scala, and other JVM languages like Kotlin and Groovy, they need to go a long way to match the community, resources, and popularity of Java.
Also, OOP is one of the best programming paradigms, and as long as it will be there, Java will remain solid.
How to Learn Java Programming from Scratch in 2024?
Now, if you decide to learn Java programming, here are a couple of resources to take a look at. I personally suggest joining an online course to start with and then picking a book, because they are almost always well written by authorities in the subject matter and catered for beginners.To start with, I recommend joining The Complete Java Master Class at Udemy. You can buy this course for just under $10 on Udemy's flash sale, which they run, I think every month.
This course is very comprehensive and up-to-date and covers both Java SE 8 and other latest Java features. The course is also structured in a systematic way to provide beginners with all the knowledge and tools before they can understand complex concepts like multi-threading and concurrency.
It covers all essential Java 8 features described above in bootcamp style with a lot of focus on hands-on work.
If you can afford it, then this is the best course to learn Java online. To be honest, it's dirt cheap, even one day Java class cost around $100 in developing countries, forget about developing country. You can't get a comprehensive Java course less expensive than this.
I personally recommend Head First Java 3rd Edition to all beginners when it comes to books, as I have learned a lot from it myself. It's a great book to start if you don't know anything about Java, but unfortunately, it's not up-to-date.
Once you have gone through this book, you can pick any good Java books to learn key Java 8 features like lambda expression, method reference, Stream API, new Date, and Time API, default methods, etc.
The content is still valid, and Java Fundamentals have not changed, but I strongly suggest every programmer start with the latest Java version. Java 8 or Java 9 and on that parameter Modern Java in Action is currently the best book to learn Java.
This book covers each topic in good depth. I even encourage you to read all three books by this author on Java 8 to learn Java 8 in depth.
You can also take a look at the official Java tutorials offered by Oracle. These tutorials are both comprehensive, up-to-date, and covered almost all crucial details of the Java programming language. Further, you can use Google along with your learning.
If you need to understand a particular concept, term, or any issue with Java, Google can point you to a specific resource. There are lots of blogs, tutorial sites, and free video tutorials on the internet to learn Java programming.
I have also created The Complete Java Developer RoadMap to take you from beginner to professional Java developer. That roadmap includes everything a Java programmer needs to learn like topics, tools, technologies, and libraries.
Few More Java Resources you may like
- The Complete Java Masterclass on Udemy
- Java Fundamentals Part 1 and Part 2
- 10 Things Java Programmer should learn in 2024
- Official JDK 10 Documentation
- 5 Books to Learn Java 8 and Functional Programming
- Top 10 Courses to learn Java in 2024
- 5 Free Java Online Courses for Beginner
- 5 Essential Frameworks Java Developer Should Learn
- 5 Books to Learn Core Java from Scratch
- 10 Frameworks Java Programmer should learn
- My favorite Courses to learn Spring Boot
- 10 Free Courses to Learn Spring Framework
- 10 Tools Every Java Programmer Should Know
- Object-Oriented Java Programming: Data Structures and Beyond
Thanks for reading this article so far. If you like the Java Programming language and these reasons to learn Java in 2024, then please share it with your friends and colleagues. If you have any questions or doubts about learning Java, then please drop a note.
P. S. - If you need more choices, particularly free online training courses to learn Java programming, you can also take a look at this list of best free Java courses that contain many free Java courses from sites like Udemy, Coursera, and others.
Javin I agree to the post man but when you go to market for job search then least package is offered as compared to people in niche technologies.. bcoz you have java developers everywhere:-)
ReplyDelete@Vivek, you are right, that just demand and supply mate, but don't forget Java is bread and butter of lot more programmer than any niche :)
ReplyDeleteThere are lot of great language features in Java, which is not in this but equally important for making Java, Best programming language of last two decades e.g.
ReplyDelete- Java is Secure, security is not only embedded in language, but also provided by platform.
- Java Array is bounded rather than C array, which is unbounded.
- Java is Strongly typed language, which means more help from compiler and easier to manage.
- Rich set of data types
- Rich set of operators
Thanks for this motivational article Javin. Really feels good to know that Java is so popular, now I think I have take right decision to start learning Java as part of my Graduation.
ReplyDeleteWhy not step ahead and learn Scala? It is superior to Java in almost every point.
ReplyDeleteYou may have a point. Java is good. But Java programmers should NOT be just Java-only programmers.
ReplyDeleteUse the right tool for the job. Polyglot programming is the key!
By the way, your English sucks.
@Christian, to be frank, I still don't see Scala can replace Java. I know Scala is mix of OOOPS and Functional Programming, which makes it good choice, but given the readability of Java, and all other feature, including learning curve, I think it still too early. Also there are not many Jobs available for Scala developers at the moment, I know companies like Twitter are using it, but it would require some time to get it adapted among other industries. Having said that, I still see learning Scala for Java developers is a good choice, at least one can learn some best practices and improvements.
ReplyDelete@Anonymous, You are correct that a Programming or software development job require lot of skills in terms of programming languages, database, SQL, XML, Unix etc, but same time, developing a core expertise is also very important. Java fits well there. Remember "Jack of all trades, master of none"
ReplyDeleteUhm. And what about difects?
ReplyDelete* Java is slow. No. really. IT'S SLOW!
* Java is too verbose. Eclipse and Netbeans are born to supply the code completition, no sane human can write a java program in vim or notepad
* Java is too structured. It's not a real one for big project, but for small application is a huge brake
For the rest... is great :-)
ur blog is great,..
ReplyDeleteThanks for this great knowledge sharing blog,...
Continue this knowledge spreading task,...
It would be very helpful, if you add some more topics on Hibernate and struts
Java is a first class enterprise language. And I find it useful for prototyping c/c++ code as it's essentially c++ without the complicated parts.
ReplyDeleteYeah right learn JAVA, but if you do not have 5-7 years of working experience with JAVA nobody will hire you. Better learn other newest programming language that offer good jobs with less experience required.
ReplyDeleteWhich programming language would you recommend?
DeleteJava is great language to learn and also the one that pays developers the highest dollars per hour. The following are ten free resources that can help you learn java programming .
ReplyDeleteIf you’ve had trouble getting a good Java programming job because you don’t have tons of experience, or even the "right degree", Cook Systems is training and hiring people who have some Java or related programming skills. They offer long term careers for people who can get things done. If you have the personal character and work ethic to go with your programming skills, and can demonstrate it in our training, we will hire you. We are putting Americans back to work in IT. If you want to be part of something bigger than just a great, satisfying, and high paying career with full benefits, come join us! www.cooksys.com/apply-now
ReplyDeletewhere can i download Java???
ReplyDelete@vivek: I agree bro...but the competition is in core and advance java only...if you learn newer platforms of java like spring, webservices, hibernate, struts, servlets...you have much better chance..many online sites like WIZIQ are providing such complete java training at a low price...you can try it...
ReplyDeletereally interesting.. but could you please elaborate more on this.. like a basic exposure on java could yield better job opportunities irrespective of markets ups&downs..example: middleware admin (IBM Websphere, SAP Xi/PI..etc, PEGA tool, Supply Chain Managment Tool, content management tool... what i mean to ask you is what kind of tools can anyone learn to quicken into a job..
ReplyDeletehope this post could help some more to gather info..
thank you for the wonderful post.
Regards,
sravan
Please help me, my commands in java are very poor, but my wish is to learn java and become a programmer,what should i do? from where did i start,even i dn't know the fundas of programming,kindly send me your good and simple suggestion to my gmail id i.e sharma.shekhi001@gmail.com
ReplyDeleteBeing professional Java EE developer I would say that there are really good reasons for using java in industrial projects.
ReplyDeleteHowever Java could be the death for beginner (like C++ also). So I would recommend Python or even BASIC. Here is a tutorial:
Python 3 Tutorial
And if you do not know what to program, write or solve - here is the site with problems:
CodeAbbey
why java is simple?Guys help me
ReplyDeleteWhat I hate about Java?
ReplyDeleteYou have to use capital s for declaring string type data
Example
String name;
I took a very basic (and not very good) course on programming and really liked what I learned, but haven't learned enough to consider myself a programmer, unfortunately. They focused on teaching Pascal, VB6 and Delphi 7, so I didn't learn anything commercially useful, but it was a start. Now I'm focusing mostly on other projects but will become a programmer sooner or later.
ReplyDeleteChoosing a language to start on is one of the biggest challenges for newbies. There are so many pros and cons to all of them, depending on who you listen to even OOP can be the best or the worst thing in the world... I'm leaning strongly towards Java because of Android development even though I tried learning it on my own once and found the learning curve pretty steep.
Oh, and to the anonymous commenter above who criticized the author's English: I've been an English teacher (English as a Second Language) for almost 15 years and I strive to get my students capable of expressing themselves as well as he does. He expresses complex subjects in a well structured manner and the mistakes I found are trivial.
Ever since Oracle took Google to court , now google only looks to escape the Java. In a few years time see Jave will have no prospects and noone will use it cause of Oracles selfishness and not shareing attitude. Java is only free if you are no threat to Oracle, if you are google or in competition with their current or future business watch out they will sue you.
ReplyDeleteHi every and thanks for the post. Well I am going to be writing the oca java programming 1 exam 1z0-803 and after that I will be writting the next exam wat chance do I have in getting a nice java programming job plz help
ReplyDeleteI have gone through all of the debates concerning the most suitable programming language for beginners. I have read so many different books covering a lot of different programming languages. I have spent a lot of time watching videos on youtube and the like. For a certain period of time I would be a fan of Ruby and then Python and then C, C++, and so on for some reason, mainly because I was influenced by the comments of some people who were at that time more advanced than me.
ReplyDeleteThis process which cannot be properly described in a few sentences, not to mention the confusion it caused, took me about one to one and a half years, and still I would not consider myself a programmer.
After I have reached to the point of thoroughly understanding how computers work, especially the architecture of a typical 'basal' x86 desktop, and with the guidance of some very good books on programming languages, I must say that, at least in my point of view, a language better than Java needs yet to be created.
Nowadays, I could give you many profound arguments why I think that, but I will give you the most important.
Programs are created in the mind of the programmer. Full stop. During the process of 'virtually' (in your brain) creating that very program (especially the types you want to use and manipulate, how the data is going to be processed from a to b, what you want to do with this modified data, or should I say the way your 'stream' is going to flow or rather the 'flux' which is mainly created in your brain and on a white sheet of paper) you need a proper companion in order to manage that stuff. The mind map of your brain needs an adequate counterpart in the physical world, the real world. This counterpart, or companion, must be a language which does not confuse its creator, which helps him along his road of creating his program, which helps to neatly arrange every single item that belongs to his program. What I am trying to say is that structure is the most important thing. There must be an adequate representation of the thing you intellectually create and the thing you see in front of you, created by you. There is always a constant interaction between these two 'worlds'.
By its syntax, semantics, and type system, Java is predestined to do this job. It is low level enough to let you understand what is going on under the hood (i.e. your data being processed on your computer) and high level enough to let you express what you want and how you want it to be.
And here is the book I recommend for absolute beginners. After reading this book, suddenly everything made sense. I am so grateful that I came across it accidentally: David J. Barnes & Michael Kölling, Objects First with Java, A Practical Introduction using BlueJ
how about C#.net?
ReplyDeleteTo learn Java, its very important thing to understand how it works and related career benefit also.
ReplyDeletethanks for posting really good information for beginner who are afraid of Java.
Java is a high-level programming language and developed by Sun Microsystems ,released in 1995. Today, java is every thing therefor important to learning step by step theoretical as well as programmatical.
ReplyDeleteI will not say that any programming langugage is supirior than another, although if you like java you should check out the OSGi framework, which might be the only reason i use java. Other than that the language you choose will often be determend by the product you are developing, So dont close your mind on one programming language since it will not be sufficient in all cases. Unless you plan to do the same applications over and over. Then java might be good for you, but the my question is, why be a developer if you only limit yourself to one programming language? If you answer that you want to be in the front teir within that programming language i would say awsome, Otherwise open you mind, and let new knowledge fill your mind.
ReplyDeleteYes, Java
ReplyDeleteAs a beginner is it mandatory to learn c and c++ ??? So that we can't go for oracle, , is there any interlink?? Or possibility that directly we can learn oracle
ReplyDeleteI liked the post. Really effective information is provided. Now I understand the significance of learning Java and how important it is. I will definitely go for Java.
ReplyDeleteJava is good
ReplyDeleteI m a p.g. in electronic science. Now if I will take a Java course then can I get better opportunities in IT world ?
ReplyDeletePython actually scores higher than Java on nearly every one of these criteria. (And that's why I use them both <3 )
ReplyDeleteI want to learn java but my coding ability is not so good so can u go for java?
ReplyDeletethere is nothing without base of C and C++ :)
ReplyDeleteThankyou for this post. I was wondering what to learn because I've tried Ruby, Python etc and wasn't very happy with them. I've taken a look at Java, and like what I see. I mean we use it everyday, most without knowing they do so. Example Android, your television tv guide, Minecraft and other brilliant games that millions use every day, so why not learn to program in it. Sure, it may be harder to get a job in it without the Degree, but truly where there's a will there's a way ok? IE: You just need to network, make a name for yourself, and the recruiters will usually seek you out.
ReplyDelete@Darren, You don't need a degree if you can proof you are good programmer by making your name in the web, there are lots of inspiration on web already. A degree will sure help to get the job though. Learning Java has another advantage, you can do lot of freelancing programming work e.g. writing android games, application etc. Android is the biggest reason to learn Java today.
ReplyDeleteNice read. When in school, I had learned Java through the text books provided and wrote code on paper mostly and when it was our computer class in the lab. We only applied the language to a specific set of problems in the curriculum. However these only established it as just another programming language like C, still not helping us differentiate the true benefits of the OOP language that we only learnt in theory then. Later, at the start of my masters many years later, a class project required that we code in Java and required a working knowledge of Java. The class project was complex enough to motivate me to learn it properly. On searching google, I came across this great course by Prof. Mehran Sahami from Stanford avlbl on Youtube. He was teaching Programming Methodology (through Java). I was able to grasp Java through his first dozen lectures over two weeks - partly because of him and equally because of the intuitive and straightforward nature of Java and of OOP principles/concepts, as you rightly mention in your article.
ReplyDeleteWhile I've used other programming languages too like C,C++, python through my studies, and they have their own niceties, Java still stands out!
Is there any book which can be used to learn the complete java language??
ReplyDeleteHello Paritosh, there are books like that but you will learn better and deep by reading books focus on individual areas e.g. JVM internals and performance tuning, Collections, multi-threading and concurrency etc. If that interests you then check out some of my recommendation on 9 must read books for Java Programmers.
ReplyDeletehere is the link
ReplyDeletewhat are the different community where we can get help after joining to learn Java ?
ReplyDelete@Anonymous, there are many Java forums where you can get help on almost anything about Java. Here is a list of top 5 Java forums, which you can use to get help when learning Java.
ReplyDeleteThank you for your post and What are the best way to start up in Java ?
ReplyDeletehi i am very anger to learn programming in java but i can't concentrate on more then one or two programs.how to overcome the problem to get become a good programmer and how to improve my logical skills.send me my mail npreddy12@gmail.com
ReplyDeletehi i have learn java recently..i don't know about job facility of java...can anyone tell me plz
ReplyDeleteThanks. Admin please help. i love programming with passion. Tell me the core thing i needed to know. Because inside of me i use to perceive that is not hard that i can be expert. I need a very good mentor that can trigger the best in me out. pls email me ruffyg28@gmail .com
ReplyDeleteHello @javanewbie, I recommend you to learn Java.
ReplyDeleteI am working with java for more than 10 years. I also experience in PHP or C/C++. But I strongly believe Java is the best for large-scale enterprise application.
ReplyDeleteis Java use for hacking
ReplyDeleteWill java die....
ReplyDeleteI personally think Java is here to stay for a very long time and I would recommend any beginner to learn it as their first language, since it's a great springboard for any aspiring programmer.
ReplyDeleteIt will adapt and grow with the demands of the market. Despite its certain flaws, it is still more likely that some of the new languages will decrease in popularity, rather than Java. I came across a good article the other day, on the reasons why you should still learn Java in 2019. It's an interesting read.
Gee... I don't even know where to start here. Let's start with facts you got wrong. Java won't break even the top 5 of most popular languages:
ReplyDeleteRust: 83.5%
Python: 73.1%
TypeScript: 73.1%
Kotlin: 72.6%
WebAssembly: 69.5%
(Stack overflow 2019 poll)
Java is not providing more job opportunities than any other language there is, but Java shows weaknesses where other languages show strength. So if you want to dive into the back-end/Android development I would recommend C++. It may be more challenging, but also has a more rewarding outcome.
Reason 1: There are many languages that are easier to pick up than Java.
Reason 2: Most languages these days are Object oriented, even PHP went down that road. But some other languages give you the flexibility of functional programming where Java does not.
Reason 3 & 4: I give you that, Java comes with rich API which will not get utilized to 80% by many developers making it bloated and in need for tools like Eclipse to navigate it. The same way you need Visual Studio for C# development.
Reason 7: So are many other languages worth learning. Licenced languages are rather a niche these days and require on job training anyways.
Reason 9 & 10: A colleague of mine best described it as "lazy programming". Where you don't have consider the strength and weaknesses of a particular system, building off that, but rather use the cookie cutter method losing performance and reliability.
And now... let me tell you a little about Java from my perspective:
Java has some popularity despite all the security issues that came up over the years for two reasons. First colleges keep teaching it for whatever reason that, setting young people on that path of struggle without giving them any alternatives, like it was done in my case. And second, is the lazy programming I've mentioned before. Wouldn't that be great if you can write it once and it would run on any system? Hell yeah! But, and that is a big but, if Java is not written with performance in mind, it becomes a resource hog. It has a terrible garbage collector that has been often patched, but kept producing memory leaks. And even if you compare well written applications in Java and C++ in benchmark test you will see that C++ will outperform Java. Apart from that, there are two "software"s that were leading the security vulnerability headlines in the 2000's for a decade: Flash and Java. security experts kept advising people do uninstall those 2 applications almost on monthly bases. Thankfully Flash is gone now.
I'm not gonna touch Java with a 10 foot pole in my lifetime or recommend it to beginners for these reasons:
- If you need more than 3 lines for "Hello world" print out it's an overkill
- Limited backwards compatibility where you can't update local client without breaking an application is more than annoying.
- Since back in the day it was Sun, now Oracle, have their iron grip on the design and development of the language and it's not being truly open source the fate of Java is set. Making it slow to adapt to ever faster progressing development around it.
The numbers you put for langauges doesn't seem alright, it may be this what StackOverflow developer wold love but that is not true picture for whole IT industry
ReplyDeleteRust: 83.5%
Python: 73.1%
TypeScript: 73.1%
Kotlin: 72.6%
WebAssembly: 69.5%
It's a shame than in 2021 are still so many recommendations to learn java
ReplyDeleteJava is legacy - it hardly includes modern syntax and paradigm features, younger languages have since a couple of years already
OOP is legacy - It is not a mapping to the real world. It is a mapping to the puppets theater. It doesn't solved the complexity problem. It has no answers for today problems like asynchronity or multithreading.
BUT learn functional paradigm and you will never can say Java, or C# or whatever OOP-first languages in general are making your productive or the resultant as safe as it does (for example) ocaml, which is already decades old.
JVM is legacy - portability is a lie. Rust or Golang can be just compiled for the platform of choice without needing of IL layer, slowing down the program start and resulting in inefficient assembly, despite all the man-years in the JIT omptimizations
Community and ecosystem is the only benefit of choosing java. Familiarity is why we stick to the language or a platform. Sadly it is why we have javascript on backend or electron on desktops, or java in your microwave - familiarity.
Please don't learn java, or c#, or python, or js. All the languages where you can easily writ a hello-world are the trap. Java never gets your the productivity of scala.
Instead learn haskell, ocaml, scala, rust, elixir.
Even if you already a guru in one of them - you'll never look back
Even if you too lazy to learn another paradigm - at least choose kotlin instead!
The numbers you put for langauges doesn't seem alright, it may be this what StackOverflow developer wold love but that is not true picture for whole IT industry
ReplyDeleteAs per my experience I can say that if you want Software development job then learning Python, Java, or JavaScript is probably your best bet.
ReplyDeletethe numbers you put for langauges doesn't seem alright, it may be this what StackOverflow developer wold love but that is not true picture for whole IT industry
ReplyDeletefor information visit https://allinfohubs.com/105/How-to-Identify-When-Your-Heart-Skips-a-Beat
Read more: https://javarevisited.blogspot.com/2018/07/10-reasons-to-learn-java-programming.html#ixzz86g4jYnuR