În Personalități

Personalități din development: John McCarthy

McCarthy

John McCarthy (1927-2011) a pavat drumul către o bună parte din tehnologiile indispensabile din ziua de azi. A conceput și dezvoltat unul dintre primele limbaje de programare și a adus contribuții impresionante cercetărilor privind inteligența artificială.

John McCarthy a fost profesor de Informatică la Stanford University. După cum o dovedesc și numeroasele lui premii, McCarthy a fost un om de știință cu contribuții importante, fiind condus de dorința de a modela logica umană prin intermediul computerelor. Devotamentul său pentru computere, împreună cu capacitatea sa intelectuală, i-au asigurat în istorie titlul de „părinte al Inteligenței Artificiale”.

În timp ce își perfecționa ideile despre acest concept, a dezvoltat limbajul de programare LISP („LISt Processing”), al doilea cel mai vechi limbaj „high-level”, după Fortran, ca răspuns la nevoia din ce în ce mai pregnantă de limbaje care să poată suporta recursivitate și stocări de date complexe și dinamice.

LISP – un strămoș al limbajelor de programare actuale

Deși nu este unul dintre cele mai populare limbaje de programare, LISP a adus în mod cert contribuții semnificative acestui domeniu

Pe lângă recursivitate, programele scrise în limbajul LISP puteau procesa în mod arbitrar structuri simbolice și puteau rula programe ca date, sub formă de liste. În lucrarea sa din 1960, „Recursive Function of Symbolic Expression and their Computation by Machine”, McCarthy stabilea fundațiile teoretice ale limbajului de programare LISP ca formalism computațional universal şi curând după aceasta, LISP devenea limbajul de programare folosit în Inteligența Artificială.

Tot lui McCarthy i se datorează și structura if-then-else, esențială astăzi în orice limbaj de programare. De asemenea, LISP a fost unul dintre pionierii structurilor de date arborescente. În plus, programele implementate în LISP aveau un management automat al memoriei („Garbage Collection”) încă din anii 70’.

LISP – caracteristici specifice

Primul lucru pe care un programator îl poate observa la limbajul de programare LISP este sintaxa neobișnuită: codul scris în LISP e adesea ironizat ca fiind doar puțin mai mult decât o mulțime de grupări de paranteze.

Dar, în timp ce alte limbaje impun programatorilor să urmeze o serie de pași și reguli precise, LISP le oferă oportunitatea de exprima algoritmi în forma pură. LISP este, într-adevăr, un fel de notare matematică, dar totuși un program care poate fi rulat.

Un exemplu de cod scris în LISP:

 (defun factorial (n)
   (if (<= n 1)
       1
       (* n (factorial (- n 1)))))

 

LISP, după aproape jumătate de secol

Relativ puține din programele software care se comercializează astăzi sunt scrise în LISP. Unii pun acest lucru pe seama faptului că limbajul e dificil, chiar greoi, și că sunt destul de puțini developeri care să cunoască bazele matematicii suficient de bine pentru a folosi LISP în mod eficient.

Există însă variante și implementări diferite ale lui LISP care se folosesc și astăzi. Unul dintre limbajele de programare derivate din LISP, Scheme, este un instrument popular în facultățile de informatică. Chiar mai mult, LISP a avut influențe asupra unor limbaje funcționale ca Erlang, F# și Haskell. În plus, ca o dovadă suplimentară a moștenirii de durată lăsată de LISP, un alt dialect al vechiului limbaj de programare, Clojure, a fost dezvoltat recent, în 2007, de către Rich Hickey.

John McCarthy nu a fost niciodată o personalitate populară, deși poate ar fi trebuit. A decedat în 24 octombrie 2011 la vârsta de 84 de ani, însă munca lui rămas scrisă în numeroase cărți și lucrări științifice, astfel că cei 60 de ani de cercetare nu au fost degeaba, descoperirile sale fiind utile și în prezent programatorilor, dacă nu ca funcționalități specifice, măcar ca dezvoltare a unui anumit mod de gândire.

LISP has jokingly been described as the most intelligent way to misuse a computer. I think that description a great compliment because it transmits the full flavour of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts. – Edsger W. Dijkstra