Java is one of the most popular contemporary programming languages. You can come across applications written in Java every day, whether they are applications in computers, mobile phones, cars, and even in your microwave oven. Java is running on 3 billions devices.
Java is one of the most popular contemporary programming languages. You can come across applications written in Java every day, whether they are applications in computers, mobile phones, cars, and even in your microwave oven. Java is running on 3 billions devices.
First you need to understand how we coded the so-called first-generation programming languages. Each CPU or “processor” has its own dialect, which it understands. There are many such “processor dialects” and each processor type understands only to its only one. And when each processor type understands only to its dialect, it makes the programmes dependent on this one computer with the specific processor. This “dialect” is called the machine code.
Machine code -> Processor
The machine code is a set of elementary instructions in their hexadecimal or “hex” form (base 16). The instructions are so primitive that they allow, for example, just adding addresses, or jumping to a different instruction. You cannot even add two numbers together in one step; this requires multiple instructions. A programme for adding two numbers would look like this:
You will probably agree that this code is extremely unreadable for a mortal. Due to this, the second generation of programming languages has brought the so-called assembler or ASM, which is no easier than the machine code, however it is readable for humans. It is a code in which every command is denoted by a word or abbreviation; it means that you do not need to remember any numeric codes. The same example for adding two numbers looks then like this:
Note that the code is more readable, but still very hard to understand for a “mortal” who does not concerned with programming.
The third generation of programming languages is much more readable even for non-programmers. The numbers are seen here as variables, and the source code resembles more a mathematical formula. Adding two numbers in the C language could look like this:
Note that the code is much more readable here, and also a non-programming “mortal” can it read with some thinking. The code adds 83 and -2, and stores the result into the variable c. Upon more recent developments the languages have gone further and have brought so-called object-oriented programming (OOP). Languages in the third generation can be categorised into three groups.
The compiled languages have their readable source code, which can be easily understood by the humans. However the processors cannot understand this source code, which is why the programme has to be compiled into the machine code. This effort is to be done by a special programme called a compiler.
Source code -> Compiler -> Machine code -> Processor
The most widely known compiled language is C, or its object oriented successor C++.
The interpreted languages answer the issue of the portability of programmes among different platforms (i.e. different processors or operating systems). The interpreter works similarly to a compiler; however it does not compile the whole code, but decodes and interprets various parts of the code as needed. The translation into the machine code is therefore made on the run.
Source code -> Interpreter -> Machine code -> Processor
Examples of the interpreted languages include PHP or JavaScript.
The languages with a virtual machine constitute a mix of the first and second generations of languages. The source code is compiled into the so-called intermediate bytecode in the first place, which is a simplified machine code and which is then interpreted into the machine code of the specific processor.
Source code -> Compiler -> Bytecode -> Interpreter -> Machien code -> Processor
These languages include e.g. C# and Java.
Java is based on the object oriented programming (OOP) and belongs to the most recent (i.e. most advanced) generation of the programming languages.
Development in Java SpecificationWe are ready to go through your vision, we will help you to fine-tune the details in your project foreseen. Based on your ideas we will define the specifications and then suggest the final pricing. Development and testing During the project work we will notify you regularly on its status. In case of the agile development we can present you the recent updates every 14 days. Propagation and support This is however just the beginning of our cooperation; we will take care of your projects further on. We are also ready to offer you services of online marketing, provided by our subsidiary company. What clients say about us iOSapplications iPad applications Android applications ReferencesWhat else we can do for you Interested in developing custom IoT applications?