Thursday, November 8, 2012

Which is the best pogramming language? Programmers Dillema

This topic is very sensitve, and I write from a little exposure Ive had with popular programming languages in the world.
First let we me list out the progamming laguages Ive worked with.

AcrionScript 2(AS2)
ActionScript 3(AS3)
Java
PHP
C#
JavaScript
CSS
HTML
SQL

Thats a soup of procedural, object-oriented, typed, untyped, declarative, client-side and sever-side laguages and with time this list is only going to get longer and more complicated.

Also individual languages also have been evolving
With AS3 you can pretty much write to virtually any device, multiple browsers in multiple OSes running on various underlying hardware. With Abode Air you could write to any smartphone mobile OS targeting the iOS, Android and BlackBerry OS. Adobe is trying to make AS as versatile as possible.

Java has broadened scope, allows to target more devices than AS3. may be its because its been in existence more than AS3. Java helps to write standalone applications, server side via JEE, client-side web apps via GWT, Google allows Android devices programmers to be written with Java, JavaFX and Applets are another of client side capability of Java. With Java the biggest thing I hate is the Documentation, it always lacks examples in the very native looking JavaDocs pages. Thanks to StackOverflow so many undocumented fixes are just a Google search away

PHP, so versatile, though Ive only put it to use on Web server as a server side language,
Its wide range of functions just make even the best PHP devs awe at whats available. Examples are so expressive that documentation deem useless.Pretty much every thing you can do in the sever can be done with PHP, Still there are a few things id prefer PHP not to be, not have its vars prefixed by a $, it has faked object orientation, and the way to access these objects in code is just a pain you need to add 2 chars (->) instead of the dot(.). PHP i know is not typed(Variables dont have types, its possible to assign any value a number, string or a boolean to any variable), that makes me a bit uncomfortable to code. Another thing I havent still figured out is how to debug code without using the popular echo() function.

Then comes C#, I just think thats its a very capable language with features similar to Java in other words its Microsoft's version of Java, Microsoft does a good job attempting to make the language more friendly for developers via its great IDE Visual Studio. I think c# would not have been so popular if not for the IDE it bundles it. You could target pretty much all windows based devices including Mobile with C#.It documentation is great, it has to be since you pay for the IDE.

JavaScript was dying until to smartphones were introduced to the market, it hass been the language that has untied the mobile devices this this divided era. Basically every smartphone and tablet everywhere is able to run complex JavaScript code. JavaScript natively is not typed and not object oriented, Though faked object oriented frameworks have been introduced these code look too verbose or too thin to comprehend. Not being typed is actually seen as an advantage by JS developers but I think it just breaks the discipline of the code. A programming concept that wowed me when i first saw it was jQuery's code chaining. It allows you to execute an infinite amount of actions with just line of code. Hmmph... try doing it with Java, No Way.
JavaScript is gaining popularity being able to run out side the browser as just as well how it ran inside it. This is true with hybrid mobile applications.

Conclusion is for you to decide....
Happy Coding...... :)