Chef vs. programmer

Ever watch a cooking reality show?

What always surprises me about those shows is how ill-prepared the chefs are. Usually it’s because they are too focused on one type of cuisine. Maybe it’s Cajun, Italian, or classic French. Leaving their comfort zone for some of them is challenging… not only that many suffer from one great Achilles-heel – a lack of ability to make desserts. It’s not that they don’t have the technical know-how, it’s because they don’t prepare themselves – maybe avoiding desserts, because they don’t like making them, or are perplexed by the thought of baking.

Programmers are very similar to chefs. We both use algorithms/recipes, and tools to build them. Many programmers suffer from similar issues to chefs. They know how to code in one family of languages – C, or maybe Java, Objective-C? But their programming knowledge suffers from a lack of breadth. Do they know how to code in a language family that is not derived from C? What about Fortran, Cobol, Ada? Awk, Pascal, Modula-2? Julia, Rust? Exploring new languages helps make you a better programmer. Writing Cobol programs may not be everyone’s cup-of-tea, BUT a basic understanding of the language provides a better understanding of programming in the large.

The concepts of a programming language are universal. An if statement in any language has roughly the same syntax, it does the same thing. It is usually the intricacies of a language which differentiate them: how they store and deal with arrays, do they have a built-string data types, pointers?

Bottom line? Learn a bunch of programming languages, it will make you a better programmer.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s