Historia programu 'Hello, World’
To najsłynniejszy program. Znany jako pierwszy przykład w prawie każdym języku programowania dla każdego programisty, skąd wzięła się ta wiadomość?
Jako funkcja, program komputerowy po prostu mówi komputerowi, aby wyświetlił słowa „Hello, World!”. Tradycyjnie jest to pierwszy program, którego programiści używają do testowania systemów. Dla programistów, zobaczenie tych dwóch słów na ekranie oznacza, że ich kod może się skompilować, załadować, uruchomić i mogą zobaczyć wyjście.
To jest test, oznaczający początek programu. W ciągu ostatnich kilkudziesięciu lat, stało się to uświęconą tradycją. Wszyscy programiści, którzy pojawili się przed Tobą, w pewnym momencie poczuli ten sam przypływ adrenaliny po uświadomieniu sobie, że udało im się skutecznie porozumieć z komputerem. Oto jak zaczęły się te dwa najbardziej znane słowa w historii programowania:
Skąd się wzięło 'Hello World’?
Brian Kernighan, autor jednej z najbardziej poczytnych książek o programowaniu, „Język programowania C”, również stworzył „Hello, World”. Po raz pierwszy odwołał się do „Hello World” w poprzedniku książki „C Programming Language”: A Tutorial Introduction to the Programming Language B wydanej w 1973 roku.
main( ) {
extrn a, b, c;
putchar(a); putchar(b); putchar(c); putchar(’!*n’);
} 1 'hell’;
b 'o, w’;
c 'orld’;
Niestety, sama legenda nie potrafi jednoznacznie wskazać, kiedy i dlaczego wybrał słowa „Hello, World”. Zapytany o to, co wywołało pomysł na nazwę „Hello, World” w wywiadzie dla Forbes India, odpowiedział, że jego pamięć jest niewyraźna.
„Pamiętam tylko, że widziałem kreskówkę, która pokazywała jajko i pisklę, a pisklę mówiło „Hello, World.”
W tamtym czasie ani Kernighan, ani jego kolega Dennis Ritchie, nieżyjący już autor języka C, nie mogli sobie wyobrazić, jak wielkie znaczenie dla dzisiejszego programowania będzie miał ten język i książka z samouczkami. Pomysły te były niczym innym jak projektem badawczym w Bell Labs, oddziale badawczo-rozwojowym firmy AT&T. Chociaż nikt nie jest w stanie naukowo wyjaśnić, dlaczego „Hello, World” stało się szalenie popularne, program „Hello, World” wyznacza istotną zmianę w historycznej retoryce programowania. Przyjrzyjmy się jego historycznemu kontekstowi.
Still in its Shell
Trudno to sobie dzisiaj wyobrazić, ale zanim „Hello World” zostało opublikowane w książce Kernighana, komputery nosiły negatywne konotacje wśród społeczeństwa przed latami siedemdziesiątymi. Były to masywne mainframe’y, niewiarygodnie powolne, wypełniały cały pokój i wymagały pełnego sztabu naukowców lub badaczy do konserwacji. W rzeczywistości, przed późnymi latami 70-tymi, informatycy programowali używając stosów kart dziurkowanych!
Ludzie generalnie postrzegali komputery jako nietykalne, skomplikowane i absurdalnie drogie urządzenia zarezerwowane tylko dla elity w środowisku akademickim, obronnym lub rządowym. W rzeczywistości tytani przemysłu, którzy poświęcili swoje życie światu informatyki, ciężko pracowali, aby przezwyciężyć to piętno. Zadziwiające jest to, jak wiele przeszliśmy od tamtych czasów. Dziś niektórzy ludzie rzeczywiście odczuwają niepokój, gdy nie mają swoich osobistych urządzeń.
Jednym z pierwszych słynnych zastosowań komputerów w USA było użycie ich w 1890 r., gdy Automatic Electrical Tabulating Machine obliczyła dane dla ponad 60 milionów Amerykanów. W latach 40. komputery Bombes i Colossus rozszyfrowały niemieckie kody podczas II wojny światowej.
W latach 50. pojawiły się pierwsze komercyjne komputery, takie jak Zuse 3 i UNIVAC, służące do wykonywania operacji arytmetycznych. Ale żeby go kupić, trzeba było mieć miliony dolarów.
Z edukacyjnego punktu widzenia większość książek o wcześniejszych językach programowania, takich jak FORTRAN czy BASIC, zaczynała się od udowodnienia pewnej tezy: Komputery są, w rzeczywistości, użyteczne. Tak uważa algorytmista i badacz John Mount. Mount twierdzi, że wybuchowa popularność „Hello, World” uwolniła informatyków od ciężaru uzasadniania, dlaczego komputery są dobre dla reszty społeczeństwa.
Na przykład w książce z 1964 r. My Computer Likes Me When I Speak Basic, wstęp mówi o celu języków programowania w ogóle. Dodatkowo, pierwszy przykład wyprowadza: „MY HUMAN UNDERSTANDS ME.”
Użycie tego przykładu ma na celu wzmocnienie niepopularnej idei, że ludzie mogą, w rzeczywistości, rozmawiać z komputerami. Programowanie dynamiczne z 1956 roku rozpoczyna się od przykładów, które można zastosować do zwykłego rachunku.
Dopiero w języku programowania C „Hello World” naprawdę nabrało rozpędu.
’Hello World:’ Programming Has Arrived
Jednym z głównych katalizatorów, który spowodował rozpowszechnienie się „Hello World”, było równoległe wprowadzenie na rynek PDP-11, jednego z pierwszych sukcesów komercyjnych mikrokomputerów. Digital Equipment Corporation (DEC) sprzedała ponad 600,000 jednostek PDP-11 w cenie około 10,000 dolarów każda. Ten punkt cenowy był drastycznie niższy niż miliony dolarów, które zazwyczaj kosztują komputery.
Plus, 16-bitowa seria PDP-11 nie wymagała kart dziurkowanych. Po raz pierwszy można było używać języka programowania do bezpośredniej rozmowy z komputerem. Ale aby zwiększyć akceptację społeczną, DEC nie określał go mianem komputera. Sprzedawał go jako „Programowany Procesor Danych”, aby oddzielić ten produkt od komputerów mainframe z przeszłości. Gdy coraz więcej osób kupowało programowalne komputery, coraz więcej osób czytało język programowania C, a tysiącom ludzi ponownie przedstawiono „Hello World”
Prawie każdy programista, który pracował nad oprogramowaniem desktopowym w latach 80. i 90. posiadał egzemplarz tej książki lub powoływał się na nią. Do dziś sprzedano miliony egzemplarzy.
Prawdopodobnie istniało wiele różnych podstawowych programów, od których można było zacząć. Ale 'Hello World’ jest dziś zdecydowanie najbardziej znany. Każdy programista pamięta swoje pierwsze 'Hello World’ jako rytuał przejścia. Wielu z nich może nie zdawać sobie z tego sprawy, ale za każdym razem, gdy programista odczuwa słodkie uczucie triumfu po pokonaniu pierwszej przeszkody w programowaniu, wypowiadając słowa 'Hello World’, przeżywa moment, który wykracza poza historię.