Some time ago, someone asked me how I would explain someone else what Java is, "...imagine that person is someone who has little experience with Java (hence a Junior), or someone who comes from a .NET project, or a manager" he said. I thought that I should provide a high level explanation, simple and easy to understand but should provide enough detail too.
Java is a general purpose language, object oriented, and semi-interpreted that runs on a Virtual Machine. The syntax is similar to C.
Why general purpose language? Because it is suitable for different domains. This means that you can create from web applications to video games
Why semi-interpreted? Because the .java code you write has to be compiled in .class files, and these .class files run in the Virtual Machine
I would then add that Java is really a set of specifications of how the language has to be rather than a language. Different companies such as IBM or Oracle take those specifications and create their own Java implementations (aka Virtual Machines) and make them available on different operating systems.
Remember this is just a high level approach into understanding what Java is from a global point of view.
Given this, is Java the best language? Is it better than, e.g. .NET? As a consultant, my answer is that it depends on the problem you want to solve; One technology may be more suitable to solve a problem, but not to solve another one, in which case, other technology may be more appropiate. But, in any case, it would require another whole post to make an analysis of what to take into account to choose a language.
Java is a general purpose language, object oriented, and semi-interpreted that runs on a Virtual Machine. The syntax is similar to C.
Why general purpose language? Because it is suitable for different domains. This means that you can create from web applications to video games
Why semi-interpreted? Because the .java code you write has to be compiled in .class files, and these .class files run in the Virtual Machine
I would then add that Java is really a set of specifications of how the language has to be rather than a language. Different companies such as IBM or Oracle take those specifications and create their own Java implementations (aka Virtual Machines) and make them available on different operating systems.
Where does Java stand in relation to other market technologies?
Java | .NET | PHP | SAP | |
Platform | multiplatform | only works in microsoft environment | multiplatform | multiplatform |
Community | a lot | not much | not much | not much |
Cost | free | license | free | license |
Startup | not immediate, choice of frameworks first | immediate | immediate | immediate, implementation times very high |
Support | no | yes | no | yes |
Open Source | yes | no | yes | no |
Human Resources | a lot | not much | a lot | not much |
Remember this is just a high level approach into understanding what Java is from a global point of view.
Given this, is Java the best language? Is it better than, e.g. .NET? As a consultant, my answer is that it depends on the problem you want to solve; One technology may be more suitable to solve a problem, but not to solve another one, in which case, other technology may be more appropiate. But, in any case, it would require another whole post to make an analysis of what to take into account to choose a language.