4 ms·
I know Hacker news is hardly the place to disparage anything said by Paul Graham, but I have to ask: is anyone else turned off by his constant reference to "sma
by aerovistae 8y ago
I know Hacker news is hardly the place to disparage anything said by Paul Graham, but I have to ask: is anyone else turned off by his constant reference to "smart people"? Like in the first sentence of this essay, where he immediately declares:
> There is a kind of mania for object-oriented programming at the moment, but some of the smartest programmers I know are some of the least excited about it.
Is that supposed to convince me? "Oh, well, if he knows some smart people who are against it, maybe I should stop liking it, too, because I definitely want to fit in with the smart people Paul Graham knows."
It's such a common thing in Silicon Valley, it kills me. "Always be the dumbest person in the room. Surround yourself with people smarter than you." Like, do I have to ditch any old friends that don't make the cut? What does it mean for someone to be "smarter than me"? Do they have to have a higher SAT score? Do they have to play an instrument better than I do? Do they have to be more financially successful? Can I still learn things from people who are less successful than me?
I just really don't like the mentality of deeming someone "smart" and then using their personal preferences as an inherent argument. That's the fallacy of the argument from authority.
If you don't like OOP, great, carefully explain its shortcomings to me. And perhaps he goes on to do that. I haven't finished reading yet. I just wanted to stop after that first sentence and say that as an opener, I hate it.
- Daishiman 8y agoHowever crappy it sounds, there are people who have a hard time grasping relatively simple programming concepts, and then there are also engineers who are astoundingly intelligent and productive. It doesn't necessarily have to be attributed merely to raw intellect, but denying it isn't in line with reality. Having worked at many different companies you can definitely see how certain cultures, problem areas and technologies attract people with distinct intellectual bents and how that impacts development velocity. How much these talented people can leverage their skills is still dependent on the organization, but pretending those differences aren't out there or that you can't hire for these profiles is naive.
- aerovistae 8y agoI'm not arguing that intellect doesn't vary. I'm arguing against "smart" being the sole measure of who you should spend your time with, and against the act of anonymously name-dropping "smart people" doing something as support for your proposition.
- pdimitar 8y agoBut what would you do? Carry with you a book that has 100 definitions of "smart" and point people at the one you find apt for the current situation? Not trolling, I am genuinely wondering what would you do. It's not always appropriate to go on huge tangents explaining nuances, especially in casual conversational settings. You seem to be bothered by the fact that people use shortcut words which carry their own subjective context with them. But that's what natural language is, most of the time -- namely a dictionary compression where the dictionaries of the separate people vary.
- aerovistae 8y agoIt's not really about describing people as "smart." It's about using the argument from authority, and separately it's about the questionable notion that you should only spend time around people who are "smarter" than you.
- pdimitar 8y ago> it's about the questionable notion that you should only spend time around people who are "smarter" than you Oh, that I fully agree with. It's a very copy-paste, generic and bland advice that doesn't tell you anything. It's further made worse by the very obvious observation that everybody is smart in one way and dumb in another. That's what makes communication between humans fun and interesting in the first place. So yeah, fully agreed.
- sytelus 8y agoThis is not pg’s best. OOP was invented in academia as a way to scale software design by defining abstractions that you still keep in your head even after it becomes very large. You don’t need OOP to write hello world like many languages such as C# and Java enforces. To pg’s point that hello world becomes quite ugly and verbose. On the other hand I have known C programmers writing million LOC and bragging about never needing OOP features of C++. When I look in to their code I often find that they had just reinvented OOP in their own home brewed way in rather less deciplined and mediocre manner. But still they would consider themselves to be too smart to need OOP.
- pdimitar 8y ago> But still they would consider themselves to be too smart to need OOP. Please note that I fully agree with this part; I've met such programmers and then actively avoided them. But there's always the other side of the coin. You can reinvent your own mini-OOP for a specific scenario you need (recent example: utilize different data parsers depending on a HTTP response header and a top-level XML attribute in the response). And you can make sure you don't suffer from some of the OOP's undeniable problems -- like "brittle superclass". Ever since I worked with Elixir I had to do something like the above 5 times in total and was VERY happy with my own half-arsed OOP implementation because it allowed me to keep a strict control of things while still giving me the flexibility I wanted for the particular task at hand.