Monday, August 24, 2015

"Fast to code & deploy" vs "Fast & Stable Performance" (A brief Rant!)

"Fast to code & deploy"

The more pertinent question that you should ask is not how fast you code and can test consecutively, but how fast can you implement a certain functions.

Example:

Programming language A:
Coder A with 3 years of experience, can code a certain function for a system in 2 days, using a fast-to-deploy scripting like language (such as PHP). Any changes will be reflected on the fly.

Programming language B:
Coder B with same (3) years of experience, using a pre-compiled (interpreter) language, which requires extensive compilation time before deployment (such as C++, Java), can code the same exact function (as above) in maybe 2.5 days.

Note: Seriously, much of a time difference can compilation make...in view of the whole project timeline. Yes, code compilation is a hassle and can be annoying, but in view of the whole project...it's not a deal breaker

However, Coder C with say 5 years of experience of Language B, can easily code that very function in 1-1.5 days. Experience really counts, especially as he picks up more shortcuts or he makes less mistake.


"Fast & Stable Performance"

This is where the deal breaker comes in. Stability and performance are heavily dependent on the dynamics of the language and the very interpreter its is bounded by.

Usually, scripting languages tend to be loosely typed and less stringent, but the drawback is that you will get a thousand smart ass saying they are so called 'experts'. This is where the abuse comes in and the codes get spaghetti, and thereby makes it very less maintainable or those categories of "Only the author of the code knows what he is doing!".

Javascript has always been my public enemy number 1 in this respect.

However, there are no doubts that you NEED to pay a price when it comes to Stability and Performance. No free lunch.

Conclusion:

Those who knows me will know where my undivided loyalties lie. There is no doubt in my mind, I am a huge fan of pre-compiled, strongly typed language (JAVA!). If you take over abandoned million dollar projects, with minimal documentation, you will thank me. That's where the strongly typed language can really helps. The codes are the documentation by itself.

Fast to code, deploy and test have their advantages...but again, if a coder declares they can do the same thing within 2 days in PHP, which they need twice the time in Java... well my response to that is:

Challenge accepted...I can do the same thing within 1 day in Java, which it is said 2 days are required in PHP.


Note: More rants coming soon...not on the language but the practitioners of that scripting language...for some reason..simple dumb down language creates very dumbed down developers...



No comments:

Post a Comment