As far as I understand, bashing a particular programming language, framework, operating system, or technology is off topic on this site.

By "bashing" (I am not an English native speaker, so I hope this is the appropriate term), I mean ironic comments such as "Oh, you meant X?" where X is the name of a programming language (with 6 upvotes, and I consider upvoting such comments to be bashing as well). The content of such comments sounds to me

we all know that X sucks, hahaha (followed by n upvotes)

I find it pretty irritating and, because of this, I have considered leaving this site more than once already (of course, there are also lots of constructive questions and answers on this site, which is a good reason for me to be a member).

Summarizing, by bashing I mean picking on some (real or perceived) shortcomings of some technology X, e.g. for

  • lacking some modern feature
  • having an awkward syntax
  • being old-fashioned (more than 10 years old)
  • being too academic and not useful for real applications
  • being inferior in some unspecified way

I personally have technologies I like a lot, some that I find OK, and some that I dislike with a passion (for many reasons, sometimes not only technical), but I try to keep these feelings out of the discussion in questions, answers, and comments because I think it is not professional to start childish "My favourite language is better than yours" flame wars. Other developers may prefer to use other technologies and they probably have good reasons for that.

I have also tried to identify any objective shortcomings in technologies that are more often the target of bashing on this site, and the only idea I could come up with was that these technologies are not inherently worse than others that get less bashing, rather they are simply less popular among the members of the site. So, bashing what we do not know and we do not consider cool is IMHO childish and very little professional.

Of course, everyone who is enthusiastic about some technology X will propose X to others, and maybe they will point out certain problems in other technologies that X tries to solve. But I think a professional programmer should try to express their opinion in a controlled way and, if any criticism is expressed, it should be written in a balanced way.

Bottom line (my questions):

  1. Do other members of programmers share this view? Do you think that some bad jokes and unmotivated, vague criticism is part of the game, or do they just lower the level of the discussion and therefore the quality of the site?
  2. If bashing is out of place on this site, is there any measure that can be taken to discourage it? E.g. the moderators could flag certain comments as spam and this could have consequences for the spammer account.
  • 23
    you mean, bashing Java?
    – gnat
    Commented Apr 13, 2013 at 13:06
  • @gnat: I did not mention any languages or frameworks on purpose. I can mention some examples if you think that this adds useful information.
    – Giorgio
    Commented Apr 13, 2013 at 13:25
  • 3
    Do you have any specific examples of this? Can you link to specific answers or questions that you feel are problematic? I can't remember seeing a lot of this kind of behavior on the site.
    – Thomas Owens Mod
    Commented Apr 13, 2013 at 14:09
  • @ThomasOwens: The most recent example I have seen is a comment to this question programmers.stackexchange.com/questions/194739/…. Among the targets I can recall: PHP, Java, Lisp, Qt, Cobol, UML. I will try to find other examples among questions I have read (I cannot automatically search through comments) and try to post more links.
    – Giorgio
    Commented Apr 13, 2013 at 14:45
  • Here is another example: programmers.stackexchange.com/questions/66138/…
    – Giorgio
    Commented Apr 13, 2013 at 15:07
  • And another (albeit a light-hearted, self-deprecating one): meta.stackexchange.com/questions/139441/…
    – Jim G.
    Commented Apr 15, 2013 at 3:01
  • 6
    I'm definitely against language bashing...unless it's VB...VB deserves it. </snark> Commented Apr 16, 2013 at 16:17
  • @Giorgio BTW, I didn't see any comments bashing a language in the linked question Commented Apr 16, 2013 at 16:23
  • @MikeBrown I cleaned up some of the comments. Nothing particularly bad, but nothing particularly useful either.
    – yannis
    Commented Apr 16, 2013 at 21:20
  • @MikeBrown: ROFLMAO.
    – Vector
    Commented Apr 21, 2013 at 2:08
  • @Mike Brown: I won't post my language bash list here, but I have one myself. ;-)
    – Giorgio
    Commented Apr 21, 2013 at 10:35
  • Bashing is free speech, as long as you aren't being an gigantic ass about it... PHP sucks, we all know it, we're allowed to say it. Doesn't mean you should use just every occasion to point it out and laugh. Oh, wait... Anyways, as long as the author/commenter isn't being abusive, rude, or belittling the user of said crap language/framework (of course no real programmers would use X), I don't see the harm.
    – haylem
    Commented May 21, 2013 at 14:22
  • "PHP sucks, we all know it, we're allowed to say it.": PHP is absolutely not in my favourite list (the last time I have used it was 6 or 7 years ago) and my post was not meant to defend PHP. On the other hand, I could use exactly the exact same words you have written above for other languages, but this would probably start a flame, which as far as I know, is out of topic on this site.
    – Giorgio
    Commented May 21, 2013 at 17:45

