Over the years Java has evolved, incorporating new features and ideas. But there were some key ideas that were considered while designing the language. Let’s look at these.
What Java intends to provide?
Java should be simple to learn and use by the Professional Programmers.
- Object Oriented Features
The Object Model in Java is simple and easy to extend.
Programs written in Java should be able to run reliably in any Environment.
The language should support concurrency and parallelism.
- Architecture Neutral
Thanks to Java Virtual Machine you can write a Java program once and run on any platform.
- Interpreted and High Performance
Java supports Remote Method Invocation.
It also frees you from Memory Management activities which can cause major errors at run time, if not managed properly.
I know this was a high level overview of the design considerations. If you want to explore further please checkout my other articles.