The Java Discussion… a Beginners Roadmap
What is Java? If you have been hearing the buzz of this technology and wondering what its all about, Java can be used to describe the Java programming language as well as the Java Platform.
As a Programming language it is easy to use, a pace-setter (infact C-sharp was modelled after it.),and can be used to write programs for regular Computers, Smart-cards, Web applications, Mobile Phones e.t.c. For historical purposes it’s important to note that Java language was created by 2 great and respected programmers James Gosling and Bill Joy(co-founder Sun Microsystems) for Sun Microsystems.
As a platform Java serves as a container or environment for running applications written using languages such as JavaScript, Python, Scala, Groovy, Ruby and of course Java. It is pre-installed by all major computer manufactures and available on all almost all mobile devices in the world including Nokia, BlackBerry e.t.c. There are different editions of the Java Platform targeted for different purposes. Let’s take a look at some of them and see where to fit in
- Java SE (Java Platform, Standard Edition).
Java SE lets you develop Java applications on desktops and servers, as well as embedded and real-time environments. This is where you will want to start from as a beginner. Mastery of this area allows you to develop a lot of smart applications running on regular desktop and networked computers. Java SE provides the foundation for Java Enterprise Edition (Java EE).
2. Java EE (Java Platform, Enterprise Edition). This version help you develop secure server-side Java applications. It builds on the foundation of Java SE and provides services for enterprise applications. This is the stage for an experienced Java Programmer to develop tasking applications usually accessed at the same time by a lot of users. i.e Banking and Online applications. In this case there is a need to guarantee speed, security, stability and accessibility. It encompasses the development of Java based Web applications, Email applications, complex database and network applications e.t.c
3. Java ME (Java Platform, Micro Edition). This is also a stage for an experienced Java Programmer to develop applications running on devices, such as mobile phones, PDAs, Blu-ray, and printers. A lot of the beautiful games we play on our phones where all developed using Java. If you’re interested in developing programs for your Mobile Phone, GPS, Cars, this is the environment for action. If you keep up with my articles, you can expect a detailed review of Mobile development exposing all the secrets.
4. Java Card
Java Card technology platform enables smart cards to securely run Java based applications. Think ATM , credit and fun cards, Java can do it all. All you need is to gain an in-depth expertise of this platform, in the process you should also study Cryptography for obvious reasons.
5. JavaFX
This is an emerging platform for creating smart and great looking applications that can run on any device such as desktop, browser and mobile phones,TV set-top boxes, gaming consoles, Blu-ray players e.t.c. It works like this you write a program for your desktop computer and it works on your Mobile Phone without a single code change,isn’t that exciting. Another benefit is the creation of delecious graphically appealing Java programs and easier programming for pros and beginners. It is important to note that writing JavaFX programs involves mixing a new JavaFX language with good o’l Java language.
Tools are essential in Programming; usage of the write tools makes your life easier and can make you more money. Let’s take a look at the unavoidables.
Tools for Java Development
- JDK(Java Developers Kit):This is the No1 prerequisite for writing Java programs. It is consists of a selection of programming tools ,selection of programming tools and essential libraries necessary for developing and running Java programs. You need the JDK before you can write and compile any Java program.
2. Java IDEs
IDE (Integrated Development Environment)-are smart programs that make it easy for you to write and compile Java Programs, minimizing errors, increasing development speed with a goal of maximizing a programmers productivity. Below is a list of relevant IDEs:
- Netbeans IDE- Promoted by Sun Microsystems(recently acquired by Oracle), this is an excellent tool for Java development, apart from its memory consumption I have had little problem with this product. Even if you choose to ignore some of its outstanding features its ability to make developing mobile phone applications a child’s play is indispensable. It can also be used for developing applications in other programming languages(PHP,C/C++) apart from Java. You can easily download this product from www.netbeans.org
- Eclipse IDE:Promoted by IBM this product is a darling of the Java developer community. It has a lot of software components that provide it with a lot of relevant features. Eclipse can also be used for developing applications in other programming languages(PHP,C/C++) apart from Java, but it is gradually being eclipsed by Netbeans IDE
- Oracle JDeveloper:promoted by Oracle, its abilities are limited and is mostly useful for Oracle application development
3. Version Control
When you start writing programs that go beyond your typical school assignment you need a good version control software to help you manage your ever-growing codes. It involves the management of changes to your codes and program, which helps to avoid confusion and a lot of other big issues that can crop up when you’re developing as a team or developing software that will be used by other people apart from you. In any case we all forget things, so a version control system is a must. Examples of Version Control Softwares include: Subversion, Mecurial, OpenCVS e.t.c
A smart way of learning rapidly is to visit Java forums and developer blogs on-line. By visiting this sites you get to benefit from the knowledge of experienced hands. Listed are some useful sites
Now lets look at some benefits of being a Java developer:
- Free tools for development: The JDK and Java IDE’s can all be downloaded on-line and used freely.
- O.S(operating System)Independence:You can develop an application on windows and have it run successfully on Mac, Linux and Solaris. No double wahala, No stress
- Ease:Unlike some other programming languages, Java was designed to be easy to use , and is therefore easy to compile, debug and maintain.
- Open source:the source code of this remarkable platform is available on-line, which means you can make your own improvements to the existing features to suit your needs as well as gain visible recognition. A lot of dedicated open-source contributors eventually are employed by Sun Microsystems, Oracle e.t.c
- Support:There is a huge amount of help available for an aspiring Java developer which includes lots of available libraries and tools, massive developer communities, excellent inbuilt documentation system e.t.c
- Job relevance:Java is still one of the most relevant programming languages finding favour in relevant economic sectors. Statistics from Tiobe, Google Trends and langpop all confirm this fact.
Some popular applications developed partially or entirely in Java language include:
- LimeWire – a free peer-to-peer file sharing (P2P) client .
- MATLAB– a numerical computing environment. Java was used for the user interface and as part of the core system
- Jetbrains IntelliJ Idea, NetBeans and Eclipse IDEs are written in Java.
- SAP -the world’s largest enterprise software
- OpenOffice -an office application suite
- Your Freedom -for anonymous browsing
- Opera Mini-a web browser for mobile phones
Now you have it all at your fingertips, so what’s stopping you from developing the next smartest Java application.