Java History
Learn basics of Java
Java programming language an object-oriented, general purpose language that is specially designed to simplify development. On Livecoding, you can watch engineers code Java products live to improve your Java skills. Learning Java programming was never easier, and this Java guide is the right place to begin. Join our community, search for our Java tutorials and start improving your coding skills.
73,568
About Java Programming Language
Java is a feature-rich modern computer programming language. It is a general-purpose language that offers all the feature that is required to implement a new system. Java is dubbed as “write once, run anywhere” as it is not dependent on the computer architecture, thanks to the Java Virtual Machine (JVM). Java Bytecode is compiled and runs on JVM machine for portability purposes. James Gosling developed it at Sun Microsystem in 1995. From there, it has grown stronger each passing day. Mostly, it is used for developing enterprise level applications and client-server web application. It is also extremely popular among the developers with over 9 million developers using the programming languages. Java is also famous for teaching coding to beginners as it is often chosen as the language of choice for first-time learners. Learning Java is also very easy, thanks to hundreds and thousands of tutorials available online.
Java History
Java history is rich and vibrant. It all started with Patrick Naughton, James Gosling, and Mike Sheridan as they started working on a project in June 1991. The language is aimed to designed for interactive television. Initially, the language was named Oak because of the oak tree outside this office. With a name change of “Green,” it was finally named to Java. The final name is derived from Java coffee.
Java programming language is inspired by the C/C++ style according to Gosling. The aim was to create a programming language independent of the underlying machine architecture.
The first public release of Java happened in 1995 as Java 1.0. New versions were released with time. Java also became the open source on November 13, 2006. It was released under the GNU General Public License (GPL) terms. Java is a powerful programming language and is used almost everywhere, including small microchips to powerful supercomputers.
Java Tools
Tools are universal to any programming language you use. Java is no different. It has some tools that you must use to make the most out of Java programming language. Using the right tool will help you improve your productivity and workflow. So, what tools should you choose? Let’s go through some of the best Java tools!
- Gradle: A simple build tool for Java projects. It let’s you do publishing, testing, building, deployment and manage your project. It is a must have tool for Java programmers.
- Eclipse: Eclipse is a popular open-source IDE for Java and is used by hundreds and thousands of Java programmers
- IntelliJ: IntelliJ is yet another IDE for Java programming language. It is built by JetBrains and available in the community edition. You can also opt to get the commercial edition which comes with better features and support.
- YourKit: Yourkit is a simple Java profiler. It works by combining the powerful analysis and on-demand profiling. It can be used both in production and development and seems great for application server integration.
- Clover: Clover is a Code coverage developed by Atlassian. It runs inside your IDE and helps you do continuous integration. Also, it lets you do test optimization for better application performance.
- Mockito: Mockito is an open-source mock library that lets you successfully create mocks. You can do all the steps including verification, creation, and stubbing.
- Jetty: Are you looking for an embeddable, lightweight app server, Jetty is your answer!
- Hibernate: Hibernate implements the Java Persistence API and is an Object-relational mapper.
- VisualVM: JVM can be a complex thing to manage. With VisualVM, you can troubleshoot the problem and ensure maximum efficiency.
- JUnit: Unit testing is important and tools can help you do so. With JUnit, unit test framework, you can test your app and make progress in TDD environment.
- Jenkins: Jenkins is a must have tool for Java programmers. It is a continuous integration tool and can be customized with hundreds of available plugins.
- Guava: Guava is a utility library. The library contains hundreds of core libraries used by Google. The core libraries can only be used for Java-based projects. For example, it can be used in primitives support, common annotations, string processing, etc.
- FindBugs: Finding bugs is an important part of programming. With Fingbugs, you can find a bug in your code using the static code analyzer. It categories bugs into different level such as scary, troubling, scariest, or “of concern”. It can also be used in IDE as plugins or as a standalone program.
- Jackson: Jackson is a JSON parser. It is lightweight, ergonomic, and fast to use, compared to simple JSON.
Java Best Books
Learn Java programming by choosing any of the books mentioned below. To make sure that you pick up the right book, we have categorized them into beginner, intermediate, and advanced. The books will easily help you to achieve your dream of becoming a Java Programmer or improve your knowledge of Java. Check them out below!
-
JAVA: A Beginner's Guide to Learning the Basics of Java Programming
This book will help you learn the basics of Java programming. It offers a step-by-step approach filled with many examples and screenshots of actual programming codes. This book is written for people who don’t have any background in programming. The book begins with the basic such as how to download and install the Java software development kit and NetBeans, which will help you to easily learn the program. It will then discuss the features, keywords, and formats that build the core of Java as a programming language.
-
Beginning Programming with Java For Dummies
by AnBarry Burd
Beginning Programming with Java For Dummies, 4th Edition is a comprehensive guide to learning one of the most popular programming languages worldwide. This book covers basic development concepts and techniques through a Java lens. You'll learn what goes into a program, how to put the pieces together, how to deal with challenges, and how to make it work.
-
Beginning Java Programming: The Object-Oriented Approach
by Bart Baesens, Aimee Backiel, Seppe vanden Broucke
Beginning Java Programming: The Object Oriented Approach is a straightforward resource for getting started with one of the world's most enduringly popular programming languages. Based on classes taught by the authors, the book starts with the basics and gradually builds into more advanced concepts. The approach utilizes an integrated development environment that allows readers to immediately apply what they learn, and includes step-by-step instruction with plenty of sample programs.
-
Professional Java EE Design Patterns
Professional Java EE Design Patterns is the perfect companion for anyone who wants to work more effectively with Java EE, and the only resource that covers both the theory and application of design patterns in solving real-world problems. The authors guide readers through both the fundamental and advanced features of Java EE 7, presenting patterns throughout, and demonstrating how they are used in day-to-day problem solving.
-
Learning Java
by Patrick Niemeyer, Daniel Leuck
Java is the preferred language for many of today’s leading-edge technologies—everything from smartphones and game consoles to robots, massive enterprise systems, and supercomputers. If you’re new to Java, the fourth edition of this bestselling guide provides an example-driven introduction to the latest language features and APIs in Java 6 and 7. Advanced Java developers will be able to take a deep dive into areas such as concurrency and JVM enhancements.
-
Effective Java (Java Series)
by Joshua Bloch
Are you looking for a deeper understanding of the Java™ programming language so that you can write code that is clearer, more correct, more robust, and more reusable? Look no further! Effective Java™, Second Edition, brings together seventy-eight indispensable programmer's rules of thumb: working, best-practice solutions for the programming challenges you encounter every day.
-
Advanced Analytics with Spark: Patterns for Learning from Data at Scale
by Sandy Ryza, Uri Laserson, Sean Owen, Josh Wills
In this practical book, four Cloudera data scientists present a set of self-contained patterns for performing large-scale data analysis with Spark. The authors bring Spark, statistical methods, and real-world data sets together to teach you how to approach analytics problems by example.
-
Key Java: Advanced Tips and Techniques / Edition 1
by John Hunt, Alexander G. McManus, A. G. McManus
Intended for those who already know the Java language, this book will help programmers get the most out of Javas capabilities. Topics covered include: good Java style for reusable components, using Java beans, the JDBC, optimizing and testing code, using the IFC tools, and the new JFC. It also explores the significant and exciting developments in Java and covers techniques that will be fundamental to programmers developing significant applications in Java.
-
The Well-Grounded Java Developer: Vital Techniques of Java 7 and Polyglot Programming
by Benjamin J Evans, Martijn Verburg
The Well-Grounded Java Developer offers a fresh and practical look at new Java 7 features, new JVM languages, and the array of supporting technologies you need for the next generation of Java-based software.
Java Projects
is a popular messaging app. It works for all the popular platforms including Windows, iPhone, BlackBerry, etc.
Explore this project!UC Browser is a performance based mobile web browser that enables you to browse web using your mobile device. It is created using Java programming language.
Explore this project!Just like UC browser, Opera Mini is a simple yet fast browser for mobile. It uses Java to make things faster
Explore this project!Facebook chat is a messenger utility that utilizes Java under the hood.
Explore this project!AVG Antivirus protects your computer from any virus threats. It provides real-time protection to threats and ensures your computer stays clean in the longer run.
Explore this project!Google Maps is one of the leading free to use utility for the location tracking. It tracks driving direction, business listing and other important locations out of the box. You can also share your location with your friends and roam freely.
Explore this project!eBuddy Messenger is a free to use universal chat messenger. It works great for MSN, Yahoo, Facebook and others.
Explore this project!Java Community
Java community is extremely strong. It has millions of users who want to connect with each other in improving the programming language. Not to mention there are many sub-divisions in the community when it comes to interest. For example, many people are interested in doing Internet of things(IoT) using Java; others are interested in building Machine-to-Machine(M2M). The possibilities are endless, and this is where Java programming language shines. Multiple communities and message boards are available that you can go through. Some of them are listed below.
- Submit a Technical Article for publication
- Join a JUG (Java User Group)
- Meet a Java Champion
- Join the Oracle Technology Network (OTN)
- Java Community Process (JCP) to follow JSR
- Java.net: For hosting your Java project.
- Participate in a Java Forum
- Follow Oracle Java bloggers
Java Gurus
-
James Duncan Davidson:
has been developing websites in Django since the early days of the framework. He learned Python with 10 years, with Django working from version 0.91. He enjoy sharing his knowledge as he helped to thousands developer mostly at StackOverflow. He blogs on Django, Python and other programming subjects at blog.roseman.org.uk.
James Duncan Davidson Website -
Kent Beck:
Kent Beck, creator of the Extreme Programming and Test Driven Development software development methodologies. Furthermore, he and Erich Gamma created JUnit, a simple testing framework, which turn into the de facto standard for testing Java-based Web applications. The combine of JUnit and Test Driven Development makes a big changed on the way of coding Java, which causes many Java developers are not willing to follow it.
Kent Beck Twitter Kent Beck Wiki Kent Beck Blog -
Joshua Bloch:
Joshua Bloch, led the design and implementation of numerous Java platform features, including JDK 5.0 language enhancements and the award-winning Java Collections Framework. In June 2004 he left Sun and became Chief Java Architect at Google. Furthermore, he won the prestigious Jolt Award from Software Development Magazine for his book, “Effective Java”, which is arguably a must read Java’s book.
Joshua Bloch Twitter -
Marc Fleury:
Marc Fleury, who founded JBoss in 2001, an open-source Java application server, arguably the de facto standard for deploying Java-based Web applications. Later he sold the JBoss to RedHat, and joined RedHat to continue support on the JBoss development. On 9 February 2007, he decided to leave Red Hat to pursue other personal interests, such as teaching, research in biology, music and his family.
Marc Fleury Facebook -
Craig McClanahan:
Craig Mcclanahan, creator of Struts, a popular open source MVC framework for building Java-based web applications, which is arguably that every Java developer know how to code Struts. With the huge success of Struts in early day, it’s widely implemented in every single of the old Java web application project.
Craig McClanahan -
James Gosling:
James Gosling, generally credited as the inventor of the Java programming language in 1994. He created the original design of Java and implemented its original compiler and virtual machine. For this achievement he was elected to the United States National Academy of Engineering. On April 2, 2010, he left Sun Microsystems which had recently been acquired by the Oracle Corporation. Regarding why he left, Gosling wrote on his blog that “Just about anything I could say that would be accurate and honest would do more harm than good.”
James Gosling Linkedin
Java Conferences
Most of the Java Conferences happen annually. So, if you missed them right now, just wait, and you can attend it with its full glory!
- Devoxx UK
England, London
- QCon New York
United States, New York
- droidcon Berlin
Germany, Berlin
- Devoxx Poland
Poland, Krakow
- Gradle Summit
United States, Palo Alto