Don’t Be Distracted by Superior Technology
Programming in the 21st Century - James Hague - March 03, 2013Not long after I first learned C, I stumbled across a lesser-used language called Modula-2. It was designed by Niklaus Wirth who previously created Pascal. While Pascal was routinely put down for being awkwardly restrictive, Wirth nudged and reshaped the language into Modula-2, arguably the finest systems-level programming language of its day.
Consider that Modula-2 had the equivalent of C++ references from the start (and for the record, so did Pascal and ALGOL). Most notably, if you couldn’t guess from the name, Modula-2 had a true module system that has managed to elude the C and C++ standards committees for decades.
My problem became that I had been exposed to the Right Approach to separately compiled modules, and going back to C felt backward—even broken.
When I started exploring functional programming, I used to follow the Usenet group comp.lang.functional. A common occurrence was that someone struggling with how to write programs free of destructive updates would ask a question. As the thread devolved into bickering about type systems and whatnot, someone would inevitably point out a language that gracefully handled that particular issue in a much nicer way than Haskell, ML, or Erlang.
Except that the suggested language was an in-progress research project.
The technology world world is filled with cases where smart and superior alternatives exist, but their existence makes no difference because you can’t use them. 1980s UNIX was incredibly stable compared to MS-DOS, but it was irrelevant if you intended to use MS-DOS software. Clojure and Factor are wonderful languages, but if you want to write iOS games then you’re better off pretending you’ve never heard of them. Not only are they not good options for iOS, at least not at the moment, but going so against the grain brings extra work and headaches with it.
Words like “better,” “superior,” and “right,” are misleading. Yes, Modula-2 has a beautiful module system, but that’s negated by being a fringe language that isn’t likely to be available from the start when exciting new hardware is released. Erlang isn’t as theoretically beautiful as those cutting-edge research languages, but it’s been through the forge of shipping large-scale systems. What may look like warts upon first glance may be the result of pragmatic choices.
There’s much more fun to be had building things than constantly being distracted by better technology.
(If you liked this, you might enjoy The Pace of Technology is Slower than You Think.)
Categories: Blogs Programming in the 21st Century
Erlang on Twitter
» eentyice (Алиса): Мне кажется, что в фразе “хочется понять женщину” слово “понять” лишнее. http://t.co/Ma5TuZTzNa #TEAMHITFOLLOW
» erlang_26 (Prabu Rangga Lawe): Pake shall kuning.. Sweater hijau.. Celana item..sarung tangan item putih… Hhhhmmm..
» Muh_Erlang (M. Erlangga Pangestu): Kepik x..x
» HamidanZW (Hamidan Zaneddine W™): Dewa erlang pagi” dah di fx.gaul banget bro.alias ngenes amat lu bro~~
» ericmoritz (Eric Moritz): RT @5HT: Erlang from Technical and Business perspective: http://t.co/4Yk0jf3USs
» immobilo_erlang (Wohnung Erlangen): 3 WG sucht einen Mitbewohner: 330,00 € / Miete
2.3 Zimmer, 15 m²
91058 ErlangenDas möblierte WG-Zimmer befinde… http://t.co/SAqzwpwsTy
» psyeugenic (Björn-Egil Dahlberg): RT @5HT: Erlang from Technical and Business perspective: http://t.co/4Yk0jf3USs
» jj1bdx (Kenji Rikitake): RT @5HT: Erlang from Technical and Business perspective: http://t.co/4Yk0jf3USs
» podmostom (Jonn Mostovoy): RT @rightfold: Damn, I wish Erlang had a static type system.
» macintux (John Daily): RT @5HT: Erlang from Technical and Business perspective: http://t.co/4Yk0jf3USs
Statistics
Number of aggregated posts: 10651
Most recent article: May 21, 2013
Latest comments
» Moraru on This is Why You Spent All that Time Learning to Program: It is true that computer science was a pain in the back at time that i’ve had to learn it…
» Commercial hand dryers on Couchbase Meetup at new HQ: Buy online from here where you will get so much of variety in Commercial hand dryers for people. If you…
» Fort McMurray Homes on Motivated Reasoning and Erlang vs Python vs Node: I don’t really understand why this post is motivational? I don’t even see a post, just a title. Fort McMurray…