Chapter 44. Know Well More Than Two Programming Languages

Russel Winder

image with no caption

THE PSYCHOLOGY OF PROGRAMMING: people have known for a long time now that programming expertise is related directly to the number of different programming paradigms that a programmer is comfortable with—that is, not that he just knows about or knows a bit of, but that he can genuinely program with.

Every programmer starts with one programming language. That language has a dominating effect on the way that programmer thinks about software. No matter how many years of experience the programmer gets using that language, if she stays with that language, she will know only that language. A one-language programmer is constrained in her thinking by that language.

A programmer who learns a second language will be challenged, especially if that language has a different computational model than the first. C, Pascal, Fortran—all have the same fundamental computational model. Switching from Fortran to C introduces a few, but not many, challenges. Moving from C or Fortran to C++ or Ada introduces fundamental challenges in the way programs behave. Moving from C++ to Haskell is a significant change and hence a significant challenge. Moving from C to Prolog is a very definite challenge.

We can enumerate a number of paradigms of computation: procedural, object-oriented, functional, logic, dataflow, etc. Moving among these paradigms ...

Get 97 Things Every Programmer Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.