Ken Thompson
American computer science pioneer, co-creator of Unix, B language, UTF-8, and Go; Turing Award winner
Themes
Kenneth Lane Thompson és un científic informàtic nord-americà, més conegut per coŀlaborar en la creació del sistema operatiu Unix als Bell Laboratories a finals dels anys seixanta, una feina que va modelar fonamentalment la informàtica moderna. També va inventar el llenguatge de programació B, un predecessor directe de C, i va contribuir al desenvolupament de Plan 9, l’estàndard d’encoding UTF-8, i el llenguatge de programació Go.
Més enllà dels sistemes operatius i els llenguatges, Thompson va fer contribucions destacades a les expressions regulars, als primers editors de text com QED i ed, i a l’escacs per ordinador, incloent-hi la màquina d’escacs Belle i les taules de finals. Va rebre el Premi Turing el 1983, conjuntament amb Dennis Ritchie, en reconeixement de la seva influència en la teoria i la pràctica dels sistemes operatius, i actualment treballa a Google.
Primera vida i educació
Nascut el 4 de febrer de 1943 a Nova Orleans, Louisiana, Kenneth Lane Thompson va seguir els seus interessos acadèmics a la University of California, Berkeley, on va obtenir un Bachelor of Science en Enginyeria Elèctrica i Ciències de la Computació el 1965, seguit d’un màster en el mateix camp un any més tard. Aquests anys formatius a Berkeley van donar a Thompson una base tècnica rigorosa que sustentaria dècades de treball influent en ciències de la computació.
Bell Laboratories i l’era de Unix
Thompson es va incorporar a Bell Laboratories a Murray Hill, Nova Jersey, on inicialment va participar en el projecte Multics — una col·laboració entre Bell Labs, MIT i General Electric destinada a desenvolupar una nova classe de sistema operatiu. Quan Bell Labs es va retirar de l’esforç de Multics, Thompson i el seu col·lega Dennis Ritchie van continuar treballant de manera independent, i finalment van produir una cosa que anava més enllà de la visió original de Multics. El que va sorgir va ser Unix el 1969, el primer sistema operatiu portable, dissenyat per funcionar en maquinari que anava des de mainframes fins a ordinadors personals.
Un element central de Unix va ser la concepció de Thompson d’un sistema de fitxers jeràrquic, que va establir la base per a un entorn de programació compartit i comunitari. Unix es va distribuir amb el seu codi font disponible de manera oberta, cosa que li permetia evolucionar gràcies a les aportacions d’una àmplia comunitat d’usuaris. La seva influència va anar molt més enllà de Bell Labs, modelant entorns de computació acadèmica, la infraestructura de servidors d’internet i, eventualment, inspirant el sistema operatiu Linux.
Per escriure Unix, Thompson primer va experimentar amb Fortran i BCPL abans de crear el seu propi llenguatge, B, derivat de BCPL. B va servir com a precursor directe de C, que Ritchie va desenvolupar ampliant el disseny original de Thompson. Aquesta línia de llenguatges continua sent una de les més conseqüents de la història de la computació.
Escacs, Plan 9 i projectes posteriors
Al costat del seu treball en sistemes operatius, Thompson va desenvolupar un interès sostingut pels escacs per ordinador. Va co-crear Belle, una màquina d’escacs dedicada que va guanyar el Tercer Campionat Mundial d’Escacs per Ordinador celebrat a Linz el 1980. Les seves aportacions a la computació d’escacs també es van estendre a les taules de finals, que proporcionaven anàlisis exhaustives de posicions d’escacs amb un nombre reduït de peces i van influir en com tant les màquines com els humans s’aproximen a la teoria dels finals.
Més endavant, durant la seva etapa a Bell Labs, Thompson va contribuir a Plan 9 des de Bell Labs, un sistema operatiu distribuït que ampliava els conceptes de Unix i tractava tots els recursos del sistema, incloses les xarxes i les finestres, com a fitxers. També va tenir un paper en el desenvolupament de UTF-8, l’estàndard de codificació de caràcters que es va convertir en el mètode dominant per representar text a través d’internet.
Després de deixar Bell Labs, Thompson va tenir una beca a Entrisphere abans d’incorporar-se a Google com a Distinguished Engineer. A Google, formava part del petit equip que va dissenyar el llenguatge de programació Go, un llenguatge de codi obert pensat per abordar reptes pràctics en el desenvolupament de programari a gran escala.
El reconeixement professional de Thompson abasta diversos premis importants en computació. Ell i Dennis Ritchie van rebre conjuntament el ACM Programming Systems and Languages Paper Award el 1975 i el ACM A.M. Turing Award el 1983. Thompson també va ser nomenat Fellow del Computer History Museum el 1997, reconegut específicament pel seu paper en la creació de Unix. A més, va rebre el Tsutomu Kanai Award de la IEEE Computer Society per les seves contribucions als sistemes de computació distribuïda.
Al llarg de la seva carrera, el treball de Thompson s’ha caracteritzat per un enfocament constant en sistemes que són portables, oberts i pràctics — unes qualitats que van fer que Unix i els seus successors fossin tan duradors. Les seves aportacions en sistemes operatius, llenguatges de programació, codificació de text i teoria dels jocs computacionals reflecteixen, en conjunt, un corpus de treball que ha influït en com es construeixen i s’utilitzen els ordinadors a un nivell fonamental.