Saturday, April 11, 2009

Weak type vs Strong type Languages

Or is it short term programmer productivity vs long term code maintainability?

Facebook is a good example of how using PHP, they were able to achieve up-front benefit of programmer productivity which led to their initial primary goal of pushing the product out the door.

In the long term, as Aditya Agarwal, Director of Engineering at Facebook, puts it. Facebook, written in the weakly type PHP programming language, is making the large code-base difficult to maintain and analyze.

The way Facebook address this issue is an interesting one.  While PHP remains the front-end web programming language, a good chuck of their services is written in a strongly typed programming language such as C++.

Perhaps, web-programming should follow this evolution? Weakly type language such as Ruby, PHP, Python, are used for version 1.0 to push the product out the door.  As the product matures and code-base grows, refactor the services to use strongly type language?