The Pervert's Guide to Computer Programming Languages - SXSW

Vulk Coop6 HN recommenders · 2019–2025
28K views · talk · evergreen · Uploaded 2017-03-28

A SXSW talk by W Watson that uses Lacanian psychoanalysis, with nods to Zizek, to critique popular programming languages. It argues that people choose and defend languages for emotional and ideological reasons rather than rational ones.

HN recommends it as an entertaining and eye-opening look at the irrational psychology behind language preferences, though some note it is not scientifically precise.

Watch on YouTube

15 comments from Hacker News

@chickenfries2019 · in “IBM releases Elm-powered app”

I literally have never experienced a bug because of the existence of Math.random(). I don’t think I’ve ever used it outside of a coding interview. Similarly, I don’t spend time debugging runtime errors caused by document.querySelector()? If I do it’s usually only once when I write the initial query. I don’t understand your last argument: why would I divide by 0? Everyone’s relationship to their tools of choice has an emotional component. Check out this talk, you might find it interesting: “The Pervert’s Guide To Programming Languages” [VIDEO]

RecommendsView on HN
@mettamage2020 · in “The Pervert's Guide to Computer Programming Languages (2017) [video]”

Psychoanalysis: psychologists that don't do experiments, according to my university. Because of this they were briefly covered during one lecture and then completely tossed aside. Psychology != experimental psychology Yes, experimental psychologists have a field that almost completely crumbled, but at least they (1) admitted it and (2) some of them try to conduct science and succeed at it (most don't succeed unfortunately as virtually nothing is reproduced). So how to deal with psychoanalists? What I did: see them as entertaining inspiration for philosophical thoughts. But you can also skip to his section "why psychoanalysis" [1]. I wasn't impressed. Also, those bullets are questionable. So beware: in my opinion, this talk is not precise in terms of scientific accuracy, but it might be fun to use as an inspirational source. [1] [VIDEO]

@DonHopkins2020 · in “I’ve Consed Every Pair”

To its credit, Clojure is also a Sadistic Perversion Language that "Injects itself into the corporate scene, then subverts from within." [LINK] [VIDEO] [LINK]

@DonHopkins2020 · in “History of Logo”

Hey, how about throwing in a perverted, fetishistic, masochistic programming language like FORTH, too? ;) Where do you think Logo and Snap fit into the three basic mental structures of psychosis, perversion, and neurosis, as W Watson describes in "The Pervert's Guide to Programming Languages"? [LINK] [VIDEO] [LINK] I have hope that Snap! has transcended the self-indulgent Turing Tarpit of Melancholy Languages like Scheme, Lisp (which spawned Scheme during a hysterical event), Smalltalk, and languages that never were, as described on the penultimate page. ;) Snap! strikes me more as a Hysterical language, frantically pursuing the object of desire, in pursuit of the perfect syntax. >Hysterical Languages: Hysterical development lends itself to languages that facilitate endless refinements in the code base. The delivered code is never good enough, not merely because of pragmatic reasons but often because of ascetic reasons. The final goal of capturing the elusive domain jargon [59] seems just around the corner, where just one refinement may perfectly represent the domain. Within the hysterical languages there can be two extremes. One extreme is to work towards the capability to easily represent any aesthetic. In this extreme the work and enjoyment are in the development of the language itself [60]. The other extreme is to consciously implement the aesthetic using the language as is [61]. This extreme bends the language to look more aesthetically pleasing. Somewhere in between are

@qu4ku2020 · in “A look at modern PHP”

If you want to know why-the-hate watch this[1] talk — one of the best and eye-opening talks I've ever heard. It has nothing to do with the language itself and everything to do with the user of the language. [1] The Pervert's Guide to Computer Programming Languages [VIDEO]

Strongly recommendsView on HN
@DonHopkins2020 · in “Buttplug: An open-source software suite for teledildonics”

Hi Kyle: I did know the answer but I just had to ask! ;) Come drop in on the epic Emacs -vs- VI battle going on in the Bill Joy thread. VI can't hold a candle to Emacs when it comes to teledildonics. You testimony might be able to convince a few lost souls to cross over. Emacs is ALWAYS in insert mode. The way you insightfully psychoanalyzed the personalities of programmers of different languages in your deldo demo suggests to me that you might enjoy W Watson's "The Pervert's Guide to Programming Languages": [LINK] [VIDEO] [LINK]

RecommendsView on HN
@73737373732020 · in “Extremist Programming (2012)”

See also 'The Pervert's Guide to Computer Programming Languages', specifically the "Fetishistic Languages" part: [VIDEO]

@diggan2021 · in “Python vs Common Lisp, workflow and ecosystem (2019)”

> There are some famous examples As someone new to the ecosystem of Common Lisp and in general a bit sadist (ref [VIDEO] ), could you share which ones these are so I can enjoy not understanding them at all? Edit: I see now after I made my comment you added examples, thanks :)

@jolux2021 · in “Go proposal: new package to provide generic slice functions”

I don’t think masochism is inherently negative and I did not mean to insult. For that I apologize. I was trying to characterize in a humorous fashion a difference between what I perceive to be the stated aims of the language and the experience of actually writing it. It was also an oblique reference to this talk which is one of my favorites: [VIDEO]

RecommendsView on HN
@mwattsun2022 · in “Wrapping Up 2021. Leaving C++”

