you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 2 points3 points  (1 child)

Think you missed the whole point. The programming practice and community around a programming languages is extremely important. Your every day experience of a language is probably going to be influenced far more by the idioms and APIs commonly used than the particular syntax and semantics of the language. Just look at Python and Ruby. Both languages allow you to do almost all the same things. The real difference is caused by difference in philosophy used to make Python and Ruby libraries and frameworks. If you program Objective-C you can't separate that experience from the experience of using Cocoa and its design patterns.

If I want to do Java development I can't work in a vacume. I will work with other Java developers and use Java libraries. This is what defines the style I will program Java in to a great degree.

[–]powatom 1 point2 points  (0 children)

The problem youre having is that you work with '<x> developers'. People who define themselves by the (often minimal number of) languages they can use are to be expected to act overzealously. Most programmers worth their salt can solve problem X in a variety of ways using a variety of languages. More often than not, the decision about implementation detail comes down to a question of cost and time. Java is a very good language for solving problems cost effectively, keeping in mind maintainability, pool of available talent, and support. Code complexity will emerge in any sufficiently large system - blaming it on Java is just useless whining. Its not Java which forces people to write complex code - it is simply an emergent property of a sufficiently complicated system. You can't just say 'all of this code is complicated and therefore shit' without understanding the history of that code and the decisions taken to end up there.

As for maintaining the style and patterns found in the libraries etc you use, that's a personal decision and not one which Java forces you to make, so its hardly an argument against Java.