Saturday, April 20, 2013

What is the best language programming

I think programmers fight on this questions like football fans cheers there group.
more than this often languages that consider to be the best language like cobol after few years consider to be very problematic languages. i believe also that many good languages are not consider good since they don't have good PR. in this post i will try to tell my opinion about what is the best programming languages and write my criteria on it. as you will see, well you probably already guessing is not a world of black and white and the answers are not so deterministic, however, i think i can spread some light on this issue.
First is important to say that programming language is a tool and like any tool it depends on the task that you need to preform, not all the applications are the same so the language should be feet to the task that you need to preform. of course, that rich frameworks and strong community are also a good criteria for good language. there are some languages that very good in specific thing, for example, perl is very good in text processing. logic languages like prolog good in artificial intelligence and so on.
also when you talk about good languages the question is good in what?
C & C++ good in performance and optimization
VB consider to be good in rapid application development, but notice that languages that belong to the .NET framework limit you to windows so of course they have some advantage working on windows.
But i think the most important thing in programming language is a language that help the programmer not to write bad code. for example, C++ put all the responsibility on the programmer. I think it's not good, good code is a code that prevent the user who use it to make mistakes and guide him to write good separate code.
The disadvantage for this issue is that sometimes you need to write more code since this is the right way to do it. I think java is a great example for such language and this is why i think java is very good programming language. let me provide an example: in java we don't have pointer to function, if you wish to send pointer to function you need to create interface with one method, implement in a class and than this object will be the function itself. java do it since in java everything is an object. this is why java is a pure object oriented language. but sometimes it requires more work even for simple cases. this is why the JCP try to add more functional attributes to java. however, all the functional languages has very unclear syntax and i think we should be very careful on this issue.
so what is the best language, well if you wish to write big server enterprise applications on cross platform probably java is your answer. in places that you wish to avoid the overhead of java you may use other languages and integrate them in java. but i think the architectures of java keep there minds helping the programmers working in the right way.

No comments: