Learning Java: Where should you start
There is a ton of materials available for free or for some small amount of money that can set you on your journey to learn Java. It can be very intimidating for someone without any or with little experience in programming to start learning a massive programing language like Java. We will share with you the resources that we believe will make your task easier.
What is Java?
Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers “write once, run anywhere”, meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine regardless of computer architecture. As of 2016, Java is one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers.Java was originally developed by James Gosling at Sun Microsystems (which has since been acquired by Oracle Corporation) and released in 1995 as a core component of Sun Microsystems’ Java platform. The language derives much of its syntax from C and C++, but it has fewer low-level facilities than either of them.
The original and reference implementation Java compilers, virtual machines, and class libraries were originally released by Sun under proprietary licenses. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensed most of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin for applets).
The latest version is Java 10, released on March 20, 2018, which follows Java 9 after only six months in line with the new release schedule.
Where to start?
We would recommend you two books, an online course and a place where you can exercise what you have learned.
- Head First Java, 2nd Edition – by Bert Bates, Kathy Sierra, Publisher: O’Reilly Media, Inc. – This book is a great place to start learning Java. It’s like the creators of the Head First approach say, suppose you’re out for a hike and a tiger jumps in front of you, what happens in your brain? Neurons fire. Emotions crank up. Chemicals surge. That’s how your brain knows. And that’s how your brain will learn Java. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It’s fast, it’s fun, and it’s effective. And, despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You’ll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. Where you can find it: https://www.oreilly.com/library/view/head-first-java/0596009208/
- Think Java: How to Think Like a Computer Scientist – Allen B. Downey, Chris Mayfield, Publisher: O’Reilly Media, Incorporated, 2016 – Allen B. Downey is a Professor of Computer Science at Olin College of Engineering. He has taught at Wellesley College, Colby College, and U.C. Berkeley. He has a Ph.D. in Computer Science from U.C. Berkeley and Master’s and Bachelor’s degrees from MIT. Chris Mayfield is an Assistant Professor of Computer Science at James Madison University, with a research focus on CS education and professional development. He has a Ph.D. in Computer Science from Purdue University and Bachelor’s degrees in CS and German from the University of Utah. These guys know what they are talking about. Currently used at many colleges, universities, and high schools, this hands-on introduction to computer science is ideal for people with little or no programming experience. The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. You’ll learn how to program–a useful skill by itself–but you’ll also discover how to use programming as a means to an end. Authors Allen Downey and Chris Mayfield start with the most basic concepts and gradually move into topics that are more complex, such as recursion and object-oriented programming. Each brief chapter covers the material for one week of a college course and includes exercises to help you practice what you’ve learned.
- Learn one concept at a time: tackle complex topics in a series of small steps with examples
- Understand how to formulate problems, think creatively about solutions, and write programs clearly and accurately
- Determine which development techniques work best for you, and practice the important skill of debugging
- Learn relationships among input and output, decisions and loops, classes and methods, strings and arrays
- Work on exercises involving word games, graphics, puzzles, and playing cards
Where you can find it: http://www.greenteapress.com/thinkapjava/thinkapjava.pdf
3. Complete Java Masterclass – Updated for Java 10 – online course on udemy.com created by Tim Buchalka
Java, Android & Python Expert Developer with 350,000 students! This is a great course and Tim is great instructor. This course will take your learning to the next level.The course includes:
- 76 hours on-demand video
- 5 Articles
- 25 Coding exercises
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
At the moment you can purchase this course for 10$. Where you can find it: https://www.udemy.com/java-the-complete-java-developer-course/
4. https://codingbat.com/java – This is a place where you can exercise your newly acquired skills in Java. Coding exercises should be a huge part of your learning process. There are also great exercises in the two books that we mentioned earlier. That is why the conclusion will be when learning Java you should combine all of these resources, the books, the online course and the exercises. They all have their strong sides, but combined they give the best result.