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.
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.
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.