Re:Contempt Culture
by lapcat on Sunday May 14, 2023 @09:46AM
(#35937922)
(2015)
Dan, could you please put years on your submission titles when they're not from the current year? You've been doing a lot of old submissions without the year appended.
Re:Contempt Culture
by haswell on Sunday May 14, 2023 @11:40AM
(#35938792)
Asking for inclusion of the year does not suggest the content is less valuable, and often provides important context about the content and how to interpret it.
e.g. an article about the risks of AI written in 2007 will hit differently than a similar piece written yesterday.
Re:Contempt Culture
by mlyle on Sunday May 14, 2023 @11:53AM
(#35938882)
It's valuable context.
Here it doesn't hurt or help the piece.
More often than anything, the year adds weight to a piece. The essay "A Group is its Own Worst Enemy" would be interesting observations at any time, but putting (2005) after it makes it clear the leading work that it was and how universal the observations may be.
Re:Contempt Culture
by dang on Monday May 15, 2023 @01:40AM
(#35944257)
Other users have already addressed this but I want to add a bit too.
HN's convention of putting years on titles is definitely not intended to devalue an article—on the contrary, historical material is always welcome here! One of the best functions of HN is that it helps spread knowledge of history.
Re:Contempt Culture
by jmclnx on Sunday May 14, 2023 @10:48AM
(#35938415)
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.
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.
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.
Re:Contempt Culture
by donatj on Sunday May 14, 2023 @11:28AM
(#35938696)
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.
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.
> 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.
Re:Contempt Culture
by tpmoney on Sunday May 14, 2023 @03:19PM
(#35940574)
>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
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.
Re:Contempt Culture
by jeroenhd on Sunday May 14, 2023 @02:07PM
(#35939956)
> 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.
> 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.
> All of the ways in which I was actively participating in the exclusion of women from STEM.
How does this train of thought cross one's mind, and be determined as valid and acceptable for a blog post? What reality are you living in?
Re:Contempt Culture
by dandellion on Sunday May 14, 2023 @11:38AM
(#35938775)
I'm a minority (Spaniard, at an American company). I also I used to use PHP. I can 100% say that I'm glad people made fun of it because it influenced me to try other things and I was much, much better of for it. PHP was an objectively bad language (at least when I was using it, I hear it might be better now).
Mockery is a very effective signalling mechanism and censoring it to comply with US corporate correctness seems a bit overbearing, to be honest.
Re:Contempt Culture
by samsquire on Sunday May 14, 2023 @11:32AM
(#35938725)
Some of the most successful and most complicated products are written in languages that are the target of the attitude mentioned in this article.
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.
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."
Re:Contempt Culture
by tikhonj on Sunday May 14, 2023 @12:18PM
(#35939063)
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".
Re:Contempt Culture
by samsquire on Sunday May 14, 2023 @12:33PM
(#35939179)
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. 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.
Re:Contempt Culture
by mecsred on Sunday May 14, 2023 @01:09PM
(#35939441)
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.
Re:Contempt Culture
by kortilla on Sunday May 14, 2023 @12:44PM
(#35939258)
> 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.
Re:Contempt Culture
by mclide on Sunday May 14, 2023 @01:23PM
(#35939561)
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.
Re:Contempt Culture
by Chris2048 on Monday May 15, 2023 @06:48AM
(#35946174)
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?
Re:Contempt Culture
by lelanthran on Sunday May 14, 2023 @01:46PM
(#35939783)
>> 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.
Re:Contempt Culture
by jeroenhd on Sunday May 14, 2023 @02:04PM
(#35939927)
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.
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.
Re:Contempt Culture
by davemp on Sunday May 14, 2023 @11:43AM
(#35938809)
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.
Re:Contempt Culture
by II2II on Sunday May 14, 2023 @11:59AM
(#35938933)
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.
Re:Contempt Culture
by bilbo0s on Sunday May 14, 2023 @11:48AM
(#35938850)
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.
Re:Contempt Culture
by bityard on Sunday May 14, 2023 @11:55AM
(#35938895)
> 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."
Re:Contempt Culture
by Chris2048 on Monday May 15, 2023 @06:48AM
(#35946173)
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.
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" "
Re:Contempt Culture
by Tade0 on Sunday May 14, 2023 @12:18PM
(#35939061)
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.
Re:Contempt Culture
by Chris2048 on Sunday May 14, 2023 @12:33PM
(#35939180)
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 a 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.
> 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; while female hackers 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).
Re:Contempt Culture
by gumby on Sunday May 14, 2023 @12:41PM
(#35939241)
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.
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.
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.
Dan, could you please put years on your submission titles when they're not from the current year? You've been doing a lot of old submissions without the year appended.
Just because it's old does not make it less valuable as you suggest.
e.g. an article about the risks of AI written in 2007 will hit differently than a similar piece written yesterday.
> Just because it's old does not make it less valuable as you suggest.
Wait, who suggested that? Nobody even implied anything remotely like that.
Here it doesn't hurt or help the piece.
More often than anything, the year adds weight to a piece. The essay "A Group is its Own Worst Enemy" would be interesting observations at any time, but putting (2005) after it makes it clear the leading work that it was and how universal the observations may be.
HN's convention of putting years on titles is definitely not intended to devalue an article—on the contrary, historical material is always welcome here! One of the best functions of HN is that it helps spread knowledge of history.
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.
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 people, criticize concepts.
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.
Don't go after people for using it, it might not be their choice. But do push back on apologists and promoters.
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.
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
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.
> All of the ways in which I was actively participating in the exclusion of women from STEM.
How does this train of thought cross one's mind, and be determined as valid and acceptable for a blog post? What reality are you living in?
Mockery is a very effective signalling mechanism and censoring it to comply with US corporate correctness seems a bit overbearing, to be honest.
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.
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".
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. 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.
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.
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?
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.
http://shiny.link/QpGMwJ
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?
> 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.
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.
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.
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.
> 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.
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.
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."
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.
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
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.
> 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 a 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.
> 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; while female hackers 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).
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.
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.
https://news.ycombinator.com/item?id=35663742
FWIW, I never experienced the inverse when talking to Java developers.