Recently,
we are witnessing to a large number of programming languages that gain
popularity in the software industry.
Many of them are known as interpreter languages or also known as script languages.
One of the reasons for these blossoms is now you can compile many of these
languages to java byte code and run it on the JVM so the differences in the
performance become very minor. So now java is not only a language it is .more like an echo-system.
Today,
there are more than 100 programming languages that run on the JVM! and the real
questions is how do I know in which one to use and why, or I just need to stick
with java
Well, the answer for
that is depend on your requirement, each language has its own philosophy if
your requirement and the way you like to write code is suitable to the language
it means that you should use it. Java is a very object oriented language that
encourage the programmer to write in object oriented paradigm. If you like to
write object oriented (like I do) and you have a big project that include a lot
of maintenance I think java is the language for you, for example java support strict typing and encourage you to write class for any type of object. Java supports interfaces and not multiple inheritance, encourage the developer to set properly the inheritance tree. Most of the other languages do not try to
compete java in that area, however, some of the languages has some features that better in java for that purpose.
Since i'm still not an expert with all these languages, i may find myself wrong about it and maybe i will find languages that has the same philosophy, I will be happy to discuss it.
However, sometimes you
have other requirements and maybe for some applications object oriented
programming can be cumbersome and awkward. for example, did you try to write swap function in java that swap the value of two numbers, you will find out there is no good way of doing it. Therefore, in the next few posts I
will try to label the different programming languages and try to see when you
need to work with what. So you use the most suitable programming language to
your needs.