My Language Is Better Than Your Language
Or is it Your Language Is Better Than My Language, I forget.
If there is anything programmers love to debate more than programming languages? Maybe, but this is pretty popular. Of course we do need more of a life.
When I started programming for money in 1981, there weren't a whole lot of choices to argue about. I started with Fortran but was also exposed to various assembly languages, Jovial (the precursor to Ada), Pascal and someone once handed me some sample code written in PL/1 which gave me a headache. I had used Basic and a little APL but that was pretty much it. I knew of Cobol, at least enough to run away. Most people just knew one and maybe a little assembly.
Now switch to today and there is a new language every 5 minutes or so. Some of the languages change so often they even have version numbers. Oddly enough no one is working on expanding the brain to keep up. Seems like a startup there somewhere.
The hardest thing to deal with is even remembering the names of all these languages, much less actually learning very many of them, and much less actually getting deep enough to understand how to use them effectively.
Of course I've longed to go deep functional with Haskell or Erlang or Scala or even Clojure but the brain isn't functional enough to add another language at this time. Someone pointed out Rust as a great language but I really wanted to learn Metal. Somehow I spent a swift time learning Swift but it kept mutating while I coded. Any more language puns and I will be Brainfucked.
Compared to when I started, today is both exciting and frightening, so many cool new languages and the impossibility of trying even a tiny portion of them. I spent a decade writing nothing but C which today seems so quaint, like working in the same factory for a lifetime was a generation or two ago. Today you need a radical agile brain and a willingness to abandon all hope of stability. Yesterday is crap, today is awesome and tomorrow today will be crap and yesterday will be a dinosaur fossil only your grandmother codes in.
The key of course is to get really good at evaluation, something I mention a lot in this blog. You have to find the right language for you and your project and your team. Sometimes it might not be the slick new thing; sometimes it might mean abandoning everything you know. Every programming language has pluses and minuses and brilliance and dumb-ass. You have to figure out for you which parts work, and which parts you can tolerate. Listening to other opinions or arguments is fun but you also need to get real work done. It's like being a dolphin who sleeps with one eye closed and the other open (which I vaguely remember in between reading programming languages and may be a syntax error in one of them); always check out what is happening but don't completely get away from what you do well.
The future will only get worse until everyone has their own programming language and you won't ever have to leave your job since no one can replace you. Either that or hope that hot new startup is selling brain implants.
You could give up programming languages entirely except for APL. I guarantee once you master APL your brain will explode and the problem will be solved without exception.