ephemera3444

joined 2 months ago
 

I regularly hear people asking which programming language to learn, and then reeling off a list of very similar languages (“Should I learn Java, C#, C++, Python, or Ruby?”). In response I usually tell them that it doesn’t really matter, as long as they get started. There are fundamentals behind them.

What do I mean when I say fundamentals? If you have an array or list of items and you’re going to loop over it, that is the same in any imperative language. There is straightforward iteration and there is iterating over all unordered combinations and a few other patterns, but those patterns are basically the same in C, Java, Python, or Fortran. Having neural pathways that fluently express intention in these patterns, the same way you express thoughts in sentence structures in English, are fundamentals.

But not all languages have the same set of patterns. The patterns for looping in C or Python are very different from the patterns of recursion in Standard ML or Prolog. The way you organize a program in Lisp, where you name new language constructs, is very different from how you organize it in APL, where fragments of symbol sequences are both the definitions of behavior and become the label for that behavior in your mind.

These distinct collections of fundamentals form various ur-languages. Learning a new language that traces to the same ur-language is an easy shift. Learning one that traces to an unfamiliar ur-language requires significant time and effort and new neural pathways.

 

So when I started programming in 2001, it was du jour in the communities I participated in to be highly critical of other languages. Other languages sucked, the people using them were losers or stupid, if they would just use a real language, such as the one we used, everything would just be better.

Right?

This sort of culturally-encoded language was really prevalent around condemning PHP and Java. Developers in these languages were actively referred to as less competent than developers in the other, more blessed languages.

And at the time, as a new developer, I internalised this pretty heavily. The language I was in was blessed, obviously, not because I was using it but because it was better designed than a language like PHP, less wordy and annoying than Java, more flexible than many other options.

It didn’t matter that it was (and remains) difficult to read, it was that we were better for using it.

I repeated this pattern for a really long time, and as I learned new languages and patterns I’d repeat the same behaviour in those new environments. I was almost certainly not that fun to be around, a microcosm of the broader unpleasantness in tech.

At least, until I got called on it.

 

Ask any group of working programmers what their least favorite programming language is, and there’s a pretty good chance things are going to get heated real fast. Why? What is it about programming that makes us feel so strongly that we are right and others are wrong, even when our experiences contradict those of tens or hundreds of thousands of others?

5
Martianus Capella (johncarlosbaez.wordpress.com)
submitted 1 month ago* (last edited 1 month ago) by ephemera3444@lemmy.blahaj.zone to c/humanities@beehaw.org
 

A glimpse at medieval western European astronomy, following a Roman theory that Mercury and Venus orbit the Sun and how it influenced Copernicus's heliocentric model a millennium later.

 

This web serial, along with its sequel 20020: The Future of College Football (both by Jon Bois), explores forms of American football in the far future that are extremely different from today's football. (If you aren't particularly into sports in general or American football in particular, don't be put off—I know basically nothing about sports, but I had no trouble understanding the story and finding it entertaining). What I like most about the web serial is its depth. It was very clearly meticulously thought out and researched, including various interesting little tidbits of local history and geography. I get the sense that the world, and people's lives, contain so many stories and so many possibilities that it's inconceivable to comprehend even a thin slice of what's out there. Give it a read!