Hacker News new | ask | show | jobs
by swatcoder 975 days ago
“In the race”

What a terrible habit we have of speaking about our tools like they’re in competition with each other!

I don’t think I’ll ever meet a carpenter who talks about their hammer or even their manual crank drill being “still in yhe race”.

Tools have contexts where they might be used. Sometimes one tool will supersede another for all the day’s tasks, but tomorrow’s tasks will be different in unknown ways and whatever distinguishes one tool from another may be just the right thing there.

In programming languages, that might look like somebody setting aside a paradigm for a while because projects and architectures went a certain way, but then reviving that paradigm again when they go some other way.

Pascal has some cool stuff to it. We should be curious about that stuff and keep it in mind as new contexts emerge; but it’s never been in a race and we really don’t do ourselves much good in talking about it that way.

2 comments

programming languages (and some other categories of software used to create things) depend strongly on having an active user and developer base, because the range of things that people want to do with them keeps changing and growing. so in that sense there is a competition for mindshare, and languages that don't "keep up" get an increasingly large list of things that you can't use them for because no one has written the libraries, or the compiler backend, or the bindings, or whatever that you need to get your task done.
Sort of, but that’s less true than ever in an age of .net, java, and js/wasm runtimes that let you easily bridge between your project’s language and libraries written in other languages.

Standing up an established language in one of these runtimes is an upper division college level project. If you strongly felt that Algol was the clearest or most inspiring way to express your project, it’s not nearly so out of reach as it was a few decades ago.

That’s exactly why we’ve had this cambrian explosion of new and revived languages lately.

Only if you are in those respective ecosystems. I write embedded code so I don't get any of those options. Most of my code is in C++ because historically that is what we knew best (we have been updating to modern C++, so it is one of the better C++ code bases, but still it has the warts of C++). Integrating anything other than C++ into our code is hard. Many things are a class, most with virtual functions (London vs Detroit mocking is a different rant), and nothing except C++ really knows how to deal with it. Then there are templates - std::vector is the perfect type for so many things, but again nothing else can deal with it.

I keep trying to figure out how to use something else, but it is really hard to break in. Those who have tried before me gave up because of the friction.

That's because it's a zero sum game and one of the reason why you see advocates for new languages fighting for market share attacking older languages because they know that only so much software gets written.