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 decide? • 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
Learning Objectives • Learn the fundamentals of Lacanian and Zizekian critical theory. • After this talk, you should be able to read Zizek without pulling your hair out • Apply the fundamentals of critical theory to your favorite computer programming language. • Start a holy war … (or stop one)
Part I Introduction to Psychoanalysis
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 the three basic mental structures of psychosis, perversion, and neurosis
Slavoj Zizek • Student of Jacques Lacan • Specializes in ideology • Most influential work: ‘The Sublime Object of Ideology‘ • Makes politically incorrect jokes/critic of political correctness • Believes our ideological symptoms and fantasies form in order to help us deal with antagonisms
Why the ‘Pervert's Guide’? • Based on the Pervert's Guide to Ideology • Pervert is a person who enjoys being a vessel of the rules. • Zizek calls the analyst’s method of discourse the pervert’s discourse • The analyst sits in the position of the object of desire for the subject. • The analysand projects his or her ideals onto the analyst (transference). • When we analyze programming languages we are operating in the analyst's (i.e. pervert’s) discourse.
Why Psychoanalysis? Isn’t psychoanalysis foolishness?
Psychoanalysis Outdated • Outdated model of the mind (replaced by the cognitive neurobiologist model), • Outdated therapy (replaced by drugs and newer behavioral therapy) • Outdated view of sexual repression (replaced by modern sexual permissiveness). • Computer science demonstrates a computational account of the brain which seems to leave no room for psychoanalysis. • Psychoanalysis is largely questioned Sigmund Freud
Psychoanalysis Updated • Lacan updates Freud's view of psychoanalysis • Speech act theory • Hegelian philosophy • Fundamental structures (psychosis, neurosis, perversion) • The Lacanian triad: imaginary, symbolic, real • Psychoanalysis is not for increasing well being but rather for the explaining of reality.
Speech Act Theory • The basis of the Lacanian psychoanalytic structures is speech act theory • A structure is a privileged and necessary concept at the center of a model of human understanding • Zizek believes Lacan holds the performative and reflexive elements of the speech act in a necessary and privileged position • Lacan believes early speech acts have an overwhelming effects on us • If you were to deny Lacanian theory, you
Why Do We Need Psychoanalysis? • Just as you should take other people’s rational decisions into account when making your decisions, you should also take other people’s irrational decisions into account when making your decisions • In this way, psychoanalysis is complementary to strategy. • Strategy (game theory) takes other people's rational decisions into account. • We can use psychoanalysis to take other people’s irrational decisions into account. • Irrational decisions are those decisions that go against the conscious preferences of the
PART II The Lacanian Model
What is Enjoyment (Jouissance)? • Jouissance is an ambiguous French word for enjoyment of rights, property, or orgasm • Lacan uses jouissance to describe a person’s relationship with the object of desire • Lacan's use is related more to Freud's ‘death drive’ (as opposed to the more well known ‘sex drive’) • Can be thought of as the child's game of peekaboo • This enjoyment is the enjoyment that comes from staging our own failure to reach the ‘object of desire’
Enjoyment is Confusing! Things to remember •Enjoyment does not mean pleasure or happiness! •Assumes that there is an object of desire. •The object of desire is not the actual physical object! •You can never reach the object of desire, but you can reach the target of desire (e.g. the physical object), but this creates dissatisfaction! •There are rules that regulate the minimal distance between you and
Lacanian Structures • Not part of the traditional DSM classifications that psychologists use to classify mental states • We are concerned with their effects on enjoyment
The Subject and the Other • Lacanian structures start in the early stages of a child’s development • Child originally has no distinction between itself and the primary caretaker • There are two stages of prohibitions (alienation and then separation) that regulate the child and the object of desire (a) • Alienation and separation are responsible psychosis, perversion or neurosis
• Subject never gains a normative relation with language. • Subject is never properly separated from their primary caretaker. • Delusions (e.g. voices or messages) permeate the subject's experience. • Engulfed in enjoyment • Primary mechanism is foreclosure, meaning the subject rejects things in reality. • Example: James Joyce
• Subject wants to complete the rules • Subject only experienced a partial separation (alienation) from the primary caretaker • Three sub-structures: fetishism, sadism, and masochism • Primary mechanism disavowal: the rejection of something seen and stored. • Example: Borat
• Fetish is an object that is linguistically related to the failure to name the primary caretaker's desire • The presence of the object adds relief to the subject's unconscious by staging the naming of the desire of the caretaker. • Example: You and a $20 bill
• Sadists don’t enjoy causing direct harm, but rather they seek to cause anxiety in the victim. • Hopes to force the victim to refine what they desire. • Refinement serves as proof for the sadist that the rules were announced • Example: The antagonist who ties the love interest to the train tracks
• The subject causes anxiety in the other by exposing themselves to harm • Other finds the event to be too much enjoyment • Other is provoked to announce the rules • Example: Marquis de Sade
• Category that the majority of humans fall into this structure • Separated into obsession, hysteria, and phobia • Preoccupied with what others think is right • Primary mechanism is repression: reality is accepted, repressed, then returns disguised (aka symptom).
• Seeks to neutralize the other and possess the object of desire • Early speech acts cause the obsessive to forestall the encounter with the object of desire • Primarily motivated by guilt (from failing to adhere to the rules) • Example: Hamlet
• Wishes to be the object of desire for the other • Early speech acts cause the hysteric to move too fast towards the object of desire and they overshoot it. • Keeps the other unsatisfied using questions • Primary motivator is repulsion, especially at being possessed or captured by the other. • Example: King Richard II
Part III Psychoanalysis and Programming Languages
Psychoanalysis and Programming Languages • Use psychoanalytic enjoyment and Lacanian structures to critique the choice of computer programming languages • Programming languages use rules that lend themselves to specific structures • Any programming language is compatible with any structure • E.g. if a hysteric uses an obsessional language, the hysteric will use the obsessive language as if it were a hysterical language.
Psychotic Languages • A psychotic or sociopath language does not laboriously weigh the rules before creating an end product. • Poor methods of abstraction (i.e. language disturbances) • Weak or loose typing (or automatic implicit type casting) • High-functioning psychotics (sociopaths) have no internal implicit rules. • Developer does not attribute craftsmanship into the system of rules that comprise the psychotic language.
Perversion Languages • Masochist • Enjoys when the other announces that a hard problem must be solved with the masochist's discipline. • Enjoys proving to the other that they have taken the hard road • Masochist languages are excruciatingly difficult, tedious, or minimalistic. • Causes anxiety by confronting other with work done using syntax, architecture, or the tool chain. • Sadist • Threatens the other in such a way that the other will describe their own impotence. • Uses delivered code to cause anxiety by way of threat to the other (eg through difficulty of maintenance). • Fetishist • Developer finds enjoyment when a certain object is present. • E.g. a specific ‘first order abstraction’ such as functions or classes. • The more the fetish object is present, the more enjoyment it provides. • The presence of the fetishistic object stands in for the announcement of the rules.
Perversion Languages - Cont’d • Enjoys being the vessel of the rules. • Masochist wants other to announce masochist's discipline • Sadist wants other to announce the other's impotence
Perversion Languages - Cont’d
• Enjoys activity that forestalls the end result • Type systems, boilerplate, or even case sensitivity • Final delivery of code brings about too much enjoyment. • e.g. Resistance to continuous delivery Obsessive Languages
• The delivered code (as the object of desire) is never good enough, because of ascetic reasons • Endless refinements to the code base. • Capturing the elusive domain jargon always seems just around the corner, • First extreme: Continuous modification of the definition of a language to represent any aesthetic • Second extreme: Bending of a language to implement an aesthetic
Depression and Melancholy • Happens within any structure • Stopping up of the circulation around the object of desire. • In depression, the object is lost and enjoyment is retrieved from the reminiscing of the loss. • In melancholy the pristine 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.
Conclusion • If early speech acts have an affect on how our enjoyment is structured, then we should be able to locate patterns and biases in our decisions. • People have different ways of enjoying, which is one motive for the diversity of languages • We can appeal to the influence of psychoanalytic structures when explaining why our desires are pulled in irrational directions • Psychoanalytic structures allow us to • Critique programming languages and communities • Account for some of the diversity in the languages • Design new languages with a target audience • Increase our tolerance for other language communities Slides: https://s3-us-west-2.amazonaws.com/vulk-blog/The+Pervert%27s+Guide+to+Computer+Programming+Languages.pdf Paper: https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuidetoComputerProgramming-ThePaper.pdf

