SlideShare ist ein Scribd-Unternehmen logo
1 von 36
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (8)

Decorator design pattern
Decorator design patternDecorator design pattern
Decorator design pattern
 
What is design pattern
What is design patternWhat is design pattern
What is design pattern
 
Introducing Clean Architecture
Introducing Clean ArchitectureIntroducing Clean Architecture
Introducing Clean Architecture
 
Domain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledDomain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) Distilled
 
DRY or die
DRY or dieDRY or die
DRY or die
 
The Evolution of Scala
The Evolution of ScalaThe Evolution of Scala
The Evolution of Scala
 
SLF4J (Simple Logging Facade for Java)
SLF4J (Simple Logging Facade for Java)SLF4J (Simple Logging Facade for Java)
SLF4J (Simple Logging Facade for Java)
 
SOLID Design Principles applied in Java
SOLID Design Principles applied in JavaSOLID Design Principles applied in Java
SOLID Design Principles applied in Java
 

Andere mochten auch

Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming languageVasavi College of Engg
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languagesVarun Garg
 
Computer programming programming_langugages
Computer programming programming_langugagesComputer programming programming_langugages
Computer programming programming_langugageseShikshak
 
eMarketer Webinar: Top Trends in Mobile Location-Based Advertising
eMarketer Webinar: Top Trends in Mobile Location-Based AdvertisingeMarketer Webinar: Top Trends in Mobile Location-Based Advertising
eMarketer Webinar: Top Trends in Mobile Location-Based AdvertisingeMarketer
 
Computer programming all chapters
Computer programming all chaptersComputer programming all chapters
Computer programming all chaptersIbrahim Elewah
 
Methods and apparatus for automatic translation of a computer program languag...
Methods and apparatus for automatic translation of a computer program languag...Methods and apparatus for automatic translation of a computer program languag...
Methods and apparatus for automatic translation of a computer program languag...Tal Lavian Ph.D.
 
Commonly used excel formulas
Commonly used excel formulasCommonly used excel formulas
Commonly used excel formulassaladi330
 
Advanced Excel
Advanced Excel Advanced Excel
Advanced Excel eduCBA
 
Carcinoma vagina surgery radiotherapy management
Carcinoma vagina surgery radiotherapy managementCarcinoma vagina surgery radiotherapy management
Carcinoma vagina surgery radiotherapy managementParag Roy
 
The Giant Black Book Of Computer Viruses
The Giant Black Book Of Computer VirusesThe Giant Black Book Of Computer Viruses
The Giant Black Book Of Computer VirusesChuck Thompson
 
Empanadas de jamón y queso
Empanadas de jamón y quesoEmpanadas de jamón y queso
Empanadas de jamón y quesotymeus
 
