10 developerów, których powinieneś znać. Korzystasz z ich języków i frameworków. Cz.2
Seria Waszych komentarzy pod artykułem sprzed kilku dni, zmotywowała nas do napisania kolejnej części o 10 developerach, których powinniście znać. Poniżej znajdziecie listę devów, których podziwiacie i z których pracy korzystacie na co dzień. Uwierzcie, że trudno było zmieścić wszystkich uznanych programistów w krótkim artykule — dlatego nadal liczymy na Wasze komentarze i wskazówki.
Spis treści
Dennis M. Ritchie. B, Unix i język C
“Język C został zaprojektowany w taki sposób, aby korzystanie z funkcji było efektywne i łatwe. Program składa się z reguły z dużej liczby małych funkcji. Duże funkcje są stosowane rzadko” — to fragment książki Dennisa M. Ritchie’go (twórcy języka C) oraz Briana W. Kernighana (kolegi z Bell Labs, który napisał wiele programów np. ditroff). Ritchie w 1967 roku zatrudnił się w Bell Labs, w firmie, w której pracował wcześniej jego ojciec. Zajmował się w niej m.in. rozwojem Unixa (systemu operacyjnego stworzonego przez Kena Thompsona).
Wcześniej, Ritchie pracował z Thompsonem nad systemem Multics, ale przestali go rozwijać. Zaczęli pracę nad systemem Unix, a później nad językiem programowania B. Po miesiącach pracy nad jego rozwoje, Dennis M. Ritchie postanowił jeszcze bardziej ulepszyć ten język i stworzył C, którego można było używać na różnych urządzeniach. W 1978 roku, w celu popularyzacji C, Ritchie i Kernighan napisali książkę, która stała się lekturą obowiązkową studentów informatyki na całym świecie.
Anders Hejlsberg. Type Script, Delphi, C# i .NET
Microsoft w 1996 roku zaproponował Andersowi Hejlsbergowi 0,5 miliona dolarów tylko za to, by zmienił pracodawcę. Gdy Hejlsberg odmówił, Microsoft zaproponował milion dolarów za porzucenie pracy. Hejlsberg zgodził się na tę propozycję i w październiku 1996 roku odszedł z firmy, którą współtworzył przez lata (Bortland pozwał później Microsoft o podkradanie pracowników). Hejlsberg w ciągu trzech pierwszych lat w Microsofcie zdobył uznanie kolegów i przełożonych. W 1999 roku otrzymał tytuł “wybitnego inżyniera”, który wówczas otrzymało tylko 16 pracowników Microsoftu.
Microsofcie Anders Hejlsberg stworzył m.in. język programowania J++, ale za największe osiągnięcie uważa się stworzenie C#. Anders nie poprzestał jednak na tym i dalej tworzył nowe języki. W 2012 roku ogłosił powstanie Type Script. Uważa się za spełnionego programistę. Powiedział kiedyś: “To świetnie uczucie wiedzieć, że z rzeczy, którą stworzyłeś, korzystają miliony developerów na całym świecie”.
Larry Wall. Perl
30 lat temu Larry Wall wymyślił skryptowy język programowania o nazwie Perl. Zapytany o to, dlaczego stworzył własny język, odpowiedział: nie mogłem rozwiązać pewnego problemu za pomocą dostępnych narzędzi, więc stworzyłem własne. A właściwie, nie mogłem szybko rozwiązać tego problemu. Przywołał także trzy cechy, które umotywowały go do stworzenia Perla: lenistwo, niecierpliwość i pycha. Nie chciało mu się korzystać z dostępnych języków, bo zbyt długo zajęłoby mu rozwiązanie swojego problemu. Przez zbyt mozolne działanie, traciłby cierpliwość. A pycha dawała mu świadomość, że potrafi stworzyć lepszy język.
Wall to barwna postać, która z chęcią opowiada o tym, czym jest programowanie. W jednym z wywiadów wskazał nawet, że dobry programista jest jak hobbit z powieści “Władca pierścieni”. Hobbit jest leniwy w bardzo pracowity sposób; bardzo niecierpliwy bardzo cierpliwie oraz dumny w bardzo skromny sposób. O Perlu mówi, że nie jest perfekcyjnym językiem i wymaga dopracowania. Może dlatego w 2012 roku wypuścił Perla 6, który miał odpowiedzieć na ówczesne potrzeby programistów.
Yukihiro Matsumoto. Ruby
Prosta składnia z wbudowanymi w nią wyrażeniami regularnymi, automatyczne oczyszczanie pamięci i przeciążanie operatorów. To główne zalety przemawiające za wykorzystaniem języka Ruby, którego twórcą jest Yukihiro “Matz” Matsumoto. Ruby powstał w grudniu 1995 roku i nadal jest rozwijanym językiem (ostatnia aktualizacja wyszła w marcu 2018 roku). Popularność zdobył w 2003 roku za sprawą Davida Heinemeiera Hanssona, który wraz ze znajomymi stworzył framework Ruby on Rails.
Mimo upływu tylu lat, twórca Ruby’ego — Yukihiro Matsumoto, na konferencjach przekonuje, że zrobi wszystko, by dalej był rozwijany. Zapowiedział ostatnio, że chciałby, aby programiści korzystali z niego co najmniej przez najbliższe 25 lat. “Ruby powstał, by uszczęśliwić programistów” — ten cytat zna chyba każdy programista pracujący na Ruby’m i ten cytat świetnie opisuje założenie, które przyświecało zarówno Matzowi, jak i programistom rozwijającym framework Ruby on Rails.
Niklaus Wirth. Pascal
W 1970 roku Niklaus Wirth stworzył język programowania Pascal, dziewięć lat później skończył pracę nad pierwszą wersją języka Modula-2, a w 1988 roku nad językiem Oberon. Ten ostatni rozwijał aż do 2012 roku. Wtedy przez dwa i pół roku (mając 77 lat), prawie każdego dnia, przesiadywał w domowym gabinecie i pracował nad usprawnieniem Oberonu. Napisał też trzy książki na jego temat: jedną wydał w 1985 roku, a dwie w 1992 roku. Niklaus Wirth stworzył także pierwszy szwajcarski osobisty komputer (PC).
Od zawsze interesował się inżynierią, jak i programowaniem — pracował zarówno nad hardwarem i softwarem swoich komputerów. Niklaus Wirth w wieku 80 lat udzielił wywiadu, w którym zapytano go, co sądzi o istniejących językach programowania. Żaden ze stworzonych w ciągu ostatnich 20 lat mu nie zaimponował, wręcz przeciwnie, uważał je za zbyt obszerne i stworzone dla inżynierów, a nie zwykłych ludzi. “Inżynierowie powinni zadbać o ich wydajność” — mówił. Za chwilę dodał, że twórcy nowych języków nie dbają już o elegancję języka.
Andrey Breslav. Kotlin
Andrey Breslav swoją karierę developera rozpoczynał w firmie Bortland, w której pracował wcześniej m.in. Anders Hejlsberg, twórca Type Script, Delphi, C# i .NET. Kilka lat był wykładowcą akademickim, ale w 2010 roku postawił wyłącznie na programowanie. Znalazł wtedy pracę w czeskiej firmie JetBrains, w której zajmował się tworzeniem języka programowania Kotlin, kompatybilnego w 100% z Javą. Stworzenie nowego języka nie było łatwe, o czym wspomniał w wywiadzie.
“Na początku byłem sceptycznie nastawiony, ale JetBrains zaprosił mnie do swojego biura na rozmowę. Przez pierwsze dwie godziny nadal byłem sceptyczny” — opowiedział. Dodał, że starał się przekonać rozmówcę do tego, że nie ma potrzeby stworzenia nowego języka, lepiej po prostu ulepszyć dostępne. Dał się jednak przekonać i przyjął propozycję pokierowania zespołem odpowiedzialnym za Kotlina. “Łatwo jednak stworzyć język, ale trudniej go wypromować” — dodał.
Rich Hickey. Clojure
W ciągu 20 lat pracy zawodowej, Rich Hickey spotkał się z wieloma językami programowania. W pewnym momencie postanowił, że stworzył własny i przedstawi go kolegom ze społeczności skupionej wokół Lisp. Tak zaczęła się praca nad Clojure, nowoczesnym dialektem języka programowania. Jak Rich Hickey wspomina początki pracy nad Clojure? “Odkryłem Lisp po dziesięciu latach pracy z C++. Wtedy zadałem sobie pytanie: Co robię ze swoim życiem?” — wspominał.
Hickey, tak jak twórcy innych języków, borykał się z problemem popularności swojego języka. Rozwiązaniem okazała się społeczność skupiona wokół Clojure. “Nie mogę nie wspomnieć o społeczności, która jest po prostu fantastyczna! Myślę, że ma ogromny wpływ na to, czym jest dzisiaj Clojure” — mówił.
Chris Lattner. Swift
Chris Lattner dołączył do Apple w 2005 roku, po tym jak współtworzył narzędzie LLVM, które integrowało się z urządzeniami Apple’a. Od czasu pracy w firmie Steve’a Jobsa, Lattner był odpowiedzialny za stworzenie języka programowania Swift, dzięki któremu możemy tworzyć aplikacje na iOS i Mac. Na pracę nad Swiftem poświęcił ponad 10 lat, ale nie zajmował się tylko tym. Pracował także nad Xcode i brał udział w implementacji OpenGL.
Lattner w 2016 roku dołączył do zespołu Tesli, obejmując stanowisko VP Autopilot Software, ale pół roku później ogłosił, że otwiera się na nowe wyzwania (zapytany o przyczynę odejścia z firmy powiedział “razem z Elonem Muskiem stwierdziliśmy, że nie współpracuje nam się dobrze”). Dołączył do zespołu Google Brain, w którym jest odpowiedzialny za projekty związane ze sztuczną inteligencją. Pracuje m.in. nad rozwojem TensorFlow, jednego z najbardziej zaawansowanych frameworków wykorzystywanych w pracy nad sztuczną inteligencją.
Linus Torvalds. Linux
15 października 1991 roku, świat mógł ujrzeć efekt wieloletniej pracy po godzinach Linusa Torvaldsa, fińskiego programisty. Przez lata myślał nad tym, by stworzyć wydajny system operacyjny taki jakim był wtedy Unix. Założenie było proste: system miał działać na domowym komputerze (PC). Linux przypadł do gustu “informatykom”, którzy doceniali otwartość oprogramowania (był dostępny na bezpłatnej licencji). Linux w tych latach był tak popularnym systemem, że w 1996 roku nazwano asteroidę nazwiskiem jego twórcy.
Nazwanie asteroidy “Torvalds” nie było ostatnim pokłonem w kierunku Linusa. W 2001 roku w filmie Swordfish pojawiła się postać najlepszego hakera na świecie, Fina — Axla Torvaldsa. Linus aktywnie uczestniczy w rozwijaniu autorskiego systemu operacyjnego, choć większość programistyczną zleca członkom fundacji. O Torvaldsie głośno zrobiło się ostatnio, gdy ostro skrytykował Nvidię. Powiedział, że Nvidia sprzedaje swoje procesory, ale nie potrafi naprawić błędów w zabezpieczeniach. “Nvidia, pieprz się!” — powiedział pokazując do kamery środkowy palec.
Scott Hanselman. .NET, C#
“Jestem wykładowcą. Przemawiam do każdego, kto chce mnie słuchać. Pisałem kod, z którego korzystałeś. Bloguję od ponad dekady, programuję dwa razy dłużej i o połowę mniej czasu tworzę podcasty” — tak o sobie pisze Scott Hanselman, Senior Program Manager w Microsoft’s Developer Division. W Microsofcie zajmował się m.in. rozwojem Microsoft Azure oraz ASP.NET. Jest autorem książek poświęconych .ASP i trenerem, który wystąpił przed ponad 500 tysiącami deweloperów na całym świecie.
Scott Hanselman to znany w branży bloger, wiele lat poświęcił na dzielenie się wiedzą, którą zdobył przez lata pracy na stanowisku programisty. Pracował w kilku firmach i na uczelni, gdzie był adiunktem, który uczył C#. Po godzinach stworzył program PalmPilot, dla diabetyków, który sprzedał w 2003 roku. Popularność przyniosła mu działalność blogowa, tworzenie list narzędzi przydatnych programistom, ale też nagrywanie podcastów. W jednym z biogramów napisał, że zbiera 50 tys. dolarów na badania dot. cukrzycy.
Zdjęcie główne artykułu pochodzi z itsfoss.com