7 ms·
In my experience languages have a culture of their own. For example, C++ has a culture of caring about low-level details to squeeze out maximum performance. I
by eandre 6y ago
In my experience languages have a culture of their own.
For example, C++ has a culture of caring about low-level details to squeeze out maximum performance. I once found myself writing something that wasn't performance critical in C++ due to a library I needed, and just minutes later I caught myself reading up on move semantics for maximum efficiency. I couldn't help myself getting sucked in by the language culture!
Java's culture, in my opinion, is one of abstractions. There's little in the language to force you down that path, other than decades of it being the prevalent way Java is written, which bleeds into the standard library, core frameworks, and becomes the Java Way of Thinking.
- polotics 6y agoTotally! Java developer's over reliance on design patterns and abstractions tends to enable atrocious designs, very often the first idea that came to mind at a very early time in the design process, clambering on to a monstrous implementation that somehow runs. In Python, the relative flexibility and pseudo-code nature of the language means that more designs get tried, and simplicity wins. In C++, developer self-selected into being hard-core, so you get hard-core code...
- pydry 6y agoJava's culture also seems to emphasize social class distinctions that mirror the corporations it is used in. There's an architect programmer and a worker bee. Everyone wants to be the architect and to create the "enterprise" framework used by the worker bees.
- realusername 6y ago> Java's culture, in my opinion, is one of abstractions. There's little in the language to force you down that path, other than decades of it being the prevalent way Java is written, which bleeds into the standard library, core frameworks, and becomes the Java Way of Thinking. Yes exactly, that's why I personally stay away from Java. The language is totally fine, the tooling is also fine, performance is great, there's everything there in theory to build and maintain great projects, however, the culture is atrocious and overengineering is everywhere. And that's very hard to go against decades of culture momentum going this way.
- q-big 6y ago> Java's culture, in my opinion, is one of abstractions. Haskell's culture is also one of abstractions, but of a very different kind of abstractions than Java.
- raducu 6y agoJava is used for a lot of integration problems, of course it has a thing for abstractions and interfaces.
- cutler 6y agoYet C# and PHP also suffer from the same problem so it's more than a Java problem. Verbose OO languages seem to give rise to cultures of over-abstraction.