The Pervert's Guide to Computer Programming Languages

  • 1.
    The Pervert’s Guideto Computer Programming Languages Psychoanalysis and Software
  • 2.
    What are theissues 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?
  • 3.
    How do wedecide? • 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
  • 4.
    Learning Objectives • Learnthe fundamentals of Lacanian and Zizekian critical theory. • After this talk, you should be able to read Zizek without pulling your hair out • Apply the fundamentals of critical theory to your favorite computer programming language. • Start a holy war … (or stop one)
  • 5.
    Part I Introduction toPsychoanalysis
  • 6.
    Jacques Lacan • Frenchpsychoanalyst 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 the three basic mental structures of psychosis, perversion, and neurosis
  • 7.
    Slavoj Zizek • Studentof Jacques Lacan • Specializes in ideology • Most influential work: ‘The Sublime Object of Ideology‘ • Makes politically incorrect jokes/critic of political correctness • Believes our ideological symptoms and fantasies form in order to help us deal with antagonisms
  • 8.
    Why the ‘Pervert'sGuide’? • Based on the Pervert's Guide to Ideology • Pervert is a person who enjoys being a vessel of the rules. • Zizek calls the analyst’s method of discourse the pervert’s discourse • The analyst sits in the position of the object of desire for the subject. • The analysand projects his or her ideals onto the analyst (transference). • When we analyze programming languages we are operating in the analyst's (i.e. pervert’s) discourse.
  • 9.
  • 10.
    Psychoanalysis Outdated • Outdatedmodel of the mind (replaced by the cognitive neurobiologist model), • Outdated therapy (replaced by drugs and newer behavioral therapy) • Outdated view of sexual repression (replaced by modern sexual permissiveness). • Computer science demonstrates a computational account of the brain which seems to leave no room for psychoanalysis. • Psychoanalysis is largely questioned Sigmund Freud
  • 11.
    Psychoanalysis Updated • Lacanupdates Freud's view of psychoanalysis • Speech act theory • Hegelian philosophy • Fundamental structures (psychosis, neurosis, perversion) • The Lacanian triad: imaginary, symbolic, real • Psychoanalysis is not for increasing well being but rather for the explaining of reality.
  • 12.
    Speech Act Theory •The basis of the Lacanian psychoanalytic structures is speech act theory • A structure is a privileged and necessary concept at the center of a model of human understanding • Zizek believes Lacan holds the performative and reflexive elements of the speech act in a necessary and privileged position • Lacan believes early speech acts have an overwhelming effects on us • If you were to deny Lacanian theory, you
  • 13.
    Why Do WeNeed Psychoanalysis? • Just as you should take other people’s rational decisions into account when making your decisions, you should also take other people’s irrational decisions into account when making your decisions • In this way, psychoanalysis is complementary to strategy. • Strategy (game theory) takes other people's rational decisions into account. • We can use psychoanalysis to take other people’s irrational decisions into account. • Irrational decisions are those decisions that go against the conscious preferences of the
  • 14.
  • 15.
    What is Enjoyment(Jouissance)? • Jouissance is an ambiguous French word for enjoyment of rights, property, or orgasm • Lacan uses jouissance to describe a person’s relationship with the object of desire • Lacan's use is related more to Freud's ‘death drive’ (as opposed to the more well known ‘sex drive’) • Can be thought of as the child's game of peekaboo • This enjoyment is the enjoyment that comes from staging our own failure to reach the ‘object of desire’
  • 16.
    Enjoyment is Confusing! Thingsto remember •Enjoyment does not mean pleasure or happiness! •Assumes that there is an object of desire. •The object of desire is not the actual physical object! •You can never reach the object of desire, but you can reach the target of desire (e.g. the physical object), but this creates dissatisfaction! •There are rules that regulate the minimal distance between you and
  • 17.
    Lacanian Structures • Notpart of the traditional DSM classifications that psychologists use to classify mental states • We are concerned with their effects on enjoyment
  • 18.
    The Subject andthe Other • Lacanian structures start in the early stages of a child’s development • Child originally has no distinction between itself and the primary caretaker • There are two stages of prohibitions (alienation and then separation) that regulate the child and the object of desire (a) • Alienation and separation are responsible psychosis, perversion or neurosis
  • 19.
    • Subject nevergains a normative relation with language. • Subject is never properly separated from their primary caretaker. • Delusions (e.g. voices or messages) permeate the subject's experience. • Engulfed in enjoyment • Primary mechanism is foreclosure, meaning the subject rejects things in reality. • Example: James Joyce
  • 20.
    • Subject wantsto complete the rules • Subject only experienced a partial separation (alienation) from the primary caretaker • Three sub-structures: fetishism, sadism, and masochism • Primary mechanism disavowal: the rejection of something seen and stored. • Example: Borat
  • 21.
    • Fetish isan object that is linguistically related to the failure to name the primary caretaker's desire • The presence of the object adds relief to the subject's unconscious by staging the naming of the desire of the caretaker. • Example: You and a $20 bill
  • 22.
    • Sadists don’tenjoy causing direct harm, but rather they seek to cause anxiety in the victim. • Hopes to force the victim to refine what they desire. • Refinement serves as proof for the sadist that the rules were announced • Example: The antagonist who ties the love interest to the train tracks
  • 23.
    • The subjectcauses anxiety in the other by exposing themselves to harm • Other finds the event to be too much enjoyment • Other is provoked to announce the rules • Example: Marquis de Sade
  • 24.
    • Category thatthe majority of humans fall into this structure • Separated into obsession, hysteria, and phobia • Preoccupied with what others think is right • Primary mechanism is repression: reality is accepted, repressed, then returns disguised (aka symptom).
  • 25.
    • Seeks toneutralize the other and possess the object of desire • Early speech acts cause the obsessive to forestall the encounter with the object of desire • Primarily motivated by guilt (from failing to adhere to the rules) • Example: Hamlet
  • 26.
    • Wishes tobe the object of desire for the other • Early speech acts cause the hysteric to move too fast towards the object of desire and they overshoot it. • Keeps the other unsatisfied using questions • Primary motivator is repulsion, especially at being possessed or captured by the other. • Example: King Richard II
  • 27.
    Part III Psychoanalysis andProgramming Languages
  • 28.
    Psychoanalysis and ProgrammingLanguages • Use psychoanalytic enjoyment and Lacanian structures to critique the choice of computer programming languages • Programming languages use rules that lend themselves to specific structures • Any programming language is compatible with any structure • E.g. if a hysteric uses an obsessional language, the hysteric will use the obsessive language as if it were a hysterical language.
  • 29.
    Psychotic Languages • Apsychotic or sociopath language does not laboriously weigh the rules before creating an end product. • Poor methods of abstraction (i.e. language disturbances) • Weak or loose typing (or automatic implicit type casting) • High-functioning psychotics (sociopaths) have no internal implicit rules. • Developer does not attribute craftsmanship into the system of rules that comprise the psychotic language.
  • 30.
    Perversion Languages • Masochist •Enjoys when the other announces that a hard problem must be solved with the masochist's discipline. • Enjoys proving to the other that they have taken the hard road • Masochist languages are excruciatingly difficult, tedious, or minimalistic. • Causes anxiety by confronting other with work done using syntax, architecture, or the tool chain. • Sadist • Threatens the other in such a way that the other will describe their own impotence. • Uses delivered code to cause anxiety by way of threat to the other (eg through difficulty of maintenance). • Fetishist • Developer finds enjoyment when a certain object is present. • E.g. a specific ‘first order abstraction’ such as functions or classes. • The more the fetish object is present, the more enjoyment it provides. • The presence of the fetishistic object stands in for the announcement of the rules.
  • 31.
    Perversion Languages -Cont’d • Enjoys being the vessel of the rules. • Masochist wants other to announce masochist's discipline • Sadist wants other to announce the other's impotence
  • 32.
  • 33.
    • Enjoys activitythat forestalls the end result • Type systems, boilerplate, or even case sensitivity • Final delivery of code brings about too much enjoyment. • e.g. Resistance to continuous delivery Obsessive Languages
  • 34.
    • The deliveredcode (as the object of desire) is never good enough, because of ascetic reasons • Endless refinements to the code base. • Capturing the elusive domain jargon always seems just around the corner, • First extreme: Continuous modification of the definition of a language to represent any aesthetic • Second extreme: Bending of a language to implement an aesthetic
  • 35.
    Depression and Melancholy •Happens within any structure • Stopping up of the circulation around the object of desire. • In depression, the object is lost and enjoyment is retrieved from the reminiscing of the loss. • In melancholy the pristine 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.
  • 36.
    Conclusion • If earlyspeech acts have an affect on how our enjoyment is structured, then we should be able to locate patterns and biases in our decisions. • People have different ways of enjoying, which is one motive for the diversity of languages • We can appeal to the influence of psychoanalytic structures when explaining why our desires are pulled in irrational directions • Psychoanalytic structures allow us to • Critique programming languages and communities • Account for some of the diversity in the languages • Design new languages with a target audience • Increase our tolerance for other language communities Slides: https://s3-us-west-2.amazonaws.com/vulk-blog/The+Pervert%27s+Guide+to+Computer+Programming+Languages.pdf Paper: https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuidetoComputerProgramming-ThePaper.pdf

Editor's Notes

  • #14 Within software, psychoanalysis can help us target those decisions that are irrational or unconscious. Programmers have often debated the value of programming languages using various grading techniques such as utility (quote best tool for the job prag prog), power(quote graham, lol book), or aesthetic value(quote gabriel, beautiful code). Missing from the conversation is the use of psychoanalytical critique to explore the unconscious desires of the developer. Lacan brings a unique view to the discussion because of his concentration on the speech act and its affects on our anxieties and desires. Lacan literally believes that early speech acts directed towards us as we developed have thrust us into our status as a thinking subject. These speech acts have overwhelming effects on how we operate as we grow older.