6 ms·
The underlying assumption is that the problem that modern programming languages should solve is lack of power. But I don't see that problem in modern codebases.
by enneff 12y ago
The underlying assumption is that the problem that modern programming languages should solve is lack of power. But I don't see that problem in modern codebases. In my experience, the problem is complexity.
- pjmlp 12y ago> In my experience, the problem is complexity. Simple languages led to complex code bases. Many of the Enterprise Java sins were caused by the language limitations and developers trying to work around them.
- oblio 12y agoTrue, but in a lot of enterprise situations the complexity is intractable - it is caused by business requirements.
- pjmlp 12y agoExactly because of that I rather use languages that provide the tools to work with complexity, instead of shunning it into the shoulders of developers. Anyway Go has its use cases, and it is already an improvement if less C code gets written.
- enneff 12y agoI think the enterprise Java sins were caused by cargo cult programming. Java can actually be pretty nice when wielded by someone who isn't afraid to invent new things.
- pjmlp 12y agoWhat leads you to believe the same won't happen to Go? I have seen this happen in C codebases before Java took the enterprise. Its own little macro based DSL and pointers that were actually handles for the real data.
- reverius42 12y agoI think in this case more power might be a good proxy for less complexity: power should correlate positively with expressiveness, and expressiveness should correlate negatively with complexity. More expressiveness lets you build more powerful abstractions with less code.
- f2f 12y agoyour "should" and "should" should be replaced with "doesn't" and "doesn't" or at best "may" and "may". more code has been written in Go than Haskell, Rust and Ocaml combined.
- meowface 12y agoSo what? More code has been written in C and Java than Go and Rust and Ocaml and whatever-else combined. A language's popularity says little about its complexity or how good of a language it is. Powerful languages let you grapple with problems, weak languages first make you grapple with the language before tackling problems. Some people feel like Go gets in the way. I have not written any Go, but I understand both the praise and the criticism. Powerful languages can cause other issues, but they do enable certain things that weaker languages simply never can.
- f2f 12y agoC and Java are not the subject here.
- melling 12y agoYou're being a little vague. Can you give a couple examples where software projects were done in "powerful languages?" I can certainly appreciate that higher level languages are better. However, it seems like in practice they are not used as often as you would hope.
- codygman 12y agoDo you have a source? I don't find your claim implausible, however I would like to know how you came to that conclusion.