Language Wars and Others
We often get asked, "Why do you teach [X]? Why don't you teach [Y]?" where X and Y are random permutations of Perl, Python, R, MATLAB, Julia, C++, and Javascript, or equally random permutations of different version control systems or text editors. There are three answers:
-
We'd be happy to, provided you will create and maintain a lesson that covers the same basic ideas as our existing ones. (Cf. "You Doesn't Exist".)
-
If you're in the United States, you measure distance in miles and weight in pounds because that's what the people around you use. Similarly, if a community of scientists are using [X] and condition #1 is satisfied, we'll teach our fundamental ideas—task automation, modular programming, version control, and structured data—using [X], because those ideas are what really matter.
-
When someone says, "Teach [X]," it's almost always because they believe it's better. When asked for evidence, though, they almost always respond with personal anecdotes or the sort of a priori reasoning that led Aristotle to believe that heavy objects must fall faster than light ones. We can do better: we can measure the usability of programming languages through control experiments. And I think that means we have an obligation to: as I've said many times, if we want other people to pay attention to the evidence when it comes to things like climate change, we need to demand and respect evidence ourselves.