Bästa svaret
Detta är faktiskt en komisk överdrift av en välkänd princip inom psykologi som kallas Yerkes-Dodson-lagen, som säger att för optimal inlärning behöver du en viss upphetsning – inte för låg, inte för hög.
http://en.wikipedia.org/wiki/Yerkes\%E2\%80\%93Dodson\_law
Programmering kan ses som kontinuerlig inlärning. Om det du gör inte utmanar dig, trycker du lite på kuvertet, är det tråkigt. Om det är för utmanande är det överväldigande. Så programmeringsuppgifter som framkallar mest produktivitet har egenskaper som inlärningsuppgifter. Vilket betyder Yerkes- Dodsons lag gäller. Vilket innebär att du måste komma till rätt upphetsningstillstånd som ett möjliggörande tillstånd. Alkohol är ett sätt att komma dit.
Faktum är att detta i allmänhet gäller allt kreativt arbete, som Mihaly upptäckte. Csikzentmihalyi i sitt klassiska arbete med ”flow” -konceptet.
Den intressanta frågan är om denna normalfördelning kan skärpa nästan till ett Dirac-delta för programmering.
Det finns en anledning att tro det kan: 10x-programmeringseffekten. När du är i zonen är du nästan en storleksordning eller två bättre än när du slipar med. Så ja, du kanske faktiskt har en YD-kurva som ser ut som xkcd-tecknet om 10x effekt slår också in.
Anekdotiskt skulle jag säga att detta är sant. Jag har inte programmerat på flera år, men jag minns några sådana ”optimala stimuleringsfaser” när jag blev galna mängder på några dagar. Orsaken var alkohol ett par gånger, eller bara generell stimulering i andra fall.
Jag ser samma fenomen med mitt skrivande. Jag har gjort några av mina bästa (dvs 10x) skrivningar under de senaste åren medan jag är fullt berusad.
Svar
Detta har demonstrerats experimentellt av flera studier.
Det finns en mängd olika teorier om varför det fungerar.
Det mätbara som händer är att människor som är mildt berusade blir mycket bättre (det är inte subtilt, det sträcker sig från ungefär 18–50\% beroende på studien) för att lösa problem.
Min personliga teori (baserad på min egen erfarenhet av att använda denna effekt regelbundet för att övervinna svåra problem) är att alkohol ofokuserar sinnet.
Det låter dåligt, men problemlösning handlar inte om fokus. Implementering handlar om fokus, och i själva verket, om du redan vet lösningen på problemet, bör du vara på koffein , snarare än alkohol, eftersom koffein ökar ditt fokus.
Om problemet dock inte är löst (som de brukar vara i programmering), kan du dra nytta av att du inte fokuserar ditt sinne. Detta gör att flera saker kan hända:
- Ditt sinne överväger fler alternativ än vad det annars skulle kunna göra. Du är mer benägna att prova saker och mer sannolikt att märka kopplingar mellan till synes orelaterade saker.
- Du är mindre ”stressad” och ditt sinne slösar mindre energi ”oroande” och spenderar mer av den energin på faktiskt problem.
- Alkohol begränsar i vilken utsträckning du tänker på framtiden. I problemlösning är detta utmärkt, eftersom det låter dig (ironiskt nog) fokusera på det aktuella problemet, och ta varje del av problemet ensam utan att beakta alla konsekvenser. Detta minskar den ”upplevda” arbetsbelastningen, vilket ökar effektiviteten.
Bortsett från för alla som tänker ”vad händer om jag dricker alkohol * och * koffein !?”:
Blanda inte alkohol och koffein i stora mängder – det är extremt farligt. En av dem är en vasokonstriktor, den andra är en vasodilator. Koffein kompenserar också för den ”sömniga” alkoholkänslan, vilket får dig att känna att du är mindre nedsatt än du är. Detta leder till dåligt beslutsfattande, både i livet och i kod.