You're right, of course. Programming culture can be hard to nail down, if such a thing even exists. But would it be a stretch to argue that there is a Java community? I don't think so, and I don't think it's much more of a stretch to argue that a community will adopt trappings of culture.
Java the language certainly enforces a certain kind of programming, that Steve Yegge so succinctly identified as a "kingdom of nouns". I'm not sure if that constitutes a culture or not but it does strongly influence the kinds of programs you end up writing in Java. I've experienced some shared technical culture between companies I've worked at that used Java heavily, but of course my experience is just anecdotal.
Here's a blogpost from an HNer that argues there is such a thing as "Java shop politics" and that companies that develop certain kinds of large monolithic software written in Java and C++ tend to share something, which is not desirable. I don't really have enough experience to agree or disagree, but it's an interesting read: http://michaelochurch.wordpress.com/2012/04/13/java-shop-pol...
What is wrong with Java encouraging OO style programming? Some people will do very well with it and some will not. Functional programming is not the holy grail and some people are very bad at it. Do those bad functional programmers invalidate the whole functional programming approach?
I found that the whole notion of finding some bad examples of a practice and then offer that as a proof to invalidate the whole practice very distasteful. The lynching mob incited from the blog post's false information just shows how far it can go.
> What is wrong with Java encouraging OO style programming?
There's nothing wrong with it, if you think OO is a good approach to structuring programs. I happen to think it's not that great an approach. But Java gives you no option, you can't have just "some OO" and some of something else. I think that's a serious mistake. You're welcome to disagree.
I didn't say FP is a holy grail. However in my limited experience, OO is definitely not either.
All that said, there's nothing wrong with constructive criticism, which is all I've been trying to provide. I don't think I've participated in any lynch mob, I'm sorry if you construed my light jab at "Java culture" to be offensive.
Sure. If you don't like OO and not found it to be productive, you don't have to use it. And you are more than welcomed to state OO doesn't work for you. However, blanket statement like Java sucks or OO fails (not directed at you) is not constructive criticism. It's just insecure programmers using other languages trying to justify their insecure language choice.
Java the language certainly enforces a certain kind of programming, that Steve Yegge so succinctly identified as a "kingdom of nouns". I'm not sure if that constitutes a culture or not but it does strongly influence the kinds of programs you end up writing in Java. I've experienced some shared technical culture between companies I've worked at that used Java heavily, but of course my experience is just anecdotal.
Here's a blogpost from an HNer that argues there is such a thing as "Java shop politics" and that companies that develop certain kinds of large monolithic software written in Java and C++ tend to share something, which is not desirable. I don't really have enough experience to agree or disagree, but it's an interesting read: http://michaelochurch.wordpress.com/2012/04/13/java-shop-pol...