The pervert's guide to computer programming languages (2017) [video]
youtube.com
youtube.com
Psychopaths: I don't care about rules, types, or beauty, just get it done (JS)
Obsessives: a little monotony now avoids a lot of pain later (go, java)
Masochists: Look at how disciplined I am! (C)
Sadists: Look at how impotent everyone else is! (perl, regex)
Hysterics: Look at how beautiful this code is! (python)
Fetishists: Have you tried more X? (objects, abstractions, types) (smalltalk, erlang)
Melancholy: Oh, I miss the days when I could write an entire application in 200 lines of Lisp...
Added talk to the watch later list.
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
Super.
I mean I've been told I'm pretty unemotional, but sadism would definitely be a new development.
I guess that might depend upon your regexps and how gnarly/undocumented they are :-)
----
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.From the extended paper:
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.
I don't disagree.
The "melancholy" hit especially hard.
Romanticism of Lisp: how awesome it could have been if I were writing this on a modern Lisp machine.
I might choose another language for perf characteristics that JS cannot match, but otherwise Javascript is a truly expressive lang right now.
Sadistic hysteric it seems.
They are perhaps narcissistic languages, or obsessional.
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.
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.
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.
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!
If you're interested in actual psychology of programming languages, there is a small but growing research community at the intersection of programming languages and software engineering. The focus is mostly on usability research a la human-computer interaction, but there's also work on community psychology, etc. applies to programming languages and software engineering. See, for example, https://ieeexplore.ieee.org/document/7503516
At the end of the talk, he mentioned that Paul Graham writes poetically about Romantic Languages, and classifies Lisp and Scheme as Melancholy Languages, but he would also classify Lisp as a Hysteric Language, and COBOL is a Depression Language. ;O
From the paper:
https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid...
Other Categories of Enjoyment: Based on the subject's relationship with the object of desire, there are various other categories of enjoyment that can be applied to languages. Depression within Lacanian psychoanalysis can be described as the stopping up of circulation around the object of desire. With depression, the object is lost and enjoyment is retrieved from the reminiscing of the loss. With melancholy the very memory of the object is lost (a loss of a loss) so the enjoyment comes from the romantic attitude with respect to the history of the language.
"Psychoanalyst’s Rhetorical Question
Psychoanalysis can take a pragmatic stance when compared with other stances concerning the ontological status of the mind. A key question psychoanalysis addresses is the reality of the causes and effects of the subconscious. A provocative question here would be: ‘ Is sexual trauma completely free, or must it be compensated for?’ One form of compensation would be what psychoanalysis calls ‘the talking cure’. The implicit argument here is that the unconscious is real if it has real consequences. Computer scientists are concerned with the mind only in so far that it can be modeled, hence the question: ‘ Can the target pass the Turing test?’. Cognitive scientists are preoccupied with the scientific aspect of the mind to the point that the most relevant question to the others in the debate is: ‘Can you repeat your findings?’ Economists, are like the cognitive scientists in that they want repeatable findings but they also want to allow for agents to adjust to their environment including the fact that they are being measured. This means that economists and game theorists pose the question: ‘Can you create a strategy?’, where strategy is defined as those decisions that take other people's decisions into account. Finally, philosophers are preoccupied with the ontological status of the mind itself, and therefore ask the question: ‘C an you locate first person experience?”, while the closely related cultural theorists are more concerned with: ‘Can you create or critique an ideology?’" https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid...
https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid...
Loomio:
https://en.wikipedia.org/wiki/Loomio
>Loomio is decision-making software designed to assist groups with the collaborative decision-making process. It is a free software[3] web application, where users can initiate discussions and put up proposals.[4][5][6][7] As the discussions progress to initiating a proposal, the group receives feedback through an updatable pie chart.
Here is a talk by W Watson (the same guy who gave this talk) about Loomio, and its background, history, and purpose, as it relates to asynchronous group decision making!
Austin Software Co-operatives - Video Recap: Economic Update - Enabling Worker Coops
>In May, we will discuss a 60 minute long video from Economic Update on Enabling Worker Coops - https://www.democracyatwork.info/eu_enabling_worker_coops Please watch the video prior to the 7pm call to have some background. We are looking forward to discussing this topic with the group!
>Software co-operatives and meritocracies are more complex than you might think.
>These concepts sit on the intersection of self-organizing groups, capitalism, consultancies, meritocracies, law, and ethics. Help us discover the best way to structure a software co-operative.
https://www.youtube.com/watch?v=8m397EHORPI
https://www.democracyatwork.info/eu_enabling_worker_coops
There have been some HN postings about Loomio:
incidentally you might enjoy this paper
https://web.ics.purdue.edu/~plotnits/PDFs/ap%20lacan%20and%2...
>I don’t usually recommend movies, but I really got a lot out “The perverts guide to ideology“
>Essentially it’s a well presented theory that any particular ideology is a sum of components that can be combined to create a complete undeniable way of living. Nationalism, ethnicity, religion, atheism, capitalism, socialism (and many others) are all components that can be combined in different proportions to create a complete ideology. Like a cooking recipe. The interesting thought is that no matter how one combines the variables, they converge to the same point. Which is, you must think and behave like we do, or you will be cast out. The filmmaker presents societies as swinging between the extremes of pure capitalism to pure communism, with the wealthy always maintaining an advantage. Interesting stuff.
That reminded me of Jonathan Rees' a la carte menu of features or properties of "object oriented programming" ideology (or objectology):
http://www.paulgraham.com/reesoo.html
"Because OO is a moving target, OO zealots will choose some subset of this menu by whim and then use it to try to convince you that you are a loser."
I'd love for Slavoj Žižek to do "The Perverts Guide to Objectology”!
Fun fact, Zizek came in a very close 4th place for President of Solvenia in 1990. I was shocked that he almost became a legitimate president back in the day.
It's kind of out-there but anything that gives a wider view of the choices programmers make might be useful.
Edit: Watching a bit.
I would view the quandary the presenter is discussing thus.
Human being are both power-seeking, ego-gratifying being and "rational", logic-using beings.
Now, human communicate with language. And a given "speech act", is not going to a pure exercise in logic or a pure exercise in power-seeking but some combination. Then, consider that humans interact with discreet "speech acts". A given speech act is going have an overt logical structure (simplify whatever math-y logic you wish) and it's going to involve some degree of power assertion. The power-assertion part by a fairly simple mechanism - identify yourself with a symbol and argue that symbol is "good" (and further associate symbols with each other, other symbols with "bad" and so-forth, all in dynamic process of power assertion). The most common example is a national flag but lots of judgements and colorations come in with this. Moreover, speech is a sequence of "speech acts" and first speech acts in a given context tend to "set the tone" - power is dynamic so the first speech act in a context to set the context the most.
So, with all that, I think it one can find a useful explanation why curly-bracket-semi-colon language and block-structured language have an apparently eternal "holy war".
Also, I think evolutionary game theory is a more coherent context for this. Evolutionary game theory allows the contrast between overt logic and self-seeking to be more clear and not have to call any process "irrational".
I do worry that if the idea that it's all about power-seeking gains acceptance that we will throw up our hands in the air and say it doesn't matter either way (because of an unconscious fear of being seen as a simple power asserter) about things that do matter and that we stop trying to improve things.
All C++ keywords (and one operator). Dunno where that properly places C++ in the list.
It’s lovely. For whatever reason, occupying my brain with my hands makes it easier to relax and focus attentively for an hour. Takes very little willpower.
Occasionally I find a YouTube video here and there, add it to my watch list, and stumble upon it later.
Always thankful when I find something promising.
Thank you.
Another job well done! ;)
https://en.wikipedia.org/wiki/Linda_(coordination_language)#...
this is me scratching my Dark Souls itch
Explains what languages correspond to which fetishes better.
You can see the author is very subtle and only say it at 0:55 while discussing some languages.
And plus it is Emacs!
Edit: NSFW
"Programming in Basic causes brain damage." -Edsger W. Dijkstra
In this model: psychopathy.
Or did people hear the words and redefine them later? The wanton disregard for existing structures really bugs me, perhaps more than it should. It's seemingly intentionally misleading, like they're afraid other people will find their conclusions too simplistic so they intentionally obfuscated the language to appear more sophisticated.
I see you're expressing a fair amount of indignation, and I acknowledge that. But are we supposed to gaze upon your indignation, or the indignity you claim to have suffered?
People who divide the world into different categories are kind of screwed when it comes to communicating their ideas. IMO this is one of the thorniest problems in all of communication.
Interestingly, the frequency of "perversion" was steady through that period, so in this case the psychoanalysts did attach a new meaning to an existing word ("the alteration of something from its original course").
But I wonder what fun I missed out on during the Great Prevert Spike Of 1807 -- that looks like it was quite a party.
https://books.google.com/ngrams/graph?content=prevert&year_s...
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.
https://en.wikipedia.org/wiki/Timothy_Leary#Legal_troubles
>On January 21, 1970, Leary received a 10-year sentence for his 1968 offense, with a further 10 added later while in custody for a prior arrest in 1965, for a total of 20 years to be served consecutively. On his arrival in prison, he was given psychological tests used to assign inmates to appropriate work details. Having designed some of these tests himself (including the "Leary Interpersonal Behavior Inventory"), Leary answered them in such a way that he seemed to be a very conforming, conventional person with a great interest in forestry and gardening. As a result, he was assigned to work as a gardener in a lower-security prison from which he escaped in September 1970, saying that his non-violent escape was a humorous prank and leaving a challenging note for the authorities to find after he was gone.
Still, one of the more fascinating HN finds today.
> I heard good things about big shops successfully using Windows Server for Web sites and running database. I need database, and Microsoft's SQL Server seems well respected, understood, popular, documented, stable, etc.
This clearly suggests a yearning for a father figure. What was your parents' relationship like when you were a child?
:|
People and animals typically have two parents, while nodes typically only have one parent!
Would a more humanistic collection API support both "mother" and "father" relations, instead of just a single "parent"? Or should they be even more inclusive, and support any combination or number of "mother" and "father" relations, and even user defined parental relations?
I'm joking, but maybe it would be a good addition to Brainfuck.
By the very implied claim that you make that mental disorders exist, you also imply that there is such a thing as ordered mental states, correct patterns of thought, and healthy logical reasoning. This is a bold claim! You would do well to have less black-and-white reasoning.
The "nearly" that I am exempting is for those things which are logically deduced from other things alone. While a person might reason incorrectly based on faulty premises, they are nonetheless using reason to do so, and applying it in a logical fashion (cf "formally formal" logic proofs). The right lesson to take away, I think, is that being logical, being consistent with empirical observations, and being uncontradicted by dialectic evidence, are three distinct things, and none of them are the truth, if the truth even exists.
Is a purely deductive field and have no connection to reality, it's all about dealing with pure mathematical objects.
> physics
Exists within a strong empirical framework, which allows us to verify models, not just construct them.
Critical theory gives no verification framework whatsoever to prove or omit its statements.
You may be interested in Aumann's Agreement: If two reasoners disagree, then either their reasoning differs, or their prior observations differ. It seems to me that typically it is the priors that differ. So why stigmatize folks for differing reasoning? Perhaps there is no good reason.
When I use a regular expression, I have an intent to model an understanding. Some people may not have that vocabulary at all - my spouse, for instance. Some may be far more fluent than I. The point is: I have observed my understanding to be disordered or incomplete. I further observe that is the default state until I apply a degree of attention.
"Stigma" is an inaccurate model for when we don't have the resources to align another's goals with our own - goals which must include a baseline of wellbeing for every other. Persons suffering harmful hallucinations - or other harmful mental states - should be treated for them, but "stigma" is a blunt indicator to avoid conferring responsibility on those persons - I hold it an error to involve hatred or indifference. Our deficiencies in understanding are pervasive. I would not ask my spouse to develop a regular expression. They would not ask me to perform a phrase from a Mozart sonata.
Nope. There are scientific, verifiable, objective things (and nobody cares about epistemological problems).
As other post told: rockets fly, internet connects etc.
And there are subjective matters, like ethics, aesthetics, art, beauty.
Now, subjective doesn't mean bad. What I really dislike is things like philosophy (which critical theory is part of), which tries to cover subjective opinions with obscure rhetoric to make them appear as facts.
https://en.wikipedia.org/wiki/The_Pervert%27s_Guide_to_Cinem...
Wonder if they apply retroactively.