HACKER Q&A
📣 thesurlydev

What does your one language ecosystem look like?


As a thought experiment imagine you choose just one programming language to use throughout your entire software engineering stack. For example, OS, command line tools, editors/IDEs, libraries, frameworks, infrastructure as code, CI/CD, etc.

Practically I know this doesn't make a lot of sense but I find myself coming back to this question and I think about the tradeoffs. Questions also come up like:

- Which languages fare better than others in this context?

- If there isn't an option in the chosen language for a thing, what would be the workaround? Perhaps using a combination of other tools to achieve the capability.

- Which edge cases are the most painful?

- How long would it take to build the needed capability if it didn't already exist for the language?

I'm curious to hear what others think about this.


  👤 gregjor Accepted Answer ✓
You're describing early Unix, with C as the one language to do everything. Some concepts like CI/CD and infrastructure as code didn't exist back in the late '70s and early '80s, but Unix and the Programmer's Work Bench constituted an ecosystem and it was almost all written in C, to support more C code.

The modern descendants of Unix have more variety in their tooling, but the languages available still mostly sit on top of C libraries, with compilers and interpreter and runtimes written in C. The serious contenders to replace C -- C++, Rust, etc. -- are more improved flavors of C than radically different languages.