I love how some programming languages allow you to express your intent on a high level, while others put almost no boundaries between you and the machine. But looking at the architecture of large-scale systems, I feel the choice of language almost doesn’t matter at all

Jul 21, 2019 · 11:28 AM UTC

12
15
1
94
Replying to @stilkov
Architecture of large scale systems indeed offers a whole new range of ways to shoot oneself in the foot. But don’t you think that langs with low expressiveness pile up on developers cognitive load and make right architectural choice less likely?
1
1
Maybe if some part of the system is really hard to get right, in terms of domain complexity, parallelism, or other aspects … not if it’s a more a less typical business system, IMO
1
2
Replying to @stilkov
There's always the productivity argument to be made I guess... Came across darklang recently. They try to skip a bunch of steps in the development -> deployment process by embedding more into the language. Penny for your thoughts? darklang.com/
1
Don’t know it well enough, but even if it were a great language, I suspect I’d still hold on to my opinion: Does not matter that much in the greater scheme of things
1
Replying to @stilkov
I think that in large-scale systems the key is to choose wisely which language goes in which part - and do not try to fit everything in the same solution, language or framework. Maintainability is an issue to consider though...
2
2
Replying to @stilkov
Conway's law in practice...
Replying to @stilkov
The design of the Internet/Web & other very successful large scale systems prove it. What matters are interfaces/protocols. The best ones make programming languages (& most other implementation details) irrelevant. This insight underlies Parnas's modularity and Fielding's REST.
1
3
Replying to @stilkov
From the perspective of large-scale systems, how does one choose the best language for the job then? If it’s true that it is irrelevant, I wonder why so many of us would find an answer to this question. Where does that come from?
Replying to @stilkov
It's also about platform interoperability. In times of containerization the JVM lost one of its main advantages.
2
Replying to @stilkov
I‘m wondering how much of this ability to express intent accounts for the programming lang. in best case? My feeling is that 80% will always be naming, structure and abstraction!? I might be lacking experience in a couple more languages, though.
1