I wrote a blog post a few years ago[1] making a similar claim about computer science. I said there’s 3 main camps of programmers: - People who enjoy programming because it’s mathematically beautiful (eg Haskell programmers) - People who enjoy programming because they like reasoning about machines, and like mechanical sympathy (eg C programmers) - And people who like programming because it can solve real problems for…
I thoroughly enjoyed your post at the time!
One thing that I disliked, though, was the inaccurate caricaturing of people on camp 2. For example:
> Low level languages are often better than high level languages because you can be more explicit about what the computer will do when it executes your code. (Thus you have more room to optimize).
My concern is the last parenthesis. I am squarely on camp 2, but I'm almost never concerned for optimization. I want my code to be very explicit because I want to understand clearly what it does (thus I hate C++ and other untoward abstractions). Thus clarity is the main motivation, not efficiency as you put it.