Thursday, March 08, 2007

Does programming language make a difference?

It seems that today "Java" is the in-vogue programming language that can make all web-development tasks easier. But does a language really make any difference? And does java really provide advantages over other languages?

Java is 'compiled' in to byte code, and then interpreted by the java virtual machine. The JVM concept is an advantage in the "write-once, deploy everywhere" paradigm. However, when deployed in a web environment, this primarily results in overhead. (How often is the webserver switched from one platform to another? A switch to different application servers is more likely - and this would still require rework if any application-server specific functionality is used.)

Then there is the persistent nature of java app servers. Instead of invoking a new connection like CGI, it just runs in the same JVM. This is often quite useful. However, fastcgi, and mod_xxx (mod_perl, mod_ruby, etc.) provide similar benefits for other languages.

Since java is essentially interpreted byte-code, it would seem to fall behind other languages like C that are truly compiled. However, since the source has to be compiled to byte-code, it also takes more time to develop than other scripting languages that don't require the separate compiling step.

OO is another potential benefit - however, most languages today have OO capabilities, so java has no monopoly there. On the other hand, the ability to do lightweight scripting without the strict object overhead is not available within java.

Web libraries to facilitate development are also available in most language. And page templates (like JSP) are also quite common. (Though its unlikely that systems like .jsp will ever truly achieve the goal of complete separation of code and content - unless pages remain static.)

What about code quality? That is essentially the same as discussing the quality of spoken Hungarian vs. spoken English. There may be great speakers, and there may be horrible speakers. Constructs of the language may contribute to certain aspects of speech, but in the end, it is the speaker that matters the most. The same goes with programmers.

No comments:

Post a Comment