1. 30

  2. 18

    Excellent article. I thought this part about unintentionally excluding women was powerful:

    Other self-taught narratives, such as starting with Wordpress-based design backgrounds and moving from more simple themes to more complex themes where PHP knowledge is required, to plugin development is a completely valid narrative, but a path that is predominately for women.

    This was a bombshell. I’d been loudly criticising the language and, through that criticism, implying that people using the language weren’t as good me, weren’t good programmers. And suddenly I was thinking about all the myriad ways that someone with that background would feel othered by me, like they didn’t belong and weren’t welcome in the communities I was a part of.

    All of the ways in which I was actively participating in the exclusion of women from STEM.

    Every common inter-language contempt pattern seems based on a similar dynamic rooted in some kind of us/them stereotype. Node.js people are children. Java people are corporate squares. Situated mostly in the Python world, I don’t know how my own community is stereotyped.

    1. 5

      Other self-taught narratives, such as starting with Wordpress-based design backgrounds and moving from more simple themes to more complex themes where PHP knowledge is required, to plugin development is a completely valid narrative, but a path that is predominately for women.

      I’d really like to see some research or statistics showing this to be the case. I’ve seen it as more of a general “this is how I advanced in web development” among people (notice: people, not women, men, minorities…but people) coming from a non-programming (or even non-web) background. Either way, it’d be good data to have.

      1. 2

        Out of curiosity, what would having this data change? Would your actions be any different? Your thoughts?

        I ask not because the data wouldn’t be interesting (it would be), but because I think this kind of request for proof is often used to subtly undermine a valid point. There seems to be a higher burden of proof for claims that relate to the experiences of oppressed groups in technical fields.

        This may have not been your intention, of course, but I think it does warrant a mention.

        Also, FWIW, I identify as a man but followed the PHP plugins -> PHP apps -> other languages route myself. Although this was before Wordpress was everywhere.

        1. 2

          Out of curiosity, what would having this data change? Would your actions be any different? Your thoughts?

          I’d reference it in future discussions on policy. For me, personally, it’d probably change how I treat my recruiting and referral pipelines, how I evaluate priors when modeling new acquaintances, and how I understand the demographics in tech.

          When faced with new facts I try to make new opinions–what do you do? :)

        2. 2

          You beat me to it. I found the article to be great identifying lots of bad patterns that were basically social shaming for ego or emotional reasons rather than constructive criticism of programming tools for specific uses or objective attributes. Then, it drops the minority card out of nowhere on a subject that I thought was about people doing hardcore stuff mocking what they believed to be amateur work. I usually don’t personally mock people who barely know programming that are using PHP or writing plugins since it’s significant work for them. It’s the people that know good tools that create more ecosystem in crappy ones I call out for increasing amount of crappy or poorly-tooled stuff out there (esp if security risk). That’s all I’ve ever heard from others, too, outside the mantras that get repeated which again were about perceived superiority or ego around language crowd.

          I’ve never heard anything about this predominantly being about or affecting minorities. I’d counter it again, though, on grounds that this is typical PC style where people mocking use of a technology over their beliefs about the tech itself are reframed to be in some way attacking/suppressing minorities because the minorities themselves take offense to it (their beliefs not the “attackers”), associate their minority status with something not relevant to it, and then possibly reduce their own engagement on false, defeatist beliefs. The solution is for people to explain the truth to them so they stop thinking it’s because they’re a minority. That’s a really self-reinforcing trap to fall into best avoided where possible. The other solution if minorities are clustering around weak tech is to get more of them into strong tech with mentoring, coding conferences/camps, good intros with practice problems, and so on. Get them coding the good shit to increase the visibility of their talent. Fortunately, there’s a lot of that going on for programmers in general which can help minority members, too.

          So, I’m seeing recommendations of do less bashing of people using tech X/Y/Z, informing minorities people (esp industry professionals) are reacting negatively to X/Y/Z instead of them, and get more of them either out of X/Y/Z or doing awesome stuff with such tech. Just the key takeaways anyway.

          1. 6

            The article specifically mentions women, who (at least in the US) are actually in the majority. Even if we assume that the article was written from a global perspective (where I think there are slightly more men, not totally sure), referring to women as “minorities”, in addition to some of the other phrases you used (“PC”, “minority card”, “minorities taking offense”, general victim blaming) show a certain level of distain for the valid concerns of oppressed people.

            This is a bad look and one that is best avoided, not to mention its role in perpetuating the very problems this comment appears to be in denial of.

            1. 2

              “The article specifically mentions women, who (at least in the US) are actually in the majority. “

              In tech, they’re a minority. There’s endless articles about oppression, lower wages, harassment, and so on. There’s people who stay writing about these things to raise awareness and get action happening. They’re activists of sorts. Then, the author is also talking about the contempt culture of programmers mocking other programmers for their choices. I’m responding to both of those.

              “show a certain level of distain for the valid concerns of oppressed people.”

              Having been a minority in black school where whites were hated, anti-intellectual parts of rural America, and female-dominated environments, I certainly am aware of the concerns of people oppressed due to race, gender, or even technology preferences. I’ve received everything from no right to participate in something (race/gender) to fighting for my job to physical beatdowns by at least 3 people. I’ve tried to avoid being a hater given most were biased but otherwise decent (non-aggressive). That said, what I don’t tolerate is a political belief pushed by a subset of America that one is attacking or suppressing another person/group if the other group takes offense at your otherwise non-offensive words or actions. The sophist technique in question is to arbitrarily decide the words are about a specific thing they weren’t about, call them hate speech or an aggression, and then claim the speaker must change their words or actions since they are “attacking” the other person. I mean, there’s clearly a line to draw where certain words were defined for hateful reasons or are clearly being used for attacking someone. I’m not talking about that subset as “Be Civil/Courteous and Compassionate” covers that.

              In this case, there’s a problem of people bullying others who use tech that’s perceived as inferior possibly because the people are inferior per the bullies. The author says that minority members, a subset but not all, are feeling oppressed since they believe it’s instead an attack on minority members about their gender or whatever. It’s an attack on whoever uses the tech. The minority members have a false belief. Author is reinforcing that false belief. They author is also supporting the sophist claim that the existence of that belief in their minds means it’s true, infers those bullies are also anti-minority, and the bullies should change their beliefs to stop being anti-minority. That’s non-sense. The minorities should stop believing false things possibly with the help of those of us who recognize these patterns and fight actual harm to minorities. Plus everyone else for me. Most important, the bullies should stop being bullies since that’s inherently bad and can lead to such false beliefs as people often internalize attacks thinking they’re really responsible for them or something.

              That’s my takeaway from the claims of the article involving some people doing provably harmful things, others believing nonsense, and I have two problems to address on top of introspection about my prior posts that fit the contempt problem. There’s also probably nonsense behind what the bullies are doing but that would be a whole other article that could go on and on. Rather just counter the bullying itself than try to eliminate all nonsense from the world. ;)

              1. 3

                While I don’t discount your personal experiences, and acknowledge that your feelings are valid, this sounds a lot like “reverse racism”, which is not a real thing. It is impossible for someone in a privileged group to know what is it like to be the subject of racism, sexism, etc. Comparing systemic oppression carried out over hundreds of years to some personal experiences minimizes the very real harm that has been done to huge numbers of real people throughout history. It is truly unfortunate that you have had experiences where you were not treated fairly, but it is important to recognize that, sadly, this is not something unique to you. Everyone has had bad things happen to them, and this is not something that we can control. But whether to ascribe such events to the race/gender/class/etc. of the perpetrators is something we choose. People of all types can be assholes.

                The sophist technique in question is to arbitrarily decide the words are about a specific thing they weren’t about, call them hate speech or an aggression, and then claim the speaker must change their words or actions since they are “attacking” the other person.

                No, that’s not really it. The reason certain things shouldn’t be said is that they perpetuate or refer to real oppression and harm that has been done to people in the past. If you say something that I find offensive, and I ask you to not use a certain word or phrase, all you have to do is not say it (or find another way to say it). Do some people take this too far? Certainly. But writing off all attempts to improve the way people communicate and find ways to talk and think about real world problems is not the way forward. It’s really not that hard to just not say offensive things. And if this is a common problem a person encounters, that may be a sign that what they are saying is not in line with where society is or will be. Some things that used to be OK to say are no longer acceptable. This is how it has always been.

                Again, “I don’t like that I can’t say offensive things” is not a good look. It doesn’t matter how dressed up this sentiment is; sounding like an academic argument or not, the underlying intention simply doesn’t persuade.

                The best way forward on these issues is to do more listening (not to me, but to the folks the author is discussing) and less explaining to such groups how they need to change. You might not agree with what someone is saying, but calling it “nonsense” and waiving them off demonstrates a lack of willingness to really engage on the issue. And this approach makes it easy to ignore the other interesting things you might have to say.

                1. 1

                  “this sounds a lot like “reverse racism”, which is not a real thing. It is impossible for someone in a privileged group to know what is it like to be the subject of racism, sexism, etc. “

                  And boom, there it is! I knew you’d believe that article of faith that some groups push to gain power over their outgroups. Here’s the theory with strong evidence: most groups will give favorable treatment to those they iddntify with (in-group) but discriminate against those that are significantly different (outgroup). Discrimination tends to go up with more difference or competitive interests. This is a human problem. There’s evidence that all groups do it when in power.

                  Then, a segment of leftists will go further, without evidence that no group ever does this to whites or males. We’re always treated priveleged regardless of who is in power. We never receive structural discrimination as those in power favor other members of their own group. This is a lie easily countered by piles of experience reports of whites or males in businesses or schools dominated by other groups.

                  It’s easy to test. Did you collect data on black or latino schools that had white people in them? Did you survey if whites had negative social or academic experienced due to ill-will or bias from classmates or teachers? And similar for whites in businesses run by non-whites in terms of pay, promotions, or what jobs they were assigned? Or… typical case… you or your sources developed your stated theory without ever looking for data on what whites experience as outgroup. That would be non-scientific, faith-based, and only do damage in reverse direction. Hence the term.

                  Re more problems happened to blacks or minorities

                  They got worse treatment. We also put more action into helping them. No excuse to ignore evils done against uncommon group. It takes little extra effort to fight all structural racism and sexism. It takes lots of effort to push reasons to ignore those people. I fight for everyone, was (is cuurently) an oppressed minority, and call such things out. I encourage you to survey whites in minority-dominated schools to see if the actions and reported self-doubts & rage match what minorities say. They did when i did it.

                  Re words

                  Break nearly over so I gotta be quick now. Some words and symbols were specifically about oppression. I already said we should fight those. My problem, which author does, is to define words or actions that are intended for one purpose to mean something totally different. Then use that secomd, false meaning to argue for action against the speaker. That’s dishonest activity that usually damages the source of those words/actions usually dor political benefit of those reframing it. It’s a known technique in sophistry. Author did it, it would reinforce false victimhood in minorities that already have real problems to worry about, and so I countered it by showing that bullying wasnt about minorities at all. This empowers minorities that believed it by letting them know their status wasnt cause of the insults: only the bully’s false or slanderous belief about a tech stack. They can then ignore or counter the bully with more self confidence.

                  Im stepping out of this further. Ill still read any replies but tangent is long enough. Except that mistake pushing politics, author’s article had great points that got me thinking extra on my habits.

            2. 4

              Then, it drops the minority card out of nowhere on a subject that I thought was about people doing hardcore stuff mocking what they believed to be amateur work.

              The idea that there’s a “minority card” is pretty insulting. This post isn’t asking for special privileges and the general dismissal of minority opinions and experiences that’s wrapped up in the phrase is lousy. Going on to suggest that minorities are responsible for discrimination against them because they’re aware they’re minorities is toxic victim blaming. Don’t do it again.

              The article makes a clear link to why she thinks contempt is particularly connected to minorities (ctrl-f for “Wordpress” if you missed it).

              1. 0

                “ Other self-taught narratives, such as starting with Wordpress-based design backgrounds and moving from more simple themes to more complex themes where PHP knowledge is required, to plugin development is a completely valid narrative, but a path that is predominately for women.”

                If Im misunderstanding anything, it’s the above quote. I have to guess about it since Ive read trash talk about Wordpress and PHP for years without seening anyonw claim the path was for women. I read countless comments talking about how low skill it was or language was garbage. Maybe it’s recent or in low-quality forums I dont follow.

                So how to interpret it? I read it as a narrative or common belief out there that being a minority destined one to weak stuff like Wordpress plugins. I countered that. My counter would be wrong if author is saying she personally was labelling women this way within her group of programmers. It depends on what she meant by it. Like I said, Ive never heard anyone say this even on forums that attract sexist comments. It’s new to me.

                Re minorities, card, and victim blaming

                You’re saying something completely different than I said. I was talking about incorrect perceptions about whether race/gender was related to people thinking Wordpress development is weak. While you’re warning not to say that people talking about discrimination are responsible for their own discrimination. That’s a horrible strawman of a claim Id never push. Im not sure why you brought it up.

                Back to my actual claim and context. People ascribing more responsibility to minority status than what is really caused by minority status is a known type of negative thinking that liberals and cognitive therapists have reported on. Ive seen it plenty, too. People also fake it for personal gain sometimes. Work mass market customer service for a while like I did to experience it regularly. So, I always consider it. I was addressing the first possibility, though, since the latter is uncommon to rare in comparison and I gave benefit of doubt.

                Again, though, if the author was referring to herself on that narrative instead of something others were believing about themselves then my card claim wouldnt apply. She’d have been simply discriminating against women in that case and stopped after realizing it. If true, it’s good that she stopped and drew attention to serious problems. Im still unclear on how many programmers out there are pushing a narrative that plugin development is women’s work.

                1. 2

                  You wrote:

                  [minorities] associate their minority status with something not relevant to it, and then possibly reduce their own engagement on false, defeatist beliefs. The solution is for people to explain the truth to them so they stop thinking it’s because they’re a minority.

                  This victim-blaming. Please don’t tell me I didn’t read it.

                  We’re veering off into meta talk on moderation. If you have more to say, please message me directly, but let’s leave this subthread here.

                  1. 1

                    I see where the disagreement is at least. Yeah, we’ll talk more about that in the future or another thread just due to this being so far into meta. Im stopping on this one. Especially since you’ll want references I dont have on my phone.

        3. 21

          I really, really like this article. I found it politely written, well-articulated, and encouraging some really good introspection. I read over it three or four times and thought about it each time, which I usually don’t do.

          I agree with the sentiment that you should start with your own language before mocking others. I agree that overly critical behavior drives away a lot of developers. I agree that we should visit other communities in programming and see how they’re welcoming to folks and learn what we can do better in that way. I agree that a lot of high-profile projects have really contemptuous culture.

          But I also disagree with key parts of it.

          I disagree that the “hacker ethos” is bad. Now, I’ll go one step further than the author and point out which ethos I’m referring to. I consider the ethos (assembled from a few sources) to be:

          • “Rough consensus and running code beats out most other metrics”. As long as the program works, I don’t care if there are a few (or even a bunch of) people are left out, and I particularly don’t care about them if they don’t have running code of their own. I have been on both sides of this, and it sucks, but real artists ship working code.
          • “Judge the program on its own merits, not the programmer’s”. If the program is written by an underrepresented minority but outperforms everything else, it’s the best program. If a program is written by racist and has errors, it’s a shitty program. If a filesystem is written by somebody who murders their spouse but still works well, it’s still a good filesystem. Part of the attraction of programming is that the computer, as stupid as it is, is fair and objective when it comes to your code.
          • “Artifacts should be as well-made as possible, and are more important than the people who make them.” People change over time, people are fallible, people get old and die, people hold unfashionable political views, people can only be in one place at once, people fall prey to pettiness–if we care about the people and not the artifact, we become subject to all of the failure modes of people. By contrast, keeping a program around and getting use out of it under a variety of conditions is a lot easier.

          I don’t agree with all of the ethos, mind you…I’m too practical, for example, to believe that we should always write code as best as we can if there are competing business concerns. That said, I think it’s a good starting point. The author uses scare italics to say that it isn’t.

          The author dismisses the ethos with the broad-brush of “elitism”, and frankly I think that in so doing they miss the point: if your code doesn’t work, you aren’t a hacker. It’s elitist in the sense that there are people that can do it, and people that–demonstrably–can’t. I think that’s a totally reasonable distinction to make.

          And when the author does this?

          contempt as the means of acquiring credibility

          I think that those people aren’t really following the ethos either (no-true-scotsman complaints acknowledged and ignored).

          Now, where the author is correct is when people go astray and ignore working code that just happens to offend their aesthetics. Sure, that’s absolutely wrong.

          I disagree that the stage of “my language is best” is wrong. I think that that is the natural evolution of learning any trade, part of getting the self-confidence in your tools and your understanding of their use. Like, starting out, you can barely make a program. Later you can do it reliably enough that you aren’t challenged, but you look around and see how people are doing their stuff and you pick arguments to try and figure out where your language is good (and if you argue with the right people, you find out where it’s bad). This is because you probably haven’t yet tried a large-enough project to judge the language on its productivity and performance (perhaps the only metrics which matter).

          I think that if you stay in that stage, or stay with a particular language (without stating its other problems), you’re in trouble. But, unlike the author, I don’t think it’s a bad thing any more than toddlers being compulsively selfish is a bad thing–it’s just the nature of development.

          I disagree with the author that being contemptuous shields us from feeling like frauds. The author seems to completely miss the well-documented problem of impostor syndrome, in favor of saying “Aha, we’re bullies, so we don’t have this problem!”

          I get that the author’s rhetoric requires this way of framing the issue of impostor syndrome, but it’s an incorrect simplification and one that they don’t need to make. A better approach would have been to frame it as “Well, these folks don’t know enough to be secure in their own knowledge, but gosh darnit they know enough to make fun of PHP developers”.

          I disagree that languages should be treated equally, or that we owe other language communities anything. If you want to see a truly bad language, look at MUMPS. Nobody is better off from perpetuating MUMPS. Nobody is better off by bringing better package management to COBOL.

          Looking at bits like this, I take issue:

          Tools that we mocked them for asking about, telling them to get a real language, to rewrite their entire app, to rebuild from scratch because their particular path was not blessed enough.

          The picture that the artist paints is of Rubyists and Pythonistas and Java folks driving their limosuines through the favelas of PHP. It conjures some image of a smug ‘hacker’ being a jerk to somebody who doesn’t deserve it. Hell, I’d be angry too!

          But the thing is? If you’re gonna build a skyscraper, you can’t use tinkertoys. If you’re gonna build a bookshelf, you are ill-served using mashed potatoes. If you’re gonna crunch numbers, you need something better than bash.

          Like, it’s not like we’re sitting on top of amazing dev-ops tooling and twirling our mustaches and toasting champagne as Tiny Tina the PHP Developer wiggles her polio crutch at us and goes “Please, guv’na, spare us a better way of sanitizing inputs? My brother Timmy lost his hand to a CSRF last week, and Christmas is coming up and Mr. Ellison at the factory won’t put up protective fencing around the dolphins…”

          Asking people to build ovens out of steel instead of nitrocellulose is not unreasonable. Asking people to learn to wash their hands before delivering babies is not unreasonable. Asking people to use modern languages with defined specs and type systems is not unreasonable. Giving better optics to people armed solely with footguns is not going to help them win races.

          And for a bit of reference–I have been on both sides of this. I’ve listened to the unofficial reps of the Rust Evangelion Strike Force chortle with glee about how much better Rust would be than my existing C/JS/Go/Elixir/whatever. It’s annoying, but they’re not always wrong (as painful as that is to admit). I’ve also tried to patiently explain why using C for scripting via system() calls was not actually a great idea. And I’ve had to live through the timelines of both interactions–I’d’ve been much happier with the Rust rewrite than the morass of C scripting we ended up using because reasons.

          In short, I disagree with the cultural relativism espoused by the author in the name of technical inclusivity. That is a useful academic lens, and useful in other contexts–but in tech, in engineering, we really can say that solution X, Y, Z under conditions T, U, and V is, in fact, deficient. Giving those benefits away because it might hurt some feelings is not a price we should pay without careful consideration.

          And yeah, there are assholes out there that are being purposefully exclusionary. Call them out on their bullshit and make them unwelcome–but if you’re, say, Linus Torvalds or John Carmack and you are working on a project that actually demands technical excellence, you can’t really put people above product.


          Lest anybody misunderstand:

          The last section of the article, “What can we do?”, is all actionable and good advice. I don’t agree with how the author got there, mind you, but go do those things and I cannot suggest that we’d be worse off.

          1. 3

            It’s not just about asking people to use appropriate tools. An interesting perspective I’ve seen on Twitter back in the day: the attitude promoted in this article kinda tries to… keep women and minorities on bad tools instead of giving them appropriate powerful tools.

            Rust Evangelion Strike Force

            Evangelism Strike Force. Evangelion is apparently an anime or something :)

          2. 9

            The Internet is probably way too far on the contempt side by default.

            That said, is there a way to critique a community’s values (social, engineering, etc) without it being perceived as an attack?

            1. 10

              I think focusing your critique on a specific point is what’s actually valuable.

              For example, with the leftpad debacle:

              • “Node.js/npm is a garbage fire”: This is….. super useless! I get told this, what do I do with this? Reply “ummm OK then guess I like trash”? But this is what people were saying
              • “This shows the dangers of having 10 layers of dependencies”: Well now we’re getting somewhere! You end up still being in a bit of a dangerous discussion (“should I be hand-rolling all my code?”) But at least it’s a real critique. If you can avoid being antagonistic you can explore this space and learn stuff as well (“JS has no real standard library so…”)
              • “There needs to be better way to ensures dependencies can’t just disappear”: This is a bit nicer! It’s not as subjective a critique, and at the same time can be applied to other places as well. Nobody wants their dependencies to disappear! You can disagree about the probability of the issue, but at least you can explore solutions.

              Ultimately people care about what community they’re in, and you can almost always reformulate things in a positive manner, and move forward.

              Another example is Rick Hickley’s clojure conj 2017 opening (this thing). This is a pretty good example of how not to make critiques. He spends a bunch of time complaining about types so people like me (who has seen massive productivity gains from Typescript in particular) just gets completely turned off.

              But if you listen, there’s kernels of truth and insight that everyone wants to hear. He’s not against any sort of static verification, more against overbroad/program-wide stuff. He’s in the same camp as many Typescript people, but alienates them immediately! Meanwhile he has interesting points (“Don’t mess with things”/“offer low coupling”/“a la carte static verification”) that are … even more interesting to people in the more typed domains. Interesting stuff to think about, all ignored because of the rant-y feel of the message.

              Your thing could be better than someone else’s…. so offer why your thing is good! Don’t insist on why their thing is bad! Then they can try to take some stuff from there, instead of just getting pushed away

              1. 3

                I tried to address this behavior from a team-oriented, “we-know-not-what-we-do” perspective earlier this year in a talk at New Zealand’s JavaScript conference in Wellington:

                “Behaviour & Your Team” https://robertwpearce.com/blog/behaviour-and-your-team.html (VIDEO)

                1. 2

                  You can critique something without holding it in contempt, but it’s nearly impossible to write politely about something you are contemptuous of.

                  1. 2

                    One way is to contribute to that community. Demonstrate that you’re critiquing it because you want to make it better, and that you are in the process of making it better.

                  2. 4

                    I almost succumbed to this style of thinking when I first started out. But luckily I jumped into jobs where I was required to program in multiple languages constantly at large corps. C# to Java, python, PHP, VB, C/C++, perl. All over the map. I think if your job involves purely writing plugins and themes for wordpress year in and out, your crime isn’t that your chosen language is PHP. It’s that you haven’t bothered to step outside your comfort zone and experience other people’s views on what a language should be. It’s like if you never left your hometown, and you go to some far flung country and experience a completely different culture, when you come home, what you learned there will directly influence how you mold your own culture. You don’t have to abandon your culture for someone else’s, but experiencing it will open up your brain a bit more to things you can achieve in your own.

                    1. 6

                      The most despicable thing I’ve seen is a person who makes a victim of himself or a group they represent. The instance I remember was a man who said he was poorly educated because he was poor financially. Every time when I offered new ideas and/or teaching, it was seen as an assertion of oneself. That was a one way to live and I’m not blaming him for it. But my sympathy response on that eventually eroded away.

                      By the way, I agree with the conclusion of this article. If you keep repeating “java sucks lol”, although there were facts to support your claim, it matters where you represent that claim and why. You might have ended up to use it as a mantra. I’ve observed that mantras are often associated with a blunt mind.

                      1. 4

                        You have to acknowledge the limitations of everything. You should never be a fanboy. I use to like PHP, then I looked at the internals. Then I ran into the weird comparison bugs. Then I had to deal with PHP apps at scale.

                        Back in the 90s I was a hardcore anti-Microsoft; Bill Gates is a Borg; etc. I grew up. I worked for an open source company (same company that the author of their article worked for, for a bit actually) and saw people who were hard core in their ideology. Today I use some commercial software, a lot of open source software, and recognize the limitations of each. I did a post on it not to long ago:


                        My last job involved a lot of Scala. I do enjoy Scala over Java. I also have run into code hell with some of the more insane functional concepts and category theory. In frustration, I sometimes feel like Scala would be better if everything from TypeSafe/LightBend died in a fire.

                        I’d like to think that as I’ve grown, I’ve come to see the advantages and limits of most of the tech we use. Everything is terrible, but some of it is kinda neat. When people become hardcore evangelists for a certain technology, or denigrate those because of a choice of tech stack, they close themselves off to really knowing and learning the tools they use. Such people tend to get defensive about their code as well and don’t do well with code reviews.

                        The girl who wrote this article once apologized to me in an elevator after making fun of me for being on the Java team. She had been on a Python project. I honestly didn’t care that much. I hated the limitations of Java and kinda got sucked into that team due to the way projects were delegated at the company. While in that team I was able to push our first Scala project as well.

                        Even PHP is getting better with PHP7 having a real AST and Facebook attempting to write a real spec. I still don’t understand why anyone thinks node is a good idea; but maybe I just need to get stuck in a project using it. :-P

                        All our technology is somewhat terrible. We just need to acknowledge the limits of everything.

                        1. 4

                          When people become hardcore evangelists for a certain technology … they close themselves off to really knowing and learning the tools they use.

                          I understand that people do this, but it just seems so alien to me. The technologies I evangelize the hardest are also the ones I’m most comfortable mocking. If I love something, I’ll use it enough to know what’s frustrating and where it breaks down. You’re only an authority on something when you’re painfully aware of its shortcomings.

                      2. 2

                        I’m probably a bit late to the discussion.

                        The article is mostly okay, I do agree that needlessly circlejerking some programming language, any programming language, is considered harmful.

                        If you have a selection of tools and you want to hammer a nail then picking the hammer is the most logical option [citation needed], however, if you pick the screwdriver because you think hammers are tools of the stoneage or way to dangerous, then frankly, there is a problem.

                        When I write a webservice, I usually pick Go because it’s a fun language to write a webservice in. If I need to crunch data I pick Python. If I need to do something dirty I pick bash. If I need the best programming language, I pick LISP.

                        One major nitpick is the section on intent. Whether or not intent, actions or consequences matter respectively has been a major debate in philosophy/ethics for a long while (Nietzsche, Utilitarianism), so I wouldn’t draw such a strong and objective line when the dust hasn’t settled on that topic yet (tho I’m sure the dust has settled on some of the books on that topic)