Monday 7 September 2015

Java - Introduction

Introduction:

The ‘Java Programming Language’ is a general-purpose computer programming language. It is classified as a high-level language because of its automated ‘garbage collection’ of objects and automatic memory management.

Java is also a statically typed programming language. This means that unlike dynamically typed languages that do type checking at run time, Java does it at compile-time. Having errors checked at compile time allows for a lot of bugs to get caught during early stages of development.
Being a statically typed language means that data types must be explicitly declared before run time. In comparison, a dynamically typed language such as JavaScript does not require you to specify the data types for your variables because they are determined at run time.

Java is one of the most popular programming languages in the world, powering over 3 billion devices. Java is able to run on all platforms that support Java without needing to recompile. Java’s “write once, and run anywhere” model is why it’s a popular choice for developers who want to create applications that will be run on multiple platforms, without having to adapt their code implementations for each individual platform.

Javas features:

Object Oriented: Everything inside a Java program is an object. This makes Java easily extendible because it is object based.

Simple: Java is an object oriented programming language (OOP). Knowing the basic concepts of OOP programming would make Java easy to learn.

Cross-platform: Java programs are able to run on any devices that support Java without needing to recompile for each device. It is able to do this because it has no implementation dependent aspects. When Java code is compiled, it is made into platform independent byte code which can then be interpreted by any platform that has a Java Virtual Machine (JVM) installed.

Multithreaded: Programming multithreaded applications using Java allows for programs to execute many task simultaneously. This allows developers to make the most of the user’s systems resources to provide the user with a smooth, lag free experience.

Error checking: Javas is a statically typed language. The compiler will attempt to determine the types of everything and make sure that all the code is type safe, and will give errors at compile time if it detects a problem.
The compiler is unable to see the run-time information which can sometimes cause it to produce errors when in fact the code will execute without error at runtime. This will be discussed more in later tutorials.

Security: Java programs use authentication techniques that are based on public key encryption. This allows for virus-free, tamper-free applications.

Audience:
These tutorials are designed to be worked through systematically. This course has tutorials that both beginners and seasoned programmers will find useful. If this is your first time learning a programming language we recommend that you start from the beginning and don’t skip over tutorials, as you will miss some important concepts that will be needed in later tutorials.

Prerequisites – none

Assumed Knowledge:
Basic knowledge of how a computer works, and what a program is. Understanding basic concepts of how programming languages are used.

Please note that these tutorials will be written for windows operating system. All of the concepts will be identical to that of linux and IOS apart from the environment setup. It should be easily translatable if you are well accustomed to your OS.

1 comment: