Douglas Crockford (født 1955 i Minnesota) er en amerikansk programvareutvikler. Han er mest kjent for arbeidet med språket JavaScript og dataformatet JSON.
Bakgrunn og arbeid
Crockford er utdannet fra San Francisco State University, og arbeidet deretter med design av interaktiv media. I 1990-årene arbeidet han blant annet hos Lucasfilm/LucasArts, Paramount Pictures og Atari Sunnyvale Research Laboratory.[1] Mens han var hos LucasArts arbeidet han blant annet med spillet Maniac Mansion, og ble da kjent i internettkretser for essayet «The Expurgation of Maniac Mansion for the Nintendo Entertainment System», der han beskrev problemene med å tilfredsstille Nintendos harde krav til innhold i spill til konsollene deres.[2] Senere var Crockford blant annet innom Yahoo!, og han har siden 2012 arbeidet for PayPal.[3]
Crockford var grunnlegger av programvareselskapet State Software, og her oppfant han dataformatet JSON i 2002. Dette formatet var designet som et lettvektsalternativ til XML, og ble med RFC 4627 i 2006 gjort til en offisiell standard.[4]
JavaScript: The Good Parts
I 2008 kom Crockford med boken JavaScript: The Good Parts, som raskt ble en klassiker i JavaScript-miljøer. I boken hevder Crockford at alle programmeringsspråk har sine gode og sine dårlige sider, og for JavaScript sin del deler han språkets forskjellige konsepter inn i de tre kategoriene «vakre», «grusomme» og «ille». I førstnevnte kategori plasserer han det at funksjoner er førsteklasses objekter, hvordan språket har dynamiske objekter med prototypebasert arv, og hvordan array- og objekt-literaler fungerer. Som «grufulle» ting i JavaScript (altså ting man ikke kan unngå når man bruker det) finner man blant annet globale variable, manglende blokk-scope og automatisk innsetting av semikolon på slutten av linjer. I kategorien «ille» (altså ting man kan unngå når man bruker språket) plasserer Crockford blant annet ==-operatoren, eval()-fuksjonen og hvordan switch-konstruksjoner lar eksekvering fortsette med mindre man eksplisitt avbryter flyten.[5]
I forlengelsen av reglene for riktig bruk av JavaScript som Crockford definerte i JavaScript: The Good Parts laget han JSLint, et statisk analyse-verktøy for å finne dårlig og feilaktig kode i JavaScript-programmer. Dette verktøyet vil for eksempel advare programmereren om at hen har brukt ==-operatoren, og heller oppfordre til bruk av ===.