NextSpace Coworking & Innovation Mail - This week @ NextSpace Berkeley (Novem...
NextSpace Coworking & Innovation Mail - This week @ NextSpace Berkeley (Novem...NextSpace Coworking & Innovation Mail - This week @ NextSpace Berkeley (Novem...
NextSpace Coworking & Innovation Mail - This week @ NextSpace Berkeley (Novem...Owen Latham
 
Evaluation of Different Formulations of Weak Acid Solution as Preservative Me...
Evaluation of Different Formulations of Weak Acid Solution as Preservative Me...Evaluation of Different Formulations of Weak Acid Solution as Preservative Me...
Evaluation of Different Formulations of Weak Acid Solution as Preservative Me...Professor Bashir Omolaran Bello
 
Biologia-Animais geneticamente modificados
Biologia-Animais geneticamente modificadosBiologia-Animais geneticamente modificados
Biologia-Animais geneticamente modificadosAlinehl
 
clg bus auto prjct REPORT
clg bus auto prjct REPORTclg bus auto prjct REPORT
clg bus auto prjct REPORTASIM Bin Usman
 

Andere mochten auch (17)

Unit1 principle of programming language
Unit1 principle of programming languageUnit1 principle of programming language
Unit1 principle of programming language
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
 
Computer programming programming_langugages
Computer programming programming_langugagesComputer programming programming_langugages
Computer programming programming_langugages
 
eMarketer Webinar: Top Trends in Mobile Location-Based Advertising
eMarketer Webinar: Top Trends in Mobile Location-Based AdvertisingeMarketer Webinar: Top Trends in Mobile Location-Based Advertising
eMarketer Webinar: Top Trends in Mobile Location-Based Advertising
 
Computer programming all chapters
Computer programming all chaptersComputer programming all chapters
Computer programming all chapters
 
Methods and apparatus for automatic translation of a computer program languag...
Methods and apparatus for automatic translation of a computer program languag...Methods and apparatus for automatic translation of a computer program languag...
Methods and apparatus for automatic translation of a computer program languag...
 
Commonly used excel formulas
Commonly used excel formulasCommonly used excel formulas
Commonly used excel formulas
 
Advanced Excel
Advanced Excel Advanced Excel
Advanced Excel
 
Carcinoma vagina surgery radiotherapy management
Carcinoma vagina surgery radiotherapy managementCarcinoma vagina surgery radiotherapy management
Carcinoma vagina surgery radiotherapy management
 
The Giant Black Book Of Computer Viruses
The Giant Black Book Of Computer VirusesThe Giant Black Book Of Computer Viruses
The Giant Black Book Of Computer Viruses
 
Empanadas de jamón y queso
Empanadas de jamón y quesoEmpanadas de jamón y queso
Empanadas de jamón y queso
 
Simple 3d engine
Simple 3d engineSimple 3d engine
Simple 3d engine
 
NextSpace Coworking & Innovation Mail - This week @ NextSpace Berkeley (Novem...
NextSpace Coworking & Innovation Mail - This week @ NextSpace Berkeley (Novem...NextSpace Coworking & Innovation Mail - This week @ NextSpace Berkeley (Novem...
NextSpace Coworking & Innovation Mail - This week @ NextSpace Berkeley (Novem...
 
Evaluation of Different Formulations of Weak Acid Solution as Preservative Me...
Evaluation of Different Formulations of Weak Acid Solution as Preservative Me...Evaluation of Different Formulations of Weak Acid Solution as Preservative Me...
Evaluation of Different Formulations of Weak Acid Solution as Preservative Me...
 
Resume
ResumeResume
Resume
 
Biologia-Animais geneticamente modificados
Biologia-Animais geneticamente modificadosBiologia-Animais geneticamente modificados
Biologia-Animais geneticamente modificados
 
clg bus auto prjct REPORT
clg bus auto prjct REPORTclg bus auto prjct REPORT
clg bus auto prjct REPORT
 

Ähnlich wie The Pervert's Guide to Computer Programming Languages

Psych II examreviewslideshare
Psych II examreviewslidesharePsych II examreviewslideshare
Psych II examreviewslidesharejmclaugh813
 
Communication theories comm
Communication theories commCommunication theories comm
Communication theories commTarek Mahmoud
 
Cognitive behaviour Introduction and History.pptx
Cognitive behaviour Introduction and History.pptxCognitive behaviour Introduction and History.pptx
Cognitive behaviour Introduction and History.pptxUmmEmanSyed
 
The Fields that Compose Cognitive Science
The Fields that Compose Cognitive ScienceThe Fields that Compose Cognitive Science
The Fields that Compose Cognitive ScienceJim Davies
 
Pre-reading slidedeck for effective meetings masterclass for leaders v1
Pre-reading slidedeck for effective meetings masterclass for leaders v1Pre-reading slidedeck for effective meetings masterclass for leaders v1
Pre-reading slidedeck for effective meetings masterclass for leaders v1prugell
 
03. intro to argument, informal fallacies
03. intro to argument, informal fallacies03. intro to argument, informal fallacies
03. intro to argument, informal fallaciesJustin Morris
 
Change the Conversation! Unleash Your Potential in a Complex World.pptx
Change the Conversation! Unleash Your Potential in a Complex World.pptxChange the Conversation! Unleash Your Potential in a Complex World.pptx
Change the Conversation! Unleash Your Potential in a Complex World.pptxXPDays
 
Social Human Architecture for Beginners
Social Human Architecture for BeginnersSocial Human Architecture for Beginners
Social Human Architecture for BeginnersSebastian Schürmann
 
X-Ray Listening: Clean Language section for NLP Master Practitioner Course
X-Ray Listening: Clean Language section for NLP Master Practitioner CourseX-Ray Listening: Clean Language section for NLP Master Practitioner Course
X-Ray Listening: Clean Language section for NLP Master Practitioner CourseJudy Rees
 
Rhetoric and logic and argumentation
Rhetoric and logic and argumentationRhetoric and logic and argumentation
Rhetoric and logic and argumentationpvenglishteach
 
Philosophy and You (1).pptx
Philosophy and You (1).pptxPhilosophy and You (1).pptx
Philosophy and You (1).pptxssusere0355a
 
Introvert/Extrovert (YEO Preconvention)
Introvert/Extrovert (YEO Preconvention)Introvert/Extrovert (YEO Preconvention)
Introvert/Extrovert (YEO Preconvention)Rotary International
 

Ähnlich wie The Pervert's Guide to Computer Programming Languages (20)

Psych II examreviewslideshare
Psych II examreviewslidesharePsych II examreviewslideshare
Psych II examreviewslideshare
 
Chapter 7 Cognition.pptx
Chapter 7 Cognition.pptxChapter 7 Cognition.pptx
Chapter 7 Cognition.pptx
 
05 thinking
05  thinking05  thinking
05 thinking
 
Communication theories comm
Communication theories commCommunication theories comm
Communication theories comm
 
Cognitive behaviour Introduction and History.pptx
Cognitive behaviour Introduction and History.pptxCognitive behaviour Introduction and History.pptx
Cognitive behaviour Introduction and History.pptx
 
Tok 2 1
Tok 2 1Tok 2 1
Tok 2 1
 
The Fields that Compose Cognitive Science
The Fields that Compose Cognitive ScienceThe Fields that Compose Cognitive Science
The Fields that Compose Cognitive Science
 
What is philosophy?
What is philosophy?What is philosophy?
What is philosophy?
 
Pre-reading slidedeck for effective meetings masterclass for leaders v1
Pre-reading slidedeck for effective meetings masterclass for leaders v1Pre-reading slidedeck for effective meetings masterclass for leaders v1
Pre-reading slidedeck for effective meetings masterclass for leaders v1
 
The Science Behind Empathy
The Science Behind EmpathyThe Science Behind Empathy
The Science Behind Empathy
 
03. intro to argument, informal fallacies
03. intro to argument, informal fallacies03. intro to argument, informal fallacies
03. intro to argument, informal fallacies
 
Change the Conversation! Unleash Your Potential in a Complex World.pptx
Change the Conversation! Unleash Your Potential in a Complex World.pptxChange the Conversation! Unleash Your Potential in a Complex World.pptx
Change the Conversation! Unleash Your Potential in a Complex World.pptx
 
Social Human Architecture for Beginners
Social Human Architecture for BeginnersSocial Human Architecture for Beginners
Social Human Architecture for Beginners
 
14357173.ppt
14357173.ppt14357173.ppt
14357173.ppt
 
X-Ray Listening: Clean Language section for NLP Master Practitioner Course
X-Ray Listening: Clean Language section for NLP Master Practitioner CourseX-Ray Listening: Clean Language section for NLP Master Practitioner Course
X-Ray Listening: Clean Language section for NLP Master Practitioner Course
 
Thiniking
ThinikingThiniking
Thiniking
 
Rhetoric and logic and argumentation
Rhetoric and logic and argumentationRhetoric and logic and argumentation
Rhetoric and logic and argumentation
 
Philosophy and You (1).pptx
Philosophy and You (1).pptxPhilosophy and You (1).pptx
Philosophy and You (1).pptx
 
Introvert/Extrovert (YEO Preconvention)
Introvert/Extrovert (YEO Preconvention)Introvert/Extrovert (YEO Preconvention)
Introvert/Extrovert (YEO Preconvention)
 
suicidal-memory-systems.ppt
suicidal-memory-systems.pptsuicidal-memory-systems.ppt
suicidal-memory-systems.ppt
 

Kürzlich hochgeladen

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 

Kürzlich hochgeladen (20)

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 

The Pervert's Guide to Computer Programming Languages

  • 1. The Pervert’s Guide to Computer Programming Languages Psychoanalysis and Software
  • 2. 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?
  • 3. 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
  • 4. 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)
  • 5. Part I Introduction to Psychoanalysis
  • 6. 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
  • 7. 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
  • 8. 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.
  • 10. 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
  • 11. 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.
  • 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 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
  • 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! 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
  • 17. Lacanian Structures • Not part of the traditional DSM classifications that psychologists use to classify mental states • We are concerned with their effects on enjoyment
  • 18. 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
  • 19. • 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
  • 20. • 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
  • 21. • 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
  • 22. • 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
  • 23. • 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
  • 24. • 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).
  • 25. • 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
  • 26. • 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
  • 27. Part III Psychoanalysis and Programming Languages
  • 28. 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.
  • 29. 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.
  • 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
  • 33. • 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
  • 34. • 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
  • 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 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

Hinweis der Redaktion

  1. 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.