Hello Readers! I declare this upcoming month as a Java month and will post blogs about Java through out this month.
Java is a vast programming language and as they say:
“You can go short on your lifetime but cannot explore Java to its fullest.”
According to me,it is not necessary to read and learn each and every topic of Java (or any other programming language) to be called as an exceptional programmer. What differentiates a Good Java programmer to a Java programmer is his ability to use the already available code and APIs and to be in that group you should know how to what a particular piece of a Java code means. If your fundamentals are crystal clear then it is a child’s play for you to understand any piece of code or learn any framework.
Where to begin:
Java is so vast that when you search on tutorials for Java on Internet, you get confused. You cannot decide from where to start to make a solid base of the language. This is annoying and wonderful at the same time. Being a Java developer makes you realize that how previous programming languages(like C, C++) restricted you from being powerful. Java is way more powerful than many programming languages due to the rich collection of library it provides.
According to the type of learning resource you prefer, following are my recommendations on where to start learning Java:
- Official Documentation: One of the best resources for Java learning is its official documentation. This provide a total explanation of each and every topic that Java covers. Go through this thoroughly and I guarantee you will have a deeper understanding of Java then most the people who go to some ‘coaching classes’ to learn Java. This is what I would recommend you to go for.
- Book: The book that made my base for Java Programming is Head First Java. This book is just like a magazine, total fun and different. If you are totally beginner in Java or even in Programming, this is the book you should go for.
- Websites: There are a number of sites which provide online Java tutorials. The websites that stand different from others are Learn Java and codecademy. This websites allow you to experiment on the tutorial on the spot with there online Java editors. This is really cool feature and you will learn a lot if you love experimenting with code.
- Video Tutorials: The video tutorials that are different from the millions out there are Udacity, Udemy and edX . Each of them is free and you can get certificate also if you will(and pay, of course). Start any one of them and stick to that till you completely understand the basics. Nowadays most of the people prefer videos tutorials rather than books because they think its “time consuming”. But I think every book is different of its kind and the insight and depth that books provide videos cannot provide that.
Things to remember:
- No IDE: Yes you read it right. I strongly recommend every beginner in any programming language to use simple programming specific text editors like Sublime Text, Notepad++ or Atom. These text editors make you write syntax of that language by yourself unlike IDEs which make you lazy enough not to write syntax by your own. Your habit of writing Java codes in text-editors will help you in long run. Using text-editors make you less prone to syntactical errors.
- Understand Errors: Whenever you compile any Java program, make sure you read the error that JVM is reporting. This will help you to understand Java language deeply and most of the time you can debug other’s code just by reading the error JVM is throwing which will make you a star programmer wherever you will go.
- Understand JVM: You should have a basic idea of how JVM works to deliver you a compiled and executable version of program that you just wrote. This will help you when you will start making complex Java projects.
- Typing: If you are learning Java then keep this in mind that Java is a strongly typed language and you have to type everything as syntax says otherwise you will get a series of errors to haunt you. So start using standards when you type. Even if you are chatting on Facebook, make sure you use capital letters wherever you should in terms of English Grammer. This may seem unnecessary to you but believe me, the more precisely you type, the more fast you learn Java.
To learn Java is not that difficult. Once you learn Java the challenge is to solve problems in Java and learn its data structure and different algorithms and their implementations in Java. To do so you should have the developed skill set of understanding code clearly which comes only when you follow any one of the above listed tutorials sincerely. To practice Java you can go to sites like HackerRank where you can practice Java to improve yourself as a programmer.
You can also participate in coding competitions to make complex programs which improves you as a programmer and as a problem solver as well.
If you think I have missed out something worth mentioning here, do provide your suggestions in the comment section below and I will add that particular point. You can also suggest me topics to write on whether it is something related technology, programming, passion, personality, meditation or DragonballZ. Anything that you like. Do send your requests and I will try my best to fulfill your request.
Do follow my WordPress by entering your email address and pressing follow button below so that you can get instant blogs directly to your mail Inbox. Like(only if you really like) and share our link on social media. And hope to see you again :).