8 ms·
> Pick a language that most programmers consider weird but whose median user is smart This just comes across as arrogant. You can neither know how smart the me
by jstx1 5y ago
> Pick a language that most programmers consider weird but whose median user is smart
This just comes across as arrogant. You can neither know how smart the median user is, nor does it say much about the merits of the tool. It encourages some weird sense of superiority by putting yourself in a group that's exclusive and think they're smarter than everyone else. There are better ways to pick programming languages than trying to maximise your own pretentiousness.
- cpach 5y agoYeah that sentence felt quite weird. I’m not sure I would say that “smart” is a rigorously defined term.
- ncmncm 5y agoAgreed, it is self-congratulatory. Paul Graham essays decline in value exponentially with the number of times he mentions Lisp in them. He had one that went below 2^-20.
- gotts 5y agoWhy do you think Paul Graham essays decline in value exponentially with the number of times he mentions Lisp in them?
- andybak 5y agoEliza. Is that you?
- bqmjjx0kac 5y agoDo you feel like it is?
- pontus 5y agoI think a similar thing can be said about time. There were a lot of novel things to share in the early days, but these days it seems like his essays have taken a turn toward trite elitism. To be clear, I don't think this is specific to PG, but rather the case whenever someone feels the urge to continue producing for the sake of producing, nor am I saying that I'd be able to do any better. PG obviously has orders of magnitude more wisdom to share than me or most other people.
- tomasdore 5y agoNeeds to do a Daniel Day Lewis and go make shoes for a bit instead? (or whatever DDL is doing)
- ashtonkem 5y agoProbably a good idea for anyone that reaches the level of becoming a “public figure”. Log off, go do something with your hands, and come back in 4-6 months. Might reduce the incidence of formerly respected figures going full crank.
- stuaxo 5y agoYes ! Doing something outside of your bubble is great for learning some humility and G-d knows PG could do with some of that.
- quickthrower2 5y agoOnce your rich and have made it you can’t emulate hustle mode anymore. Sure you can shine shoes but in the back of your mind you know you don’t have to.
- ashtonkem 5y agoIt seems like the trend for the past ~10 years has been towards public figures slowly becoming cranks online. I have no idea why, but it sure seems to be happening a lot.
- ncmncm 5y agoIt is true of those with a Facebook or Twitter account, and it is because they need to get increasingly cranky to maintain the level of attention they have got used to. I doubt a change in algorithm could help much, but it seems worth trying more than once.
- ashtonkem 5y agoIt’s not been clear to me if having social media turns public figures into cranks, or if some other process is involved and social media merely observe their descent.
- yellow_lead 5y agoYeah, this data simply doesn't exist and trying to judge languages by their community will often leave you with variable perceptions, depending on many factors.
- KronisLV 5y agoI'm not entirely sure about that. Sure, it's probably not in good taste to claim that, however there are plenty of tricky languages out there that have steep learning curves but that are very capable in their own domains. Even in lieu of that bad taste or elitism, I'd still like to suggest that it takes more patience, self discipline and perhaps a tinge of being clever to pick up something like C, C++, Rust, Haskell, Lisp, APL, Prolog or even regular expressions than it does Java, .NET, Node/JavaScript/TypeScript, Python and others and I say that as a person who relies on the latter for the most part in their daily life. It's not that you have to be an outright genius to use any of them, but writing code in them well (for example, managing memory and avoiding C++ footguns) takes discipline and definitely could be applauded on some level, as could using APL, Prolog or regular expressions to efficiently solve problems in the few domains that they're actually good at and suited for. Personally, some of these views of mine formed after listening to a podcast that talked about APL and someone's experience with it: https://corecursive.com/065-competitive-coding-with-conor-hoekstra/ https://corecursive.com/065-competitive-coding-with-conor-ho...
- jstx1 5y agoI think that you're moving the goalposts a bit by focusing on difficulty or complexity. Yes, of course some languages are more difficult than others. But the difficulty of a language is separate from the intelligence of the users of that language.
- eckesicle 5y agoI think it has to do with active choice. The first programming language that people are introduced to are unlikely to be the "best" for them. The first programming languages are disproportionately java, c#, PHP these days. By extension the talented people mostly move on as they learn new and interesting ideas. This leaves the pool of developers poisoned by the mediocre or bad people who spend their entire careers being expert beginners in one domain. People come to the more exotic languages, like Haskell, as their second, third or fourth language. By default the average developer in that pool will just be much much stronger. Just because the average developer in a language is bad it doesn't mean that the language itself is bad.
- amelius 5y agoI think by "smart" they mean "reasonably smart" or "smart about the programming language they pick". Some people just don't care and work 9-5 programming jobs without caring about what language they use as long as they get a paycheck.
- woofie11 5y agoNo. He means "clever" or "inquisitive." The way I think about programming changed a lot from having used different programming paradigms. Many programming paradigms have little real-world value, but they do make you think about computation, abstraction, and lots of other concepts differently. That grows your brain in ways which are useful when you go back to your 9-5 Python/JavaScript/Java/C#/etc. I no longer have time to do these sorts of deep dives, but I did this a lot when I was young, and I'm a much better programmer for it. I'd look at what he's writing over how he communicates it. Perhaps the language might be arrogant or self-congratulatory, but it benefits you more to look at what he's saying than how he says it. (responding to thread here; you obviously didn't make this mistake)
- LAC-Tech 5y agoI'm a javascript fan. I think it's a good language and for the most part I enjoy programming in it. However I am not going to argue that the median javascript user is as smart as the median ocaml user. 99% of people learn javascript because they have to. Most people learn ocaml because they are enthusiasts. They're interested in programming language concepts and becoming more effective.
- tasuki 5y agoWhy do you think JavaScript is a good language?
- Matthias1 5y agoI'm a big fan of Javascript. It runs everywhere, is easy to write, is brutally flexible. I would never call it a "good" language. It is an abomination created by the dev teams at 4 different browser companies over the course of 20 years with no coordination between them.
- runevault 5y agoAnd the original version was banged out in a very short time period to create a feature. Then everyone else just piled onto it w/o consideration for the consequences.
- Scarbutt 5y agoThere is a useful and practical small diamond hidden in the big ball of mud.
- mdp2021 5y agoThere's a good chance you misread it. I interpreted it at second effort as: "Pick a language that is famous for being an oddball but that has good credentials, since you have seen that people that to you are worth credit use it".
- ashtonkem 5y ago“Weird sense of superiority” is a very succinct way of describing most of PG’s takes on programming. I’m reminded of his argument about how “hackers” choose languages that let them type the fewest characters possible, an argument that seems empirically unfounded to me.
- klipt 5y ago> I’m reminded of his argument about how hackers choose languages that let them type the fewest characters possible Ah yes, just like real writers write in Ithkuil, a language constructed to maximize the meaning encoded per syllable.
- toolslive 5y agoSome of PGs arguments against static typing (in hackers and painters, IIRC) were also completely unfounded. It turned out he was confusing static typing with explicitly having to type (keystrokes that is) the type of a variable or parameter. Utterly unaware of type inference.
- ashtonkem 5y agoStatic typing and inference aside, I find that his arguments about language verbosity and character count utterly without evidence. A quick review of the startup scene will show a wide mix of programming languages, including a lot of Java. It’s fine if that’s his preference, but the argument that the best programmers (“hackers” in his parlance) prefer what he prefers to be both self serving and contrary to actual real world evidence.
- SavantIdiot 5y agoI wonder how much coding PG does these days. He reminds me of Al Bundy, how Al constantly talks about his highschool football team years as his life's peak, 30 years after the fact.
- courtf 5y agoWhat is the most impressive programming feat PG ever accomplished? A Lisp dialect maybe? I sort of get the sense that he doesn't realize how many crazy talented (but not famous) programmers there are out there. He's got a microphone and is determined to keep using it to tell us how great his ideas are, but the audience has gotten a lot more discerning since the 90s when producing a CRUD app in Lisp could still be considered a feat.
- auggierose 5y agoThere is nothing wrong with admitting that a certain group of people is smarter than another one. I would be very surprised if the members of the group I did my PhD in were not much smarter than the average programmer.
- hit8run 5y agoYou think hiding behind academic trophys can raise your iq?
- auggierose 5y agoNo. I am saying that the IQ of academics is higher in the first place. Not in general, but in that group for certain.
- eimrine 5y agoSo, you think that hunting for academic trophys does not correlate with smartness? And the way to become smarter is cracking an IQ test to gain a high number to be hiding behind?
- chalst 5y agoRichard O'Keefe (2013), erlang-questions mailing list: Once upon a time (about 1992ish) in a land where the moles have beaks and swim and the deer jump on their hind legs (Australia), a certain computer science department (RMIT) decided that Pascal had reached its use-by date. What shall we do? What shall we replace it with? Set up a committee! I was on the committee. We set up a short list. (1) Scheme. Tiny language, amazingly capable, REPL so you can try things out, implementations for all the machines we cared about. And Rob Hagan at Monash had shown that you could teach students more COBOL with one semester of Scheme and one semester of COBOL than you could with three semesters of COBOL. (2) Miranda. The commercial precursor of Haskell. Melbourne University were also looking at this (or had already switched to it) which would make it easier to pick up some of their students. (3) Ada. Close enough to Pascal that our staff were comfortable with it and our material would not need major revision. A better Pascal than Pascal. Handled concurrency about as nicely as an imperative language can. What was the deciding factor? Schools. Our deliberations leaked, and we started getting phone calls from careers masters saying "if you go all theoretical [read: (1) or (2)] we'll tell our pupils not to study with you." http://erlang.org/pipermail/erlang-questions/2013-January/071898.html http://erlang.org/pipermail/erlang-questions/2013-January/07... Personally, I'd maybe not apply the adjective "smartness" here, but there is some sense in which some languages have better taste than others, and what drives language popularity is not usually good taste, and I interpret pg here to be saying he prefers to recruit programmers who show good taste in the languages they work with.
- mumblemumble 5y agoMy school started everyone with a semester of Scheme, followed by a semester of C. I don't have any sort of legitimate control group to compare to, and I'm obviously biased as heck, but I do still hold the impression that I and others who learned that way can learn new languages and programming techniques much more quickly than acquaintances who were fed a steady diet of Java or Python. Many of them, even 20 years on, still don't really have a firm grasp of what single dispatch is in the first place, which hinders their ability to use it well. Which is ironic, considering it's all they've ever known. I agree; I hate the "smart" perception. My guess is that, if there's anything there, it's just the gift of a stronger grasp of the fundamentals. Scheme brings you very close to the abstract foundation of computer science. C brings you very close to the technical foundation of computer engineering. I'd like to think there's a lot of value in starting out by establishing a firm foundation like that.
- User23 5y agoI've known a great many programmers over many years and I've observed some patterns I'll note below. I'm not hypothesizing on why any of this is and it could be for any number of reasons. However, neither arrogance nor a desire to maximize pretentiousness has struck me as one of them, except for a handful of the most immature persons who quickly grew out of it. Every single programmer interested in any language in the ML family or Haskell has considerably above average[1] intellectual horsepower. The syntax and type system can both fairly be called "weird." The Lisp programmers I've encountered are along a wider range. They've ranged from average to ML tier, the latter being the ones that, as PG observes, are more interested in "weird" features like macros, call/cc, and so on. And then you have extremely popular languages like C, C++, Java, JavaScript, Python, and so on. Virtually every programmer has used one or more of them to a significant degree, so the mean programmer using one of those languages is virtually the same as the mean programmer in the general population. This is expected since in cases like this the mean of a subset approaches the mean of its superset as the size of the latter approaches that of the former. Programmers who master C++'s template system are an exception to the above. They're also well above average. [1] In this comment everywhere I say average or mean I'm referring to programmers and not the general population. Average isn't bad, the average person here is quite bright for example.
- marcosdumay 5y ago> Every single programmer interested in any language in the ML family or Haskell has considerably above average[1] intellectual horsepower. Just to point that there's nothing strange or unexpected about this. You will get people that are more intellectual than average it you filter by any niche intellectual activity with no immediate non-intellectual reward. I mean, if you search for programmers that understand plant physiology, you will get the same effect. It basically means that smart people tend to be curious.
- tester756 5y ago>The Lisp programmers I've encountered are along a wider range. They've ranged from average to ML tier, the latter being the ones that, as PG observes, are more interested in "weird" features like macros, call/cc, and so on. I'd say that since there's lack of Haskell jobs, then non passionate people do not touch it since it's useless to them Passionate people check it out cuz other passionate people recommended it And circle repeats.
- p_l 5y agoWell, the current mode is to select by availability of cheap resumes (majority) or fashion (minority, hip places). Whik I'm not sure I'd always agree with PG, a recent anecdata I heard was a company selecting for Lisp because picking Python meant wading through mountains of fresh bootcamp grads with (quote) "overblown sense of their own capability" (unquote) - same applied to JS, less so to C#/Java. (Un)fortunately, the company noticed they didn't have resources to filter that, and decided that by going for "weird but capable" combined with global remote organisation they could filter for people experienced, or willing to experiment with weirder languages. Apparently ithe cost of having to sometimes implement things from scratch was lower than expected.
- TeMPOraL 5y agoI'd say it's obviously true and right. And it doesn't require assuming arrogance and pretentiousness. Niche languages, by definition, are not good investment if you're after a well-paying job. A niche language that requires understanding advanced programming concepts is, by definition, filtering for people who a) can understand those concepts, and b) have a non-monetary reason for doing so, which implies c) they're likely not faking it. Whether or not such people would be good software engineers is another topic. Software engineering encompasses more skills than just raw programming ability. But a proficiency in advanced niche language plus proficiency in a mainstream language plus some work experience? It's hard to imagine how this would not be a good signal for smarts and skills.
- tzs 5y agoWhat a strange argument. What I've seen in other fields is that when the people who are clearly smarter than me in those fields (whether by natural ability or by experience and hard work) tend to use different tools than I do it is usually because those tools are better for work in that field. They might also be harder to learn or use, but for those who can learn to use them well they end up being more productive than if they used the tools I am using. If I see just one smarter than me person using a particular tool for some task that I also do, it might be because they are using it as an intellectual challenge or for variety, but if I see a lot of smarter than me people using it for that task I've almost always found it is worth looking into it seriously to see if I should use it too.
- travisgriggs 5y agoMaybe the following would have been more appropriate? “Pick a language that most programmers consider weird but whose median user is curious and shows the initiative to explore strange new worlds of how to get things done.” I consider myself a very capable hack. I am not really very “smart.” But I am motivated to learn more. And to improve the craft of software solutions.
- tharne 5y agoOh c'mon. There are clearly languages where the median intelligence of the community members is higher than others -- I'm not a Haskell fan myself, but I have to concede that the community around Haskell is very obviously comprised of smarter than average people. Check out their IRC or Slack channel if you have any doubt.
- swman 5y agoI think it makes sense. For example, Erlang is a kinda weird (to me) language. Back in 2017, I went through a book on Elixir + Phoenix, and then spent some time going through Erlang topics. I mostly spend my day on mobile app and backend programming, in languages like Swift/Kotlin/Javascript/Go. I believe I learned a lot, and most of the people I encountered on those slacks and forums seemed a lot more experienced and capable. That's also because the language is kind of niche but powerful, so not everyone is starting out their career trying to print Hello World in Erlang. It is a language one would discover when trying to solve a specific problem, in my opinion at least. Therefore, there are less noobs like me and the people I encountered were super helpful and thorough compared to my experience on other languages.
- stuaxo 5y agoYup, it feels like my disillusionment with SV and PG are tracking, this is comes across as someone that likes the smell of their own output and wants everyone to know.
- axcaz 5y agoI disagree. The quote only mentions that the median user should be smart, which means that you can also learn from them if you are inexperienced. I also see no pretentiousness. With smart people hundreds of useless discussions are avoided in the first place. If you work in a popular language like Python that attracts all sorts of people, you have 10 preposterous technical and social discussions per day. I think this essay isn't supposed to be anything comprehensive about Lisp, it's just encouraging his target audience to consider other options.
- dqpb 5y agoI understand your sentiment. Back when Coursera first started I took a class where 10 minutes into the first lecture the teacher said something like “This is the basic 3rd year calculus you did in highschool”. This was discouraging because it made a qualifying assumption about both me and my highschool that was far removed from my reality. In the end, that detail had no bearing on the class, and seemed to exist only to humiliate me. But, many years later, I’ve learned I gain nothing from this kind of defensiveness, and simply keep a running list of things I’m “supposed” to know, but don’t yet. Of course, now that is a small list of very uncommon things, which itself shows how much I’ve progressed. Point being, digging in your heels only hurts yourself.
- lliamander 5y agoIn my experience there's a form of stupidity that comes from simply being incurious. Whether someone is interested in exploring languages outside the present set of mainstream imperative languages seems to pretty good indicator of that intellectual curiosity.