7 ms·
From the video... Psychopath Languages: Javascript, PHP, VBA, and SQL Masochist Languages: C, Assembly, Ada, Brainfuck, and Factor Sadist Languages: Perl, Cl
by vesche 6y ago
From the video...
Psychopath Languages: Javascript, PHP, VBA, and SQL
Masochist Languages: C, Assembly, Ada, Brainfuck, and Factor
Sadist Languages: Perl, Clojure, Erlang, and Regex
Fetishistic Languages: Erlang, Smalltalk, Elixir, and Factor
Obsessional Languages: Java, C++, Haskell, Scala, Go
Hysterical Languages: Python, Ruby, C#, Prolog, Elixir, and Matlib
Depression Languages: COBOL
Melancholy Languages: Lisp, Scheme, Smalltalk
- wanda 6y agoAs someone who has primarily worked with Perl, JavaScript, SQL during their career, and who has a penchant for regular expressions, I'm a sadistic psychopath. Super. I mean I've been told I'm pretty unemotional, but sadism would definitely be a new development.
- pstuart 6y ago> sadism would definitely be a new development I guess that might depend upon your regexps and how gnarly/undocumented they are :-)
- thyrsus 6y agoWas it not perl that introduced the documentation feature to regexp (the extended "x" flag)?
- raiph 6y agoI think Perl got it in 99 or 2000. The only other two possibilities are Ruby or PCRE. But I think they were following Perl rather than leading at that time. ---- Raku's reinvention of regexes threw away the x flag. Instead comments are always supported. And whitespace is insignificant. ---- Except when one explicitly asks for it to implicitly be significant. Imo this simple maneuver is shockingly sweet, the sort of thing I'm glad Larry Wall saw, with his usual piercing clarity, is brain-dead obviously precisely the right thing to do: rule declaration { <declarator> <name> '=' <value> } The above declares a `rule` which is like a regex except it doesn't backtrack between atoms, and, if there's whitespace between atoms, it treats that as a tokenizing boundary. So, for example, whitespace can appear in the input where it appears in the pattern, and tokens corresponding to the atoms (`declarator`, `<name>`, etc.) can't run into each other unless one is comprised of alphanumerics and the other non-alphanumerics. This is precisely how humans expect things to work; `let foo` must have a space between `let` and `foo`, but `let foo=42` is OK because `=` is a non-alphanumeric. Simple. Sweet.
- DonHopkins 6y agoRemember, he's using the Lacanian / Zizekian definitions of terms, which are a lot different and more nuanced than their ordinary definitions, so you're probably the "good kind of sadist". ;) Lacan ironically classifies Marquis de Sade as a masochist! From the extended paper: https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuidetoComputerProgramming-ThePaper.pdf https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid... Pervert, in the Lacanian definition, actually means a person who enjoys being a vessel of the rules. Zizek identifies the method of discourse that the psychoanalyst uses as the pervert’s discourse, because the analyst sits in the position of the object of desire for the hystericized subject. This means that the analysand [the person being analyzed] projects their ideals onto the analyst during a process of questioning known as transference. When we use analysis to determine why we use a programming language, we are operating in the analyst's discourse. It is important to have a basic understanding of Lacan’s terms (such as perversion) in order to understand the cultural critiques of Slavoj Zizek and other Lacanians. “Thus, in psychoanalysis "perversion" is not a derogatory term, used to stigmatize people for engaging in sexual behaviors different from the "norm."”, Bruce Fink. A Clinical Introduction to Lacanian Psychoanalysis: Theory and Technique (Kindle Locations 2460-2461). Kindle Edition. “The Other's desire or will is accepted by the masochist instead of the law, in place of the law, in the absence of the law. As Lacan mentions, the Marquis de Sade (better known as a sadist, but in this instance manifesting decidedly masochistic tendencies) pushes his mother-in-law, Madame de Montreuil, to the point where she expresses her will that Sade be punished. It is her desire or will that has to serve Sade as a law. Not the law, but a law.”, Bruce Fink. A Clinical Introduction to Lacanian Psychoanalysis: Theory and Technique (Kindle Locations 2805-2808). Kindle Edition.
- rhizome31 6y agoMe too, but I'm also a hysterical fetishist. So the more programming languages you use the more insane you get! Seems pretty accurate ;-)
- wolfgke 6y agoWhere do Nock and Hoon belong (from Urbit, for those who are out of the loop)?
- invalidOrTaken 6y agoBoth require either pitiful naivete or admirable courage...wherever those go.
- tomrod 6y agoDelusions of grandeur? /s
- samatman 6y agoHoon is a sadistic language implemented by a hysterical personality.
- deleted 6y ago[deleted]
- vrotaru 6y agoThey both out of the chart!
- bitwize 6y agoSubjecting Urbit to Lacanian/Žižekian psychoanalysis is like feeding Zippy the Pinhead quotes into ELIZA, just without the computer.
- DonHopkins 6y agoFORTH is definitely a masochistic language by every definition.
- dleslie 6y agoHaving watched the video, read this post, and written serious amounts of non-trivial code in Javascript, PHP, SQL, C, Assembly, Perl, Regex, Java, C++, Python, C#, Ruby, and Scheme... I don't disagree. The "melancholy" hit especially hard.
- type0 6y ago> The "melancholy" hit especially hard. Romanticism of Lisp: how awesome it could have been if I were writing this on a modern Lisp machine.
- dleslie 6y agoI use Emacs in no small part because of elisp... Oh dear.
- m3047 6y agoI think romantically of MACRO-32 and the VAX silicon it ran on. (I have a CVAX2 chip pressed into a luggage tag somewhere around here...)
- pdr2020 6y agoI disagree on the Javascript count, specifically modern, statically typed Javascript. I might choose another language for perf characteristics that JS cannot match, but otherwise Javascript is a truly expressive lang right now.
- chx 6y agoDo you mean TypeScript / Flow / Dart or did some version of ECMAScript I am unaware of introduce a type system?
- deleted 6y ago[deleted]
- rfrey 6y agoI wonder what moved Clojure from melancholy to sadism? Hickey's glasses, probably.
- closeparen 6y agoThe slide says, "Injects itself into the corporate scene, then subverts from within."
- ngcc_hk 6y agoMiss APL, (or K etc.), Pascal and Fortran and Algol 68 ...
- xenihn 6y agoWhere's Rust and Swift?
- travisgriggs 6y agoAnd Kotlin as well?
- deepsun 6y agoLook how beautiful and yet strict it is, and how other java folks suffer! Sadistic hysteric it seems.
- pron 6y agoI'd put Rust in the obsessional camp and Swift in the hysterical. I'd put Haskell in both camps.
- jamil7 6y agoThe way the community talks about doing things the "swifty" way is very reminiscent of the way the python community talks about the "pythonic" way of doing things, I've used both languages extensively so maybe I fall into the hysterical camp. Swift falls a little into the obsessive category too.
- bryanrasmussen 6y agoObviously Lisp, Scheme, and Smalltalk are not melancholy languages because you are only melancholy about them when you are not using them. They are perhaps narcissistic languages, or obsessional.
- travisgriggs 6y agoWell said. Used to be a die hard Smalltalker (with a strong appreciation for my Lisp (esp CLOS) cousins). Now I get by doing Swift, Kotlin, Python, and a bit of embedded C. Life feels dirtier now.
- rhizome31 6y agoNot sure why Erlang is in the sadist category, along with Perl and Regexp, since it's one of the most readable language I've encountered. I get the fetishist part as it emphasizes a specific paradigm but sadist seems unfair. It might be because the syntax is slightly unusual but it's in fact quite simple.
- wwatson 6y agoThe sadist (causing anxiety to the other in order to get the other to announce the rules) wants the other to admit their impotence (in the way that the other develops software). The erlang community wants the other to admit that they can't develop software that has nine nines of availability.
- DonHopkins 6y agoIsn't it sadistic the way Perl and Bash are so ideal for developers gaining control over their employers and ensuring job security by making themselves indispensable (forcing their employers to admit their impotence of firing them) by writing obscure unmaintainable code that only they can understand and modify? You can do that in any language, of course, but Perl and Bash are are optimized for it. While the other hand, Java is designed to appeal to management by making software developers fungible easily disposable worker-bees.
- b2gills 6y agoI've heard about a merger between two companies. One use Java, the other used Perl. At some point both teams were told that they had to add a particular feature. The Perl team was done well before the Java team. This was a story from one of the Perl trainers. I don't remember enough about the rest of the video in order to find it online.
- lizmat 6y agoIf we're talking about the same thing: this was about merging their databases, so that either could sell the other company's inventory. Both had an XML-interface for affiliates. It took the Perl team about 3 weeks to be able sell the other company's inventory using the XML-interface. The other company at that point hadn't agreed on a date for a initial design meeting yet. By this, the company of the Perl team almost doubled its turn-over in 3 weeks. The other company ceased to exist a few years later, with most of its staff integrated in the company with the Perl team.
- xzel 6y agoMatlab should be in the Hysterical, Psychopath, Masochist and Sadist categories. Worst time I've ever had writing something non trivial was in Matlab. I once ran into a bug in their GC that was apparently 5+ years old and had to time line to fix. For context this was about 8 years ago and I was asked to do it in Matlab for a neuroscience lab I was working for. I would have chosen C++ or Python and interfaced with the C++ binaries. Edit: Misread the above post. He said Matlib not Matlab. Not sure if that was a type or just referring to the plotting library, but my feelings towards Matlab still stand!
- WesternStar 6y agoIts interesting to me to reclassify language schisms slash internal wars in this context. The C programmers(masochists) vs the C++99 programmers(Obsessives) vs C++11 programmers(Obssessives who want to move to Hysterical). The Raku vs Perl split as a move toward sociopathic behavior. The resistance in go to generics as an aversion of the masochistic to the hysterical. Its super fun.
- jdoege 6y agoI view the Raku vs. Perl split as schizophrenic conflict resolution.
- WesternStar 6y agoPrivate equity has been making millions selling the parts of a company for more money than the whole. I don't see how that split is any different.