3 ms·
Here's the thing though: The end user, the one who pays the majority of our bills, doesn't give a shit about your language choice, your code, your DB choice, or
by FussyZeus 10y ago
Here's the thing though: The end user, the one who pays the majority of our bills, doesn't give a shit about your language choice, your code, your DB choice, or any of it. They care if it works, if it's easy to use, and usually if it looks nice and that's about it.
People publish blog posts about how they aren't using MongoDB or aren't using PHP anymore because X and Y and do you know who cares? Pretty much no one aside from the pro PHP people who get mad or the anti-mongo people who point to it as justification for their part in a completely pointless argument.
Yes, low skill and approachable languages attract amateur coders because that's what they're supposed to do. PHP was designed from the get go to be an accessible web server language that anybody could use, that was the POINT so naturally anybody who can will use it.
I've seen brilliant PHP websites and I've seen utterly garbage C code, and both of those reversed too. There is a correlation between use of high level languages and skill but it is far from a fixed relationship, so to parade about someone's use of those to justify their arrogance as a programmer relative to people who are WELL AWARE that they are better than them just makes that person look like a windbag.
/rant
- whatshisface 10y ago>`The end user doesn't care.` They care about bugs, vulnerabilities, and third-party quality issues - all of which a bad language/framework will help you to have. Human beings are the original proof engines, so I'm sure that a great programmer could perform amazing type checking in any language. I'm sure they could also architect their way around Java's weak points with Abstract Factory Patterns, xor hand-tune their code for the JVM JIT to be only 1.9x slower than a naive C implementation (See: what they had to do for Minecraft). But, why? It's easier to learn the syntax for a good compiler than it is to implement one in your head...
- FussyZeus 10y agoYes, and you can also produce better electrical hardware with a $200,000 fabrication unit than breadboard and a soldering iron, but one of those is a lot more accessible to someone just starting out. I don't see the raspberry pi people being derided and mocked by Intel's engineers because they use such lowly plebian tools.
- VLM 10y ago"one of those is a lot more accessible to someone just starting out." Its interesting that this point comes up in a world containing useful google results for "try ruby" "try clojure" "try haskell" "try-python" "try scheme" but there are no useful google results for "try cobol" "try java" "try php" or "try visual basic". We can play a similar game with Koan style learning with very similar results.
- deleted 10y ago[deleted]
- yummyfajitas 10y agoThe end user cares when a SQL injection vulnerability takes down their site or when their site turns into a massive pile of tech debt for which any improvement takes weeks. I agree that PHP was designed to be a bad language but easy for noobs. That's the point. By having a low learning curve it has displaced vastly better choices. And that's why I'm suggesting we need to fight social hacks with other social hacks.
- sevensor 10y agoI think you're right on strategy (fight social hacks with other social hacks) and wrong on tactics (contempt and shaming.) While contempt and elitism might have challenged you to try harder languages, they're going to make a lot of people circle the wagons. I think we see this narrative a lot with Haskell. Although the Haskell community is reportedly very friendly once you actually try to work with Haskell, I've seen a lot of comments by its enthusiasts denigrating "lesser" languages. So I agree with the OP. There's not a lot to be gained by telling people they're stupid. By and large this just causes them to entrench their positions. (See also: electoral politics.) I think there's much more ground to be gained by deliberately blurring the lines (a different social hack.) Examples of this include Cygwin and optional type systems for dynamic languages.
- yummyfajitas 10y agoI'm not so sure it does cause people to entrench their positions. As an example within tech, sneering and contempt have enabled social justice to spread wildly. Look at how many projects/conferences have codes of conduct now, compared to a few years ago, and at how many technology companies are throwing money at diversity efforts. I don't know if it's the right strategy, but it's definitively not a strategy I can immediately dismiss.
- sevensor 10y agoI see your point about social justice, but I think it isn't a great example. While there were and are some committed racist and misogynist individuals in the world, by and large people as well as organizations were indifferent. They didn't have any position to speak of, and so they were blindsided and easily swayed when the shaming and contempt came around. They said "hey, that's not us, we're not like that!" and fell in line with the social justice position. Programming language communities, on the other hand, have a real investment in their language of choice. It's not that they're indifferent to the issue of whether PHP is a terrible language; they actively choose PHP, so when they're attacked they move to defend.
- Bartweiss 10y ago> The end user, the one who pays the majority of our bills, doesn't give a shit about your language choice, your code, your DB choice, or any of it. They care if it works, if it's easy to use, and usually if it looks nice and that's about it. The problem is that this doesn't mean every option is equally good for the end user. A lot of software that gets belittled is criticized for being a good way to provide a bad product. These are tools that are great for getting things done quickly and smoothly, in return for kicking the can down the road on reliability, security, or modifiability. Think of the small insurance companies which offer easy signup at low rates - and then don't come through when you file a claim. When people go out and produce lengthy essays on why Mongo is dangerous, it's often a response to seeing systems that work for now, but are likely to fall over completely sometime after the contract is done. When your database offers high throughput by not actually checking for successful writes, it's easy to hand over a performant system that's going to lose a bunch of medical records the first time a server fails. So no, the client doesn't know or care, but all too often that's because they're getting immediate benefit in return for delayed, probabilistic risk, and no one is telling them about the tradeoff. None of that is justification for being a jerk, or mocking actual people (obviously!) Nor is it a reason to pretend that Mongo is never a good database choice, or that PHP is never a good language choice. And you're right about the grossness of mocking beginning programmers for starting with approachable tools. But I object to the idea that the value of debates should be measured by whether users care about them. I'm not much interested in what my bridges are made of, but that's because I have faith that someone behind the scenes built them reliably. All too often, that's not the case in software.