Historia programowania |
Mechaniczne urządzenia liczące są konstruowane już od czasów starożytnych. Mechanizm z Antykithiry pochodzący z czasów starożytnej Grecji (150 - 100 p.n.e.) był mechanicznym kalkulatorem opartym o zespół kół zębatych służącym do obliczeń astronomicznych[1]. Arabski wynalazca Al-Jazari zbudował w 1206 roku programowalny automat perkusyjny z pałeczkami oraz krzywkami umieszczonymi na drewnianym bębnie w określonych miejscach. W miarę obrotu bębna uderzały one o dźwignie, które odgrywały określony dźwięk na instrumencie perkusyjnym. W 1805 roku powstało krosno tkackie Josepha Marie Jacquarda. Maszyna korzystała z kart dziurkowanych, na których zapisany był wzór tkaniny do wytworzenia. Zmieniając zestaw kart, można było uzyskać tkaniny z innymi wzorami. Pomysł ten został później podchwycony przez Hermana Holleritha z IBM.
W 1833 roku Charles Babbage zaczął budowę maszyny analitycznej będącej w istocie mechanicznym, programowalnym protokomputerem, który wyprzedzał swoją epokę. Z powodu trudności konstrukcyjnych, a także braku zainteresowania rządu Wielkiej Brytanii wynalazca nie dokończył swojego wynalazku, lecz projekt został opisany przez Adę Lovelace, która napisała także dla niego pierwszy program obliczający liczby Bernoulliego i w ten sposób została pierwszym programistą (a właściwie programistką) w historii.
Wynalezienie architektury von Neumanna umożliwiło przechowywanie programów komputerowych w pamięci operacyjnej komputera razem z danymi. Pierwsze programy musiały być składane bezpośrednio z operacji oferowanych przez konkretną maszynę, często w notacji binarnej. Każdy model używał innego zestawu komend, co ograniczało przenośność. W późniejszych latach zaprojektowano pierwsze asemblery, gdzie programista mógł wpisywać instrukcje w formacie tekstowym z wykorzystaniem zapisu symbolicznego zamiast numeru rozkazu, np. ADD X, TOTAL. W 1954 roku stworzony został pierwszy język programowania wysokiego poziomu, FORTRAN, gdzie programiści mogli bezpośrednio formułować wyrażenia matematyczne w podobnym stylu, do jakiego jesteśmy przyzwyczajeni: y = x^2 + 5*x 7. Tekst programu, lub inaczej jego źródło, było tłumaczone do postaci zrozumiałej dla maszyny za pomocą specjalnej aplikacji zwanej kompilatorem. W późniejszych latach powstały nowe języki programowania, często zorientowane do tworzenia konkretnych typów aplikacji.
W początkowych latach istnienia komputerów (ok. 1940-1960), programy komputerowe były wprowadzane do pamięci komputera za pośrednictwem kart dziurkowanych lub papierowych taśm. Pod koniec lat sześćdziesiątych pojawiły się pierwsze urządzenia do elektronicznego przechowywania informacji oraz terminale komputerowe, dzięki którym kod źródłowy mógł być wprowadzany bezpośrednio do komputera za pomocą edytorów tekstu.
Wraz z rozwojem Internetu oraz sieci komputerowych pojawiły się narzędzia ułatwiające zespołową pracę nad programami, takie jak systemy kontroli wersji. Kod źródłowy jest tutaj przechowywany na centralnym serwerze, natomiast programiści wysyłają do niego poprawki z własnych kopii lokalnych. Wszystkie zmiany są rejestrowane, a program zarządzający potrafi inteligentnie łączyć ze sobą fragmenty modyfikowane niezależnie przez dwóch programistów, dzięki czemu nie może zaistnieć sytuacja przypadkowego skasowania efektu pracy innego członka zespołu.
Obecnie programowanie jest atrakcyjną karierą w niemal każdym kraju rozwiniętym, ze względu na stale rosnący popyt na nowe aplikacje komputerowe. Niektóre z najbogatszych osób świata są programistami z zawodu, np. Bill Gates (Microsoft), Larry Ellison (Oracle), Larry Page (Google) czy Hasso Plattner (SAP).Jak zwykle na koncu obrazek w nagrode. |