4 Answers 4


I'm surprised that although you appear to be genuinely annoyed by this you haven't been flagging the comments. We (the moderators) can't read every comment on the site, and unless the community notify us through flags, we'll probably be the last to know that something bad is happening.

Comments are, by their nature, ephemeral. They aren't supposed to stay around for ever, once they've served their purpose they should go away. If a comment is little more than a joke (or worse) you should feel free to flag it. Your comment flag options are:

  • rude or offensive

    Please only use when a user is being rude towards another user. Language bashing that doesn't include very strong language doesn't count.

  • not constructive / off-topic

    This would be the preferable comment flag for comments that serve no other purpose but to bash a language / technology / platform / product.

  • obsolete

    This would be the preferable comment flag for comments that aren't useful anymore.

  • too chatty

    This is a softer version of the "not constructive / off-topic". It would also be a good choice for comments that serve no other purpose but to bash a language / technology / platform / product.

  • other...

    Moderators have the ability to edit comments, and this flag would be the one to use when editing is what you want to ask us to do. However keep in mind that comment edits do not generate a (publicly visible) revision history, and asking us to edit comments puts us in a very uncomfortable position. We would most certainly remove (for example) a four letter word from an otherwise helpful comment, or fix a broken link, but if it's anything more than that, we'll probably opt to delete the comment.

    Another reason to use this flag would be when a whole comment thread has taken an unconstructive turn, and you want us to purge it. If you find yourself reading a comment thread and thinking that all comments have outlive their purpose, feel free to cast a single custom flag notifying us of the situation, instead of flagging each comment individually.

Moving on to the core issue, yes I agree there is a problem with language bashing, however it's a minor one and, from what I've seen, it's mostly limited to certain tags. We both happen to hang around the tag, where general commentary on a language's design is to be expected, so we've probably seen a lot more language / technology / platform bashing comments than people who are focused on non language tags. The only equivalent behaviour I've noticed in non language tags, is "git/svn/hg bashing" on our version control related tags.

That said, some light hearted comments here and there are really not a big deal. Yes, we do strive to be as professional as we can be, but we are only human and some light fun is certainly part of the game. This doesn't mean that we aren't going to remove comments that aren't bringing anything actually useful to the discussion (even the best jokes get old eventually), but more that if there isn't a persistent pattern of trollish comment from a specific user there won't really be any consequences (other than removing the comments).

If, on the other hand, we do notice a persistent pattern, we'll deal with it as we typically do with behaviours that lower the overall quality of the site. Which, in extremely broad terms, means a (private) warning first, and a suspension if the behaviour persists after the warning.

PS. Our lovely chat room, The Whiteboard, is the perfect place for idle commentary and fun discussions, including language / technology / platform / product bashing (the recent starred messages are revealing ;). If you absolutely must rant, do it in chat please, not in comments.

  • 6
    Specifically for PHP bashing: You've been warned.
    – yannis
    Commented Apr 13, 2013 at 17:38
  • +1: Thanks for the feedback. I am glad I have asked because, well, I had simply overlooked the flagging function next to the messages. If I had not asked, I would not have noticed it. I will use it in the future if I see comments that I do not consider appropriate.
    – Giorgio
    Commented Apr 13, 2013 at 18:36
  • "Specifically for PHP bashing: You've been warned.": Being a moderator can be a touch job! :-) BTW, I was not defending any of these languages specifically, I just think bashing on the main site adds unneeded noise. I'd like to share my personal opinion on PHP in chat some time.
    – Giorgio
    Commented Apr 21, 2013 at 12:00

Bashing specific languages, tools or technologies is absolutely off topic here and we have closed many questions and quite some answers for doing so (or even trying to start a civilized discussion on advatages vs. disadvantages).

Actually I can't really follow your view on this, since Programmers and the other StackExchange sites have far less problems with this than any other forum, Q&A site or similar community I have seen so far and this is one reason why I like to stay here.

Comments are slightly (very slightly) different I think, we normally don't close those that often (as far as I am aware as a non admin). You will always have a few comments that are a bit more aggressive. See them as an option to keep a human touch to the whole thing. Still, if they become too extreme they should be closed, though we really don't need any additional punishment. At least not some automatism, I think the admins can handle it if a user becomes annoying. We still have the chat room where we can discuss such details and give point oiut such users.

But for the really bad type of users commenting isn't enough anyway. Those will soon enough try to ask flamewar questions and they disappear when they get those questions closed within minutes.

  • 1
    I agree. The amount of bashing here is very small, and when employed tends to be related to the question at hand ("Why does nobody use Cobol to make Webapps?" - 'because Cobol sucks for that'). Understanding the common view of languages/frameworks is important I think, and vote up/down helps verify the accuracy and applicability of those answers.
    – Telastyn
    Commented Apr 13, 2013 at 16:32
  • Thanks for the feedback. I agree that it depends on the context. For example, I read some jokes about Lisp that, on a careful reading, turned out to be just jokes. Some other times it is just bashing (IMO). I think reporting extreme cases to the moderators should be sufficient. Thanks a lot.
    – Giorgio
    Commented Apr 13, 2013 at 16:36
  • +1. My main problem is that I had the feeling some languages were a special bash target, e.g. PHP because a harsh comment about PHP in one of my cited questions got 45 votes, even though the comment could have been applied to several other languages. I think it was not the only one I have seen. (BTW, I am not a PHP developer), so I wanted to report this. If this is not the case, even better.
    – Giorgio
    Commented Apr 13, 2013 at 16:44
  • @Giorgio PHP somehow asks for it ;) But I admit I was surprised by the amount of upvotes it got. But it's not that bad a remark, PHP really has a history of "adding" features initially not being part of the language design. From Wikipedia: "Basic object-oriented programming functionality was added in PHP 3 and improved in PHP 4. Object handling was completely rewritten for PHP 5." And they didn't have to 'improve' and then 'rewrite' it because it was such a success. Commented Apr 13, 2013 at 16:46
  • @thorsten müller: So does C++ (the latest revisions are very different from C++ as it was in the nineties) but no harsh comment on C++ adding all kinds of features with > 40 votes. And, again, I am not a PHP developer but I am a C++ developer, so I have no intention to defend one language and bash another one. Also Common Lisp is, AFAIK, quite different from how Lisp was in the sixties. I simply think all such comments should be off topic here.
    – Giorgio
    Commented Apr 13, 2013 at 16:53
  • @thorstenmüller All that is true, but at the same time PHP 3 was 13 years ago. And PHP 5 is 9 years old. Can we move on please? PHP 5.5 has quite a few exciting snafus we can focus our snark on, why waste our time commenting on archaic iterations of the language? ;P
    – yannis
    Commented Apr 13, 2013 at 16:54
  • @Yannis Rizos: Apart from the waste of time (I agree on this), I think that such comments are off topic.
    – Giorgio
    Commented Apr 13, 2013 at 16:56
  • @Giorgio I'm writing an answer, short version: I agree.
    – yannis
    Commented Apr 13, 2013 at 16:56
  • 2
    @YannisRizos, I have absolutely no personal opinion on PHP whatsoever. Just wanted to point out the reason why this comment may be an edge case where some (other) people agree. Commented Apr 13, 2013 at 17:03
  • @thorstenmüller I know, the point I was trying to make is that although I agree that those comments often have a factual core, they aren't particularly helpful and perhaps a bit misleading when they re-iterate obsolete information. Nothing particularly wrong with that comment, but it didn't do much to help a newer developer understand PHP's design philosophy (what design philosophy???), so... poof!
    – yannis
    Commented Apr 13, 2013 at 20:09
  • @Yannis Rizos, thorsten: I agree with both of you and my question was not a defence of PHP in itself (I have used it very little because I am more comfortable with other languages) but rather wrt other languages: it is not fair to pick on one language / community and be lenient with others. Actually, I'd rather not pick on any language / community. I had not flagged the comments because I had blindly overlooked the flag function (which is available also for comments, not only for questions). I have started to use it now.
    – Giorgio
    Commented Apr 13, 2013 at 21:45

Preventing the "What language should I use?" questions has probably done more to curtail this than anything else, but monitoring and group feedback also benefit it. There are some questions where the OP is trying to use a particular language for a task it was unintended or not as suitable as others. It may not be the ideal answer, but it is professional to comment that this may not be the best tool to use. It's up to others to determine if this is a constructive professional opinion, a personal preference or bashing.

I think it is just as easy to promote a language in a childish and unprofessional way. It's not limited to bashing.


I entirely agree it is unprofessional and childish: Answer the question according to how it was asked. If you can't, just remain silent.

In fact, many questions that are 'bound' to a particular technology or language are because that language/technology is a requirement of the system/job/contract - cannot be changed. Or because a programmer is trained and has a career using a particular language/technology.

I myself work on a system that uses Sybase, which causes many problems that could be avoided if SqlServer was used. But Sybase is the house system - I have no power to change that. So sometimes I must ask Sybase questions. What good will it do me for someone to bash Sybase (you used the term correctly) and tell me to use SqlServer instead?

I work in Delphi, C# and C++ - that's how I've made my living for 20 years - those are the languages I know and have training and experience in. If someone tells me 'Those strongly typed, compiled languages are the cause of your problems - they stink. You need to work with Python or Ruby and all your problems will disappear' - what good does that do me at this point? None.

At most, maybe a comment: 'You know your problem is because you're using technology X - perhaps consider technology Y if possible, so you won't have to deal with it'

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .