Code vs. Create
ideasurfer.tumblr.com
ideasurfer.tumblr.com
Sigh. Another victim of Sapir-Whorf.
-- Steven Brust
I wonder if there's a correlation between this kind of thinking about code and a predisposition towards imperative languages and thinking of all programs as recipes with lists of things to do in a particular order.
All programming languages are very similar in their code: once you've picked up the nuances and the basics of the syntax coding in it is easy enough.
But "creating" (I think that's the wrong word personally; but cant think of a better one) in a specific language requires much more in depth understanding of how it works (for example how a compiler constructs your C program, or how a Javascript engine runs etc.).
I much rather want to be able to think in data and I want to be able to easily grok the runtime model of a language, because if I can do that, getting able to write large things in a new language is not that hard. Certainly, if you never knew C and just look at it's runtime model (with the crucial part pretty much being the difference of data on the stack and on the heap), you won't be able to write an industry-strenght *nix-kernel immediately, but on the other hand, after about a week or two of doing stuff in C, you will be able to do quite a lot.
This is also the reason why I look at a lot of languages, but mostly stick with python. Most languages don't offer a better tradeof than python (even though I am still eagerly waiting for Haskell':) ), so I don't see a reason spending a month or two just doing stuff in them. If it grows necessary, I will certainly be able to do so, but currently, I don't need to annoy myself too much :)
For me, coding is a means to an end: I want to solve a problem; I want to create something that does something useful; I want to breath life into a figment of my imagination.
I try to immerse myself in the problem; and then I find examining almost anything in related areas will inspire me with new perspectives.
What do you guys think about learning just one programming language or just one human language? I don't think you can be a real expert in a language, if you just a single one. First, you will not get a good feeling of what the style of your language is, if you just know this one. And second, there is stuff, you can write easy in language A but much harder in language B. There will be a point in mastering language B where you have to be able to write the same stuff, too. But you might never learn that stuff, if you never saw people doing it in language A. (pg's argument for stronger languages vs. weaker languages is some kind of subset of my second argument)
For one instance, I (personally) am not aware of Shakespeare knowing any languages other than English; however, it may be that all educated people in that era knew Latin, and so the many great English writer so the past support your hypothesis.