Since the author is open up front about their OCD issues, this talk immediately came to mind. It's a bit of an elaborate tongue-in-cheek joke, but I found it personally helpful for thinking about why a choose a language. Pervert in this context does not mean sexual deviancy. In the Lacanian sense, a pervert is a person who enjoys being a vessel of the rules. The Pervert's Guide to Computer Programming Languages - SXSW [VIDEO] The Pervert's Guide to Computer Programming Languages Psychoanalysis and Software What are the issues with selecting a programming language? • Which programming language should we choose? - Just saying: 'use the right tool for the job' begs the question • Why are there over 1000 programming languages? • How do we critique a programming language? • Why do language designers create new programming languages? • Rational reasons • Maximize expression while modeling: • a specific problem • a broad range of problems • Psychoanalysts: "Many decisions are not rational" • Programming language choice can be rational, non-rational, or a mix • Use Jacques Lacan and Slavoj Zizek's critical theory • Critique non-rational decisions • Discover ulterior motives (ours and others) • Explain the diversity of language options Jacques Lacan • French psychoanalyst and philosopher • Extremely cryptic • Preoccupied with desire and enjoyment • Popularized the mirror image, the Big Other, and the triad of the Imaginary. the Symbolic. and the Real • Believes all humans fall into th

RecommendsView on HN
@m30472022 · in “Java’s Cultural Problem”

I haven't programmed in Java in many years, except for making DAGs for Storm and a authorization metalibrary that none of the "real" Java programmers liked. Paradoxically the most sccinct statement of dislike concerned my choice of arraylike class: "THAT'S WRONG!". The Java programmers had source control, just like the rest of us. But their Maven configs weren't under source control, and they wouldn't help the rest of us with ours. I've concluded that I'm indifferent to Java, but not so good with Java programmers. There's a big ball of puzzling contradictions in the above. Have you heard of Lacan or Zizek? Well. Poetically speaking, I'll paraphrase Tom Lehrer and opine that "Java programmers must feel like a Christian Scientist with appendicitis". In my opinion: remember that. They've build a lot of ritual around notions of control and deliberativeness (that array problem). They're Catholic or Orthodox, really. The JVM is supposed to be "safe", and I have to ask: does the communion wine really turn to the blood of Christ? My father was a psychiatrist. I am well aware that Dr. Tim Leary was a pioneer in personality diagnosis, having found "The Interpersonal Diagnosis of Personality" on my father's bookshelf. I analyzed precinct level voting patterns, and they exist; but the question "is it something in the water, or new car smell?" remains vexing and unsolved. There is something that happens when people program in different languages with different tools, especially in groups.

@jimwhite422024 · in “"No way to prevent this" say users of only language where this regularly happens”

Here's an attempt to explaining the irrational part of programmers deciding which programming language to use. Part of it goes into more detail on ideas like C programmers insisting 'on the danger because they cannot stand the possibility of the danger being taken away from them'. "The Pervert's Guide to Computer Programming Languages" [VIDEO] It's pretty out there, but I thought also interesting.

RecommendsView on HN
@m30472025 · in “Reversing the fossilization of computer science conferences”

_The Pervert's (Lacanism) Guide to Computer Languages_: [VIDEO] or if you're old school or your father was a shrink you could use the Leary Wheel from his _Interpersonal Diagnosis of Personality_. That would change the dynamic. Some might object: "psychohistory!" What are we doing here anyway? And, what are we meant to be doing? Where is the "philosophy of computer science"?

@m30472025 · in “AI therapy bots fuel delusions and give dangerous advice, Stanford study finds”

Thank you everyone for the love. I read Robert Anton Wilson and Philip K Dick many years ago. I've been observing a recurring feature in human thought / organization ever since. People in this thread have done a pretty good job with the functional psychosis part, but I encourage considering percept / concept as well: what this is is the notion that what we see influences our mental model, but it works the other way as well and our mental model influences what we're capable of seeing . Yes, sort of like confirmation bias, but much more disturbing. For example, in the CIA's online library there is a coursebook titled _Psychology of Intelligence Analysis_ (1999) and one of the topics discussed is: "Initial exposure to blurred or ambiguous stimuli interferes with accurate perception even after more and better information be- comes available." Particularly fascinating to me is that people who are first shown a picture which is too blurry to make out take longer to correctly identify it as it is made clearer . [LINK] My father was a psychiatrist. I'm interested in various facets of how people come to regard each other and their surroundings. I'm fascinated with the role language plays in this. I personally believe that computer programming languages and tech stacks provide a uniquely objective framework for evaluating the emergence of "personality" in cultures. "Diagnosticity is the informational value of an interaction, event, or feedback for someone seeking self-knowledge." [LINK

@lemonwaterlime2025 · in “Perl's decline was cultural”

Rather than its "decline was", Perl's existence is cultural. All programming languages (or any thought tools) are reflections and projections of the cognitive values of the community who creates and maintains them. In short, the Perl language shares the structure of the typical Perl dev's mind. A shift to Python or Ruby is fundamentally a shift to a different set of core cognitive patterns. This influences how problems are solved and how sense is made of the world, with the programming languages being tools to facilitate and, more often than not, shepherd thought processes. The culture shift we have seen with corporations and socialized practices for collaboration, coding conventions, and more coincides with the decline of a language that does in fact have a culture that demands you RTFM. Now, the dominant culture in tech is one that either centralizes solutions to extract and rent seek or that pretends that complexity and nuance does not exist so as to move as quickly as possible, externalizing the consequences until later. If you've been on this forum for a while, what I am saying should seem familiar, because the foundations have already been laid out in "The Pervert's Guide to Computer Programming", which applies Lacanian psychoanalysis to cognitive patterns present in various languages[1][2]. This explains the so-called decline of Perl—many people still quietly use it in the background. It also explains the conflict between Rust and C culture. As an aside, I created a to