Contempt Culture (2015)(blog.aurynn.com)
blog.aurynn.com
Contempt Culture (2015)
https://blog.aurynn.com/2015/12/16-contempt-culture
58 comments
As I said in a different thread, in reply to people criticizing languages: "I trust the people actually building stuff. They are the hardest people to fool."
I mean, that's a way to justify no criticism against ≈anything popular or successful. There's a lot of criticism aimed at the IBMs, Oracles and government agencies of the world, but they're getting a lot done—does that mean they're so much better or more effective than the alternatives and don't deserve their criticism?
Things just need to be good enough to succeed, and that's a pretty low bar. The whole point and value of criticism is making a more nuanced judgement than "popular and successful = good".
Things just need to be good enough to succeed, and that's a pretty low bar. The whole point and value of criticism is making a more nuanced judgement than "popular and successful = good".
I feel there is criticism that is loving and supportive and designed to exhort, elevate, extend, improve and enhance and build up and edify.
Then there's what we see on the internet.
I feel people might not know what they're missing in languages such as in LISP, OCaml or Haskell. Or how functional programming can transform your life. But PHP and Java developers don't need to be disparaged. That's not loving.
I am working on some Jepsen tests (which uses Clojure) and I'm enjoying how expressions are evaluated, the freedom of evaluating expressions. But I still find other people's code difficult to read!
I value the perspective/criticism of someone who has built something impressive in PHP or Java over someone in these communities on the sidelines who doesn't build things that ship but is very opinionated.
Then there's what we see on the internet.
I feel people might not know what they're missing in languages such as in LISP, OCaml or Haskell. Or how functional programming can transform your life. But PHP and Java developers don't need to be disparaged. That's not loving.
I am working on some Jepsen tests (which uses Clojure) and I'm enjoying how expressions are evaluated, the freedom of evaluating expressions. But I still find other people's code difficult to read!
I value the perspective/criticism of someone who has built something impressive in PHP or Java over someone in these communities on the sidelines who doesn't build things that ship but is very opinionated.
Yeah. The people using PHP or C++ or Oracle or whatever can tell you plenty about what's wrong with them. They know the flaws. They know the flaws that are real flaws, not just what's theoretically wrong.
But that doesn't mean that there's something better for what they're doing. "Tool X is flawed!" Yes, it is - deeply flawed. "You should use Y instead!" No, that does not follow. X may be flawed, but that doesn't mean that Y is better. And all the badmouthing and pouring-on-of-contempt in the world won't make Y better.
And the people doing the work know. For the most part, they aren't fools, and they aren't sheep. They know what it takes to build what they're building, and they're using the best available tools to do it. Those tools aren't perfect? Welcome to the real world. But the pouring of contempt doesn't get anything built, so they ignore the loudmouth know-it-alls and just get on with building stuff.
But that doesn't mean that there's something better for what they're doing. "Tool X is flawed!" Yes, it is - deeply flawed. "You should use Y instead!" No, that does not follow. X may be flawed, but that doesn't mean that Y is better. And all the badmouthing and pouring-on-of-contempt in the world won't make Y better.
And the people doing the work know. For the most part, they aren't fools, and they aren't sheep. They know what it takes to build what they're building, and they're using the best available tools to do it. Those tools aren't perfect? Welcome to the real world. But the pouring of contempt doesn't get anything built, so they ignore the loudmouth know-it-alls and just get on with building stuff.
Note that said they trust the _people_ building stuff. Those organizations get anything done because of some hard working individuals. Those people are definitely the parts of those systems least deserving of criticism.
Did the author mention C++?
Also, as a user of intelliJ, I would prefer it be written in C++. It's dog-slow.
> Facebook is originally PHP
I doubt it's success was based on its tech, but the fact it was rewritten tells a tale in itself, no?
Also, as a user of intelliJ, I would prefer it be written in C++. It's dog-slow.
> Facebook is originally PHP
I doubt it's success was based on its tech, but the fact it was rewritten tells a tale in itself, no?
Facebook in PHP may very well have been a key behind their success. At the time, Friendster was the big social network but was being overwhelmed by their "friend graph" code. Facebook came out to Harvard only, then any college email, then open to the world. I remember being impressed with how few outages the site had, which were MUCH more common then (pre-cloud).
That is mostly kudos to devops but PHP let them build stable code quickly and resolve issues fast. There was a source code leak at one point - a missing tag at the beginning of the page meant the source code rendered as text. That in itself meant their deploy process was garbage but the challenges at the time were mostly around handling scale and traffic spikes.
Anyway, the leaked code wasn't very clean or well-organized and definitely showed some of the growing pains. But the fact is, the site progressed and grew and was mostly stable the entire trajectory, no matter what was happening under the hood or behind closed doors.
That is mostly kudos to devops but PHP let them build stable code quickly and resolve issues fast. There was a source code leak at one point - a missing tag at the beginning of the page meant the source code rendered as text. That in itself meant their deploy process was garbage but the challenges at the time were mostly around handling scale and traffic spikes.
Anyway, the leaked code wasn't very clean or well-organized and definitely showed some of the growing pains. But the fact is, the site progressed and grew and was mostly stable the entire trajectory, no matter what was happening under the hood or behind closed doors.
> I doubt it's success was based on its tech
Never underestimate how powerful a low barrier to entry is for trying things quickly. In a winner take all market like social media, it’s very possible the choice of PHP over something like lisp gave them a huge advantage.
Never underestimate how powerful a low barrier to entry is for trying things quickly. In a winner take all market like social media, it’s very possible the choice of PHP over something like lisp gave them a huge advantage.
I actually used Lisp to implement an early (1995) social media platform, which provided a low barrier to entry and allowed me to try things quickly, beating the averages for a few years.
http://shiny.link/QpGMwJ
http://shiny.link/QpGMwJ
I wouldn't think of lisp as the next best choice.
Quickly written spaghetti code with massive tech debt could be delivered fast enough to gain a huge competitive advantage - does that mean modern SW dev should venerate that approach?
Quickly written spaghetti code with massive tech debt could be delivered fast enough to gain a huge competitive advantage - does that mean modern SW dev should venerate that approach?
>> Facebook is originally PHP
> I doubt it's success was based on its tech,
It is, if it let them iterate quickly onto product market fit. Had they chosen something with the dev speed of Rust it is unlikely that they would have iterated fast enough to be successful.
> I doubt it's success was based on its tech,
It is, if it let them iterate quickly onto product market fit. Had they chosen something with the dev speed of Rust it is unlikely that they would have iterated fast enough to be successful.
I doubt IntelliJ would become much faster if it were written in C++. The bottleneck on all of my machines running it has always been I/O. If it wasn't I/O, it was waiting for other tools (gradle, maven, node, take your pick) to complete one of their build steps.
It's not an application that's meant to be light weight like VS Code, I believe Jetbrains Fleet is much more suitable for that.
Maybe there are caching advantages to be gained, but those can be implemented in Java as well. I think the most important optimizations wouldn't stand to gain much from a rewrite into native code.
It's not an application that's meant to be light weight like VS Code, I believe Jetbrains Fleet is much more suitable for that.
Maybe there are caching advantages to be gained, but those can be implemented in Java as well. I think the most important optimizations wouldn't stand to gain much from a rewrite into native code.
They were at least aware of its reputation considering this is (was?) painted on one of the walls of MPK16.2 https://i.imgur.com/7unV7.png
> I doubt it's success was based on its tech
Success is seldom the result of tech choices, but failure often is.
It's a common misconception that being technically superior is worth more than having a rich, mature ecosystem to draw on.
Success is seldom the result of tech choices, but failure often is.
It's a common misconception that being technically superior is worth more than having a rich, mature ecosystem to draw on.
Nobody is saying that crap languages cannot get a job done. A lot of them are Turing complete, with comprehensive platform hooks.
I was with them right up until not criticizing Windows. Criticize the hell out of Windows, it’s the “default”of most of the world yet absolutely fundamentally flawed, and held together with duct tape. We’re building skyscrapers on swampland, it’s a literal danger to life and limb.
Don’t criticize the users, that’s needlessly rude. But Windows needs to be criticized.
A single example, its lack of an executable permission, hiding file extensions, and running things based on file extension is at its core the cause of 95% of the worlds problems. They could easily fix so much just by showing extensions.
Don’t criticize the users, that’s needlessly rude. But Windows needs to be criticized.
A single example, its lack of an executable permission, hiding file extensions, and running things based on file extension is at its core the cause of 95% of the worlds problems. They could easily fix so much just by showing extensions.
Author generally doesn't seem to understand the difference between criticizing a language, and criticizing its developers.
Don't criticize people, criticize concepts.
Don't criticize people, criticize concepts.
It's a shame that you've been downvoted instead of replied to.
I agree that we need to criticize concepts, not people. That said, we shouldn't be ignorant of a language's strengths when criticizing it's weaknesses.
Most of all, it's important to analyze the trade-offs inherent in working with a particular language. For example, it's very easy to iterate when working with a language like PHP. I can appreciate that while also not being a fan of implicit type conversions and inconsistent naming patterns in builtin functions.
When discussing trade-offs, it helps to discuss things from a position of knowledge, not ignorance. If you haven't programmed in PHP, you might want to hold back some commentary on it.
I agree that we need to criticize concepts, not people. That said, we shouldn't be ignorant of a language's strengths when criticizing it's weaknesses.
Most of all, it's important to analyze the trade-offs inherent in working with a particular language. For example, it's very easy to iterate when working with a language like PHP. I can appreciate that while also not being a fan of implicit type conversions and inconsistent naming patterns in builtin functions.
When discussing trade-offs, it helps to discuss things from a position of knowledge, not ignorance. If you haven't programmed in PHP, you might want to hold back some commentary on it.
> They could easily fix so much just by showing extensions.
A couple of years ago I troubleshot a problem someone was having on a Mac. IIRC, instead of creating a file with an extension they had somehow managed to create a folder with an extension, with the actual file inside of that folder.
Also IIRC, they tried to click into the folder, but apparently Mac had hid the file extension (of the folder!) which prevented them from entering the folder (since the name without the extension was not the full name of the folder??). This only became apparent when dropping into the shell and doing a list. From there it was easy to change directory into the full name of the directory.
I have no clue what was happening here.
A couple of years ago I troubleshot a problem someone was having on a Mac. IIRC, instead of creating a file with an extension they had somehow managed to create a folder with an extension, with the actual file inside of that folder.
Also IIRC, they tried to click into the folder, but apparently Mac had hid the file extension (of the folder!) which prevented them from entering the folder (since the name without the extension was not the full name of the folder??). This only became apparent when dropping into the shell and doing a list. From there it was easy to change directory into the full name of the directory.
I have no clue what was happening here.
>I have no clue what was happening here.
MacOS has a handful of extensions on folders that make the Finder treat them as files instead of folders. The most common is `.app` which is what almost every modern mac app that doesn't use a package installer is. It's how the "drag to install, drag to uninstall" magic works. The app, all it's bundled libraries and resources are all in this folder. Double click the "folder" and you launch the app because the inner folder structure is a convention that MacOS understands and so knows where the actual executable inside is.
There are a handful of others (notably their office suite ones `.pages` `.numbers` and `.keynote`) which do this too
MacOS has a handful of extensions on folders that make the Finder treat them as files instead of folders. The most common is `.app` which is what almost every modern mac app that doesn't use a package installer is. It's how the "drag to install, drag to uninstall" magic works. The app, all it's bundled libraries and resources are all in this folder. Double click the "folder" and you launch the app because the inner folder structure is a convention that MacOS understands and so knows where the actual executable inside is.
There are a handful of others (notably their office suite ones `.pages` `.numbers` and `.keynote`) which do this too
Thanks, now I know. I've basically never used a Mac and was only able to help because of experience with Windows and Linux. I think the folder in question just had a .txt or similar text document like extension. Maybe it was a script file extension.
> its lack of an executable permission
NTFS supports executable permissions for users, groups, and all other types of ACL you can manage. It's just enabled by default if you have read access.
That said, in 99% of cases the Mark of the Web will do the same thing the executable bit will do on other platforms. You'll have to store an executable on a fat32 drive for it to be executable without a "your computer is in terrible danger" prompt.
NTFS supports executable permissions for users, groups, and all other types of ACL you can manage. It's just enabled by default if you have read access.
That said, in 99% of cases the Mark of the Web will do the same thing the executable bit will do on other platforms. You'll have to store an executable on a fat32 drive for it to be executable without a "your computer is in terrible danger" prompt.
More importantly, it's owned by a toxic corporate interest whose behaviour damages the entire ecosystem, and is generally unchecked.
Don't go after people for using it, it might not be their choice. But do push back on apologists and promoters.
Don't go after people for using it, it might not be their choice. But do push back on apologists and promoters.
How is an executable permission more secure than a hidden .exe extension that also enables it to be executed by "opening" it, and is also hard to see by default?
Group bonding by identify an "out group" (1) and vilifying "them" is common and very human. Terrible and toxic in the modern world, but so human.
As is "the vanity of small differences". Viewed from a distance, "people who write software" are all of much the same group.
I try not to do it. I prefer Scott Hanselmans's take (2)
"Learn any programming language. ... pick a programming language, learn it, see if it feeds your spirit. If you don't like it, pick a different one.
* Ignore people who say that this language sucks or that language sucks* "
1) https://en.wikipedia.org/wiki/In-group_and_out-group
2) https://www.youtube.com/watch?v=IzhQIpT7S50
As is "the vanity of small differences". Viewed from a distance, "people who write software" are all of much the same group.
I try not to do it. I prefer Scott Hanselmans's take (2)
"Learn any programming language. ... pick a programming language, learn it, see if it feeds your spirit. If you don't like it, pick a different one.
* Ignore people who say that this language sucks or that language sucks* "
1) https://en.wikipedia.org/wiki/In-group_and_out-group
2) https://www.youtube.com/watch?v=IzhQIpT7S50
While I agree with most of the article, I have some reservations though:
> I’m tired of people dumping on Windows, that most popular operating system, because it’s not what we choose to use . . .
Criticism can be constructive and the network effects of platforms are real. There is an appropriate time and place for these things. For languages which are almost entirely open source at this point the choice isn’t so important. For things like closed source (and deeply flawed) operating systems we should find healthy ways to advocate against them (not the people who use them). Don’t be a contemptuous nerd shaking your fist at the wind, but don’t miss opportunities that could actually make a difference.
> I’m tired of people dumping on Windows, that most popular operating system, because it’s not what we choose to use . . .
Criticism can be constructive and the network effects of platforms are real. There is an appropriate time and place for these things. For languages which are almost entirely open source at this point the choice isn’t so important. For things like closed source (and deeply flawed) operating systems we should find healthy ways to advocate against them (not the people who use them). Don’t be a contemptuous nerd shaking your fist at the wind, but don’t miss opportunities that could actually make a difference.
If someone says, "I'm tired of dealing with X in Y," or, "I can't figure out how to do A in B," it may be appropriate to say Z or C will help. As for outright advocacy, it is poison. In the best case, it's adding a lot of noise for people who are trying to make a decision. In the worse case, it's forcing people in the other direction. There's a lot of reasons why it may be forcing people in the other direction. The article's author mentions exclusionary language/tone. In other cases advocacy diminishes the credibility of the message (e.g. they distort how good their choice is or how bad the alternative is). Plus, some people simply don't want to be associated with that type of culture.
[deleted]
You see this everywhere, but it's usually only with people who do not have much experience. Not just with languages either. I remember my team looking incredulously at a new hire who was, (hopefully anyway?), trying to show us all how smart he was by telling us Bellman-Ford was better than Dijkstra.
Um. OK. But who cares? Our job is to ship product. We'll throw it at the GPU and move on with our lives. Thanks though? I think?
If I was looking at a company that purported to be making an online game streaming service and they were using Ruby or Swift, I'd very likely look elsewhere for employment. If they were using Java, Rust, or C++, well, that would make more sense.
There are just some realities out there about which languages to use for what, and if a company you are looking at seems to be operating way outside those realities? I mean you have to think long and hard about working with them.
Same with employees by the way. If someone comes in and tries to get my teams to work on a Rust based inferencing service to host our models because "It won't take more than 6 months." Again, you have to question that person's judgement. We're supposed to spend 6 months, (read 18 months because it always takes 3x what they say), creating a Rust based service? A service that even my junior AI guys can push out by the end of the week in Python or Java? No thanks. HR, please prepare his/her separation notice.
I don't run a "who has the biggest balls/breasts" contest. I run a tech firm. Fanboyism has no place in cold dispassionate decision making.
Um. OK. But who cares? Our job is to ship product. We'll throw it at the GPU and move on with our lives. Thanks though? I think?
If I was looking at a company that purported to be making an online game streaming service and they were using Ruby or Swift, I'd very likely look elsewhere for employment. If they were using Java, Rust, or C++, well, that would make more sense.
There are just some realities out there about which languages to use for what, and if a company you are looking at seems to be operating way outside those realities? I mean you have to think long and hard about working with them.
Same with employees by the way. If someone comes in and tries to get my teams to work on a Rust based inferencing service to host our models because "It won't take more than 6 months." Again, you have to question that person's judgement. We're supposed to spend 6 months, (read 18 months because it always takes 3x what they say), creating a Rust based service? A service that even my junior AI guys can push out by the end of the week in Python or Java? No thanks. HR, please prepare his/her separation notice.
I don't run a "who has the biggest balls/breasts" contest. I run a tech firm. Fanboyism has no place in cold dispassionate decision making.
> 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.
Despite all the introspective self-flagellation, I'd say the author still has a ways to go if they believe that any path or another is, "predominantly for women."
Despite all the introspective self-flagellation, I'd say the author still has a ways to go if they believe that any path or another is, "predominantly for women."
Fairly sure that's an example of the belief she did spread in the past, not something she believes now (as in as of the time of writing the article).
How did you come to that conclusion?
It's how the post makes sense in context?
After reading it again here is my interpretation:
What is meant by "self-taught narrative" is a narrative of their experience in which they are "self-taught" i.e. taught themselves.
It could be easy to assume a "self-taught narrative" is a narrative one teaches themselves i.e. a narrative that is subjective, self-assured only, and thus not valid; but I don't think this is what is meant.
Hence, the line:
> Other self-taught narratives
Are not "other narratives I taught myself" but rather, "the 'self-taught' narratives of other people".
I think this is implied by:
> My self-taught narrative is not other peoples’ self-taught narrative
note the use of a singular "narrative".
I think the contrast/revelation of the line "This was a bombshell" is that this:
> is a completely valid narrative, but a path that is predominately for women
i.e. this is what she discovered, and still believes, and forms the basis of her rejecting her former contempt.
What is meant by "self-taught narrative" is a narrative of their experience in which they are "self-taught" i.e. taught themselves.
It could be easy to assume a "self-taught narrative" is a narrative one teaches themselves i.e. a narrative that is subjective, self-assured only, and thus not valid; but I don't think this is what is meant.
Hence, the line:
> Other self-taught narratives
Are not "other narratives I taught myself" but rather, "the 'self-taught' narratives of other people".
I think this is implied by:
> My self-taught narrative is not other peoples’ self-taught narrative
note the use of a singular "narrative".
I think the contrast/revelation of the line "This was a bombshell" is that this:
> is a completely valid narrative, but a path that is predominately for women
i.e. this is what she discovered, and still believes, and forms the basis of her rejecting her former contempt.
No kidding. But it’s been 8 years, good odds they’ve continued to grow in that time.
Go easy Dan. You're assuming that people who have a job to do, in whatever way they achieve that, care greatly about what others think. One just does the job with the tools at hand, and with the skills at hand, and move on. It's a job, not a competition in aesthetics. If it works, it works. Most people will defend their work, and not their choices, because often the choices weren't theirs in the first place.
This is a very good essay. I don’t understand the assertion about the “this is a path predominantly used by women”, if that led to the necessary epiphany, great.
I remember being impressed the people who were good at snark: clever sarcastic quips that were funny with a germ of truth in them. I was sorry I wasn’t so quick on my feet (tongue) but participated.
And then somehow, one day, I realized that yes, people liked the humor, but often weren’t close to those folks, because maybe the quips could be aimed at them. And luckily that happened when I was young enough to drop it. There are other ways to be smart.
I remember being impressed the people who were good at snark: clever sarcastic quips that were funny with a germ of truth in them. I was sorry I wasn’t so quick on my feet (tongue) but participated.
And then somehow, one day, I realized that yes, people liked the humor, but often weren’t close to those folks, because maybe the quips could be aimed at them. And luckily that happened when I was young enough to drop it. There are other ways to be smart.
Anecdotally, I experienced the same thing the author mentioned: Specially Python developer's disdain for Java. At more than one local Python meetup there were numerous jabs thrown at Java, or jokes made at its expense, with the implication that Java was inferior to Python.
FWIW, I never experienced the inverse when talking to Java developers.
FWIW, I never experienced the inverse when talking to Java developers.
I'm sort of glad I didn't have an internet connection at home until I was 17, because I only got any contact with the attitude criticized in the post when I was already largely past teenage angst.
My experience is that gatekeepers often exaggerate the difficulty and importance of whatever it is that they're gatekeeping, be it languages, language paradigms or even architectures.
It's useful to call them out on this in particular when you're knowledgeable yourself.
My favourite example of this is people dismissing a language because its type system is unsound. The vast majority of people who brought this up in front of me couldn't explain how that prevents anyone from shipping products.
My experience is that gatekeepers often exaggerate the difficulty and importance of whatever it is that they're gatekeeping, be it languages, language paradigms or even architectures.
It's useful to call them out on this in particular when you're knowledgeable yourself.
My favourite example of this is people dismissing a language because its type system is unsound. The vast majority of people who brought this up in front of me couldn't explain how that prevents anyone from shipping products.
There are some good points in this article, but the idea that there is a contempt "currency" seems odd. Are there really communities in computing in which your status is bolstered by expressions of contempt, rather than some real achievement and demonstration of competence?
You just don't see this in circles where people have ability. Expressions of contempt may show up there, but they are not the basis for anyone's status.
You just don't see this in circles where people have ability. Expressions of contempt may show up there, but they are not the basis for anyone's status.
I would be surprised if this has changed since 2001. I think it speaks more to the changes in attitude/perspective of the author, and the communities they choose to participate in—and less about the world. Also, PHP and Java have both improved greatly since 2001...
Finally, I should note that I would be far less motivated to join a company where I’d have to spend my time writing Java or PHP that one working with Ruby or Swift, for instance. We’re still allowed to have opinions about languages. It’s just childish to demean others for theirs.
Finally, I should note that I would be far less motivated to join a company where I’d have to spend my time writing Java or PHP that one working with Ruby or Swift, for instance. We’re still allowed to have opinions about languages. It’s just childish to demean others for theirs.
Meh. I wouldn’t recommend anyone be arrogant and contemptuous about tech choices. That’s obviously counterproductive and often juvenile.
But helpful? Hell yes—we have an abundance of FLOSS riches today. And fact is, some packages are better designed than others. Trying to encourage use of the higher quality ones to minimize headaches is a good thing.
But helpful? Hell yes—we have an abundance of FLOSS riches today. And fact is, some packages are better designed than others. Trying to encourage use of the higher quality ones to minimize headaches is a good thing.
Don Hopkins elaborates:
https://news.ycombinator.com/item?id=35663742
https://news.ycombinator.com/item?id=35663742
You should have lived when COBOL was king, this has been around for a long time and will be around for much longer. Not to mention the classic Emacs vs vi, really just the same thing.
ok, first thing:
> but a path that is predominately for women
since this is an important premise, apparently the turning point of her "PHP sucks" phase, why no link to evidence?
also:
> I’m tired of calling people out again and again
> Instead, we lecture and dismiss and heap scorn upon them.
is "calling out" different from lecturing?
and:
> to the vile reactionary attitudes towards the introduction of Codes of Conduct
Not at all the same thing. The history of CoCs tells the tale, no cheap dismissal based on your own bad behaviour needed.
In fact, saying "I used to be a bad person, but I'm enlightened now, and assume everyone with similar opinions to the ones I used to hold are bad people like I used to be" is a little smug and/or narcissistic.
Cool, you feel you grew as a person - keep that as a lesson for yourself, not a lecture for everyone else, otherwise you are still projecting your opinions on others, and weaponizing your former faults:
> Because we were the problematic elements.
> We excluded people. Directly. All of us.
Doesn't sound like owning up to personal behaviour.. Maybe speak for yourself.
> but a path that is predominately for women
since this is an important premise, apparently the turning point of her "PHP sucks" phase, why no link to evidence?
also:
> I’m tired of calling people out again and again
> Instead, we lecture and dismiss and heap scorn upon them.
is "calling out" different from lecturing?
and:
> to the vile reactionary attitudes towards the introduction of Codes of Conduct
Not at all the same thing. The history of CoCs tells the tale, no cheap dismissal based on your own bad behaviour needed.
In fact, saying "I used to be a bad person, but I'm enlightened now, and assume everyone with similar opinions to the ones I used to hold are bad people like I used to be" is a little smug and/or narcissistic.
Cool, you feel you grew as a person - keep that as a lesson for yourself, not a lecture for everyone else, otherwise you are still projecting your opinions on others, and weaponizing your former faults:
> Because we were the problematic elements.
> We excluded people. Directly. All of us.
Doesn't sound like owning up to personal behaviour.. Maybe speak for yourself.
> > but a path that is predominately for women
> since this is an important premise, apparently the turning point of her "PHP sucks" phase, why no link to evidence?
I didn't figure it out til this comment thread but I think it is based on a (stereotyped?) picture of male hackers arriving through the traditional male-heavy STEM education, CS major or whatever, and the "sophisticate" culture that goes with that. Female hackers in that picture are (were?) more likely to have arrived through writing, web design, then doing some scripting here and there before finding their way into backend development, so PHP will be all they have seen at the relevant moment. At least that seemed like what was being conveyed.
The essay as a whole wasn't that impressive. C (one of the more testosterone-soaked languages FWIW) really does suck, people who use it without knowing better don't deserve contempt, but it is worthwhile to provide some gentle enlightenment if you're in a position to do so.
These days PHP has improved, Javascript has eaten the scripting world, and C is mostly relegated to legacy and embedded niches. But we really do live in a bunch of overlapping messed up programming cultures and we should always try to widen our horizons without blaming the victims. The "blub paradox" ironically both explains the culture problem, and is an example of it (it fails to recognize that Lisp is also a blub).
> since this is an important premise, apparently the turning point of her "PHP sucks" phase, why no link to evidence?
I didn't figure it out til this comment thread but I think it is based on a (stereotyped?) picture of male hackers arriving through the traditional male-heavy STEM education, CS major or whatever, and the "sophisticate" culture that goes with that. Female hackers in that picture are (were?) more likely to have arrived through writing, web design, then doing some scripting here and there before finding their way into backend development, so PHP will be all they have seen at the relevant moment. At least that seemed like what was being conveyed.
The essay as a whole wasn't that impressive. C (one of the more testosterone-soaked languages FWIW) really does suck, people who use it without knowing better don't deserve contempt, but it is worthwhile to provide some gentle enlightenment if you're in a position to do so.
These days PHP has improved, Javascript has eaten the scripting world, and C is mostly relegated to legacy and embedded niches. But we really do live in a bunch of overlapping messed up programming cultures and we should always try to widen our horizons without blaming the victims. The "blub paradox" ironically both explains the culture problem, and is an example of it (it fails to recognize that Lisp is also a blub).
[deleted]
IntFloatNil(1)
Take some complicated applications such as Google Chrome is written in C++, IntelliJ is Java and Facebook is originally PHP. I am impressed by what each of them accomplished.
I am impressed and respect the products, developers, people and accomplishments of the languages that receive this ugly unloving attitude. They ship LOTS of things and people do use them. I think this counts for a lot.