Wednesday, August 26, 2009

Wisdom of Experts: Programming in vs. Programming into a language

David Gries (1981)  pointed out that “your programming tools don’t have to determine how you think about programming”. He also made a distinction between programming in a language vs. programming into a language.

Programmers who program “in” a language limit their thoughts to constructs that the language directly supports. If the language tools are primitive, the programmers thoughts will be also be primitive.

Programmers who program “into” a language, first decide what thoughts they want to express, and then they determine how to express thoughts using the tools provided by their specific language.

So, try as much as you can to program into the language you use. If your language lacks constructs that you want to to use or is prone to other kinds of problems, try to compensate for them. Invent your own coding conventions, standards, class libraries, and other augmentations.

2 comments:

amr_mt said...

this reminds me with a related article: teach yourself programming in 10 years
http://www.norvig.com/21-days.html

I believe that programming languages are mostly like human languages, a developer should learn one language as a 'native' language to be a second nature to him, then he should learn many other 'foreign' languages with different degrees of mastering so that he becomes 'open-minded' to different 'cultures'

smplcv said...

I am a software project leader from India and this blog was mind blowing..simply superb stuff for programmers..keep up the good work and please keep sharing..have added this to my Google reader


Software Engineer CV