Na świecie istnieje około 600 języków programowania i każdego roku powstają nowe. Ta branża rozwija się niemal z prędkością światła a popularność poszczególnych języków z roku na rok ewoluuje i wśród dzisiejszych programistów mało kto jeszcze wie jakie języki wiodły prym w początkach programowania. Postanowiliśmy się temu przyjrzeć i specjalnie dla Was zebraliśmy najpopularniejsze języki programowania na przestrzeni 1965-2020. Sprawdzicie jaki język powstał w roku Waszych narodzin i koniecznie dajcie nam znać:)

Fortran (1954-1957)

Stworzony w latach 1954 – 1957 jest uznawany za pierwszy język programowania i… jest używany do tej pory (sic!). Pierwszy kompilator Fortranu stworzył zespół Johna Backusa, który pracował wówczas dla IBM. Kompilator ten był pierwszym w historii kompilatorem języka wysokiego poziomu w którym kod i składnia są bardzo przystępne dla człowieka, a „niezrozumiałe” dla komputera, który potrzebuje dłuższego i bardziej skomplikowanego procesu kompilacji, aby wykonać program.

W kolejnych latach został on dość mocno zoptymalizowany, ponieważ autorzy obawiali się, że nikt nie będzie go używał, jeśli szybkość programów nie będzie porównywalna z szybkością programów napisanych w asemblerze. Co ciekawe, język ten jest dalej w użyciu, pomimo tego, że ma już ponad 60 lat;-) Spróbujcie swoich sił i odpalcie „Hello World” (w Visual Studio Code wystarczy zastosować dodatek Modern Fortran) — powodzenia! 🙂

COBOL (1960 r.)

COBOL (ang. Common Business Oriented Language, stworzony w 1960 roku) jest jednym z najstarszych języków programowania. Został stworzony szczególnie do prac programistycznych w dziedzinie biznesu i ekonomii. Mimo, że język ten obecnie przechodzi powoli do historii, to warto go znać i przyjrzeć się mu bliżej (szczególnie, że do tej pory można znaleźć oferty pracy w tym języku!). Programy napisane w COBOLu nadal używane są na całym świecie w instytucjach rządowych i biznesowych i działają na licznych systemach operacyjnych takich jak z/OS, VME, Unix, OpenVMS oraz Windows. W 1997 Grupa Gartner wydała raport, który wykazał, że 80% światowego biznesu działało na COBOLu, przy prawie 200 mld linii kodu i 5 miliardami linii pisanymi rocznie. Stworzona w 1996/7 Java nie zdołała przyćmić pozycji COBOLa!

COBOL jest językiem imperatywnym, proceduralnym, oraz od 2002 roku, obiektowym. Został on zaprojektowany w 1960 roku przez CODASYL i częściowo oparty był na wcześniejszym języku programowania stworzonym przez Grace Hopper, popularnie nazywaną „babcią COBOLa”. COBOL ustandaryzowano w 1968 roku i od tego czasu był ulepszany cztery razy. Rozszerzenia dotyczyły wsparcia programowania obiektowego oraz strukturalnego. 

Krytycy COBOLa zarzucają mu brak struktury. Zarzut ten odnosi się przede wszystkim do tak zwanego kodu spaghetti, przyczyną powstania którego jest z kolei wykorzystywanie komendy GO TO (komenda ta używana jest do przechodzenia po programie w przód i wstecz, w sposób który sprawia, że logika programu staje się trudna do zrozumienia). Aktualnie GO TO w dużej mierze zastępowane jest komendą PERFORM oraz procedurami, których zastosowanie znacząco niweluje ten zarzut.

ALGOL (ok. 1960 r.)

Z angielskiego ALGOrithmic Language — język programowania, który odegrał bardzo ważną rolę w historii informatyki. Wpłynął istotnie na kształtowanie się innych języków, w tym Pascala. Od momentu powstania przez około 20 lat ALGOL (lub jego dialekty) był de facto standardem opisu algorytmów w publikacjach naukowych i podręcznikach. ALGOL  był pierwszym językiem zaprojektowanym we współpracy międzynarodowej – w pracach nad nim uczestniczyli między innymi Peter Naur i John Backus. Do opisu języka wykorzystano stworzoną przez Backusa podczas projektowania Fortranu notację BNF, zmodyfikowaną przez Naura. Na podstawie języka ALGOL Niklaus Wirth stworzył Algol-W, który posłużył mu następnie do zdefiniowania Pascala.

ALGOL 60 miał jednak wady, które zdecydowały o tym, że nie odniósł sukcesu przemysłowego. Nie określono w nim żadnych instrukcji wejścia/wyjścia, pozostawiając je konkretnym implementacjom, które na dodatek były utrudnione przez jego elastyczność i niezależność od sprzętu. Nie uzyskał też wsparcia firm komputerowych (głównie ze strony dominującego na rynku w latach 60. IBM, który zainteresowany był rozwojem COBOLa i PL/I).

Assembler (1949 r.)

Assembler to język z rodziny języków programowania niskiego poziomu. Jest to jeden z nielicznych języków programowania, który przysparza nowym użytkownikom kłopotów ze względu na to, że nie nadaje się do nauczania programowania. 

Assembler jest tłumaczony bezpośrednio do kodu maszynowego (umożliwia przeprowadzenie asemblacji — czyli przetłumaczenie języka asemblera na język maszynowy), co daje możliwość prawidłowego dopasowania oprogramowania do danego sprzętu. Jest to tak zwany typowy język jeden-do-jednego w sposobie komunikacji z danym językiem maszynowym.

Asembler może być użyty do optymalizacji prędkości lub rozmiaru.
W przypadku optymalizacji prędkości, używane są nowoczesne kompilatory optymalizacyjne do renderowania języków wysokiego poziomu do kodu, który może działać tak szybko, jak ręcznie napisany asembler. Pomimo kontrprzykładów, które można znaleźć, złożoność nowoczesnych procesorów i podsystemów pamięci sprawia, że efektywna optymalizacja staje się coraz trudniejsza dla kompilatorów, a także programistów montażowych.

BASIC (1964 r.)

Basic (Beginner’s All-purpose Symbolic Instruction Code) – język programowania wysokiego poziomu, opracowany w 1964 przez Johna George’a Kemeny’ego i Thomasa E. Kurtza w Dartmouth College w oparciu o Fortran i Algol-60. Jego pierwsza wersja znana była później pod nazwą Dartmouth BASIC, pierwszy program w BASIC-u został uruchomiony 1 maja 1964 na komputerze General Electric GE-225 typu mainframe. 

Założenia tego języka programowania uwzględniały łatwość użytkowania, wszechstronność zastosowań, interaktywność i dobrą komunikację z użytkownikiem poprzez jasne komunikaty błędów. 

BASIC wybił się na czoło języków do zastosowań amatorskich i półprofesjonalnych po wprowadzeniu na rynek mikrokomputera Altair 8800. Twórcami dialektu BASIC-a dla tej maszyny byli Bill Gates i Paul Allen. BASIC szybko zaimplementowany został przy budowie serii komputerów Apple, a później (jako GW BASIC) w IBM PC.

Dziś istnieje ponad 200 różnych dialektów języka BASIC — i dalej ich przybywa!

APL (ok. 1965 r.)

 Język programowania wysokiego poziomu, znany ze swojej zwięzłości i możliwości generowania macierzy. Opracował go w połowie lat 60. Kenneth E. Iverson.

Język jest stosowany na wielu platformach, od mikrokomputerów do maszyn mainframe, i jest wykorzystywany do tworzenia modeli matematycznych. Jest to głównie język interpretowany, ale dostępne są też kompilatory języka.

APL posługuje się znakowymi symbolami i przed pojawieniem się graficznych interfejsów użytkownika wymagał specjalnego oprogramowania lub przekonstruowanej pamięci ROM, aby komputer mógł je wyświetlać.

Lisp (1958 r.)

Rodzina języków programowania z długą historią i charakterystyczną składnią. Zaprojektowany przez Johna McCarthy’ego na MIT w 1958 roku. Pierwszym interpreterem języka Lisp była implementacja funkcji eval wykonana przez studenta McCarthy’ego – Steve’a Russella. Lisp jest drugim z kolei pod względem wieku językiem programowania wysokiego poziomu pozostającym w użyciu (starszy jest tylko Fortran). Podobnie jak Fortran, Lisp ulegał na przestrzeni czasu licznym zmianom. Powstało również wiele jego dialektów. Dziś do najpopularniejszych należą trzy: Common Lisp, Scheme i Clojure.

Lisp powstał jako wygodna matematyczna notacja dla programów komputerowych, oparta na rachunku lambda stworzonym przez Alonzo Churcha. Szybko został najchętniej wybieranym językiem do badania i rozwoju sztucznej inteligencji. Wywodzi się z niego wiele technik programistycznych, takich jak struktury drzewiaste, odśmiecanie pamięci, dynamiczne typowanie czy nowe koncepcje w programowaniu obiektowym.

Pascal (1968 r.)

Pascal jako język programowania pojawił się stosunkowo późno (Fortran, Cobol i IBM PL/1 pojawiły się już we wczesnych latach sześćdziesiątych). Niklaus Wirth zaczął tworzyć Pascala w 1968 kiedy to powstał podręcznik. Pierwszy kompilator napisany w Pascalu, który miał być ręcznie skompilowany do Fortrana okazał się porażką, druga próba się powiodła, językiem docelowym został język Scallop. Pascal został opublikowany w 1970, kiedy to został użyty w kursach na Politechnice Federalnej w Zurychu. 

W przeciwieństwie do języka C, który został stworzony jako język programowania wysokiego poziomu, ale zapewniający ciągle dostęp niskopoziomowy jak języki asemblera, Pascal został stworzony przede wszystkim jako język do tworzenia strukturalnych aplikacji.

Popularność Pascala znacznie wzrosła z pojawieniem się Delphi – środowiska programistycznego, opartego na obiektowym Pascalu, pozwalającego na błyskawiczne tworzenie atrakcyjnych wizualnie aplikacji pod Windows.

W drugiej połowie lat 90-tych pionierzy języków (Fortran, Pascal, COBOL) znikają już na dobre z czołówki TOP5 popularności języków programowania. Od teraz czołowe miejsca rankingu zajmują już dobrze dziś znane: C, C++, Python, PHP czy najmłodsze z nich Java i C#.

C (1969-1973)

Imperatywny, strukturalny język programowania wysokiego poziomu stworzony na początku lat siedemdziesiątych XX w. przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu. 

Starszym bratem języka C był interpretowany język B, który został następnie rozwinięty w język C. Pierwszy okres rozwoju języka to lata 1969–1973. W roku 1973 w języku C udało się zaimplementować jądro systemu operacyjnego Unix. W 1978 roku Brian Kernighan i Dennis Ritchie opublikowali dokumentację języka pt. C Programming Language (wydanie polskie: Język C). Na bazie języka C, w latach osiemdziesiątych, Bjarne Stroustrup stworzył język C++, który ułatwia znacząco programowanie obiektowe. 

Ada (ok. 1970 r.)

Strukturalny, kompilowany, imperatywny, statycznie typowany i obiektowy język programowania opracowany przez Jean Ichbiaha i zespół z CII Honeywell Bull w latach 70. XX wieku. Język ten wygrał konkurs zorganizowany przez Departament Obrony USA (U.S. Department of Defense – DoD), pokonując 19 innych projektów. Nazwa języka, nadana przez DoD, pochodzi od imienia lady Augusty Ady Lovelace, uważanej za pierwszą programistkę w historii.

Pojawienie się Ady wywołało duże zainteresowanie wśród społeczności programistów w pierwszych latach swojego istnienia. Wśród zwolenników pojawiały się opinie, że może ona zostać głównym językiem programowania ogólnego przeznaczenia. Jean Ichbiah publicznie stwierdził, że w przeciągu 10 lat na rynku pozostaną jedynie dwa języki: Ada i Lisp — trochę się jednak pomylił. 

C++ (ok. 1979 r.)

Język ten został zaprojektowany przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i silną statyczną kontrolę typów. Zachowanie zgodności z językiem C na poziomie kodu źródłowego pozostaje jednym z podstawowych celów projektowych kolejnych standardów języka.

Umożliwia abstrakcję danych oraz stosowanie kilku paradygmatów programowania: proceduralnego, obiektowego i generycznego, a także funkcyjnego i modularnego. Charakteryzuje się wysoką wydajnością kodu wynikowego, bezpośrednim dostępem do zasobów sprzętowych i funkcji systemowych, łatwością tworzenia i korzystania z bibliotek, niezależnością od konkretnej platformy sprzętowej lub systemowej (co gwarantuje wysoką przenośność kodów źródłowych) oraz niewielkim środowiskiem uruchomieniowym. Podstawowym obszarem jego zastosowań są aplikacje 
i systemy operacyjne.

W latach 90. XX wieku język C++ zdobył pozycję jednego
z najpopularniejszych języków programowania ogólnego przeznaczenia.
Na początku XXI wieku liczbę programistów języka C++ szacowano na około
3 miliony.

Visual Basic (1991 r.)

Język programowania wysokiego poziomu i narzędzie programowania firmy Microsoft. Składnia jest oparta na języku BASIC, ale unowocześniona. Zawiera kilkadziesiąt instrukcji, funkcji i słów kluczowych. Nie jest językiem w pełni obiektowym, gdyż nie udostępnia np. możliwości dziedziczenia, czy polimorfizmu. Wykorzystuje technologię ActiveX.

Java (1995 r.)

Współbieżny, oparty na klasach, obiektowy język programowania ogólnego zastosowania. Został stworzony przez grupę roboczą pod kierunkiem Jamesa Goslinga z firmy Sun Microsystems. Java jest językiem tworzenia programów źródłowych kompilowanych do kodu bajtowego, czyli postaci wykonywanej przez maszynę wirtualną. Język cechuje się silnym typowaniem. Jego podstawowe koncepcje zostały przejęte z języka Smalltalk (maszyna wirtualna, zarządzanie pamięcią) oraz z języka C++ (duża część składni i słów kluczowych).

Java to język silnie ukierunkowany na programowanie obiektowe, w przeciwieństwie do C++, którego miał oryginalnie zastąpić, ze względu na swoją prostotę. Jednak prostota tego języka jest mocno dyskusyjna — początki nauki mogą być bardzo trudne i zniechęcające.

JavaScript (1995 r.)

Jest jednym z wielu występujących obecnie języków programowania zorientowanym obiektowo. Technologię tą opracowano
w taki sposób, aby jej kod mógł być przemieszany z kodem HTML oraz wszystkie jej interakcje z ekranem i użytkowaniem mogły korzystać właśnie z tego kodu. JavaScript to język skryptowy, łatwy do opanowania, który obsługuje w dzisiejszych czasach większość najbardziej popularnych wyszukiwarek tj. Opera czy Mozilla.

Perl (1987 r.)

Język Perl został zaprojektowany jako praktyczne narzędzie do analizy plików tekstowych i tworzenia raportów. Jednym z naczelnych haseł jest Można to zrobić na różne sposoby. Jednym z podstawowych zamysłów projektu było uczynienie łatwych zadań łatwymi do wykonania, zaś trudnych – wykonalnymi. Wszechstronność Perla pozwala na programowanie w różnych modelach: proceduralnym, funkcyjnym czy obiektowym, chociaż purystom przeszkadza podejście polegające na przedkładaniu wygody programisty nad czystość projektu.

Umożliwia powiązanie systemów i struktur danych, których współpraca nie była przewidywana w momencie projektowania.

PHP (1995 r.)

PHP jest najczęściej stosowany do tworzenia skryptów po stronie serwera WWW, ale może być on również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym.

Pierwsza wersja PHP, rozpowszechniana pod nazwą PHP/FI, została stworzona przez Rasmusa Lerdorfa w roku 1994 jako zestaw skryptów Perla służący do monitorowania internautów odwiedzających jego witrynę. Gdy ruch stał się zbyt duży, przepisał je w języku C, dodając przy tym nowe opcje. Niedługo później ludzie zaczęli prosić go o możliwość użycia tych narzędzi na swoich stronach, zatem 8 czerwca 1995 roku autor udostępnił publicznie kod źródłowy. Już kilka miesięcy później projekt przekształcił się w zalążek znanego obecnie języka programowania, gdy został połączony
z innym narzędziem Rasmusa Lerdorfa – Form Interpreter, które dało drugi człon nazwy. W 1997 roku pojawiło się PHP/FI 2.0, posiadające wtedy kilka tysięcy aktywnych użytkowników na całym świecie oraz obsługujące 50 tys. domen. Wersja ta spędziła większość „życia” na beta testach. Oficjalne wydanie było tylko jedno i ukazało się w listopadzie 1997 roku.

C# (ok. 2000 r.)

C# jest wysokopoziomowym, obiektowym językiem programowania ogólnego przeznaczenia, który jest odpowiedzią Microsoftu na Jave. C# jest ścisłe zintegrowany z platformą .NET, która jest zarówno frameworkiem jak i środowiskiem uruchomieniowym.

C# był stworzony i jest najczęściej stosowany do pisania aplikacji na systemy Windows, ale odkąd .NET framework trafił na systemy Linux i Mac możliwe jest tworzenie natywnego oprogramowania w tym języku praktycznie na każdą platformę.

Ponadto, C# używany jest do tworzenia aplikacji webowych po stronie serwera za pomocą frameworka ASP.NET. Dzięki narzędziom takim jak Xamarin możliwe jest tworzenie wieloplatformowych aplikacji mobilnych. Co więcej, C# wykorzystywany jest w popularnym silniku Unity, za pomocą, którego można tworzyć gry na PC, konsole, urządzenia mobilne czy strony internetowe, a nawet platformy VR (Virtual Reality).

Python (1991 r.)

I ostatni z naszych liderów — Python. Jest to język programowania wysokiego poziomu ogólnego przeznaczenia, o rozbudowanym pakiecie bibliotek standardowych, którego ideą przewodnią jest czytelność i klarowność kodu źródłowego. Jego składnia cechuje się przejrzystością i zwięzłością. Python wspiera różne paradygmaty programowania: obiektowy, imperatywny oraz w mniejszym stopniu funkcyjny. Posiada w pełni dynamiczny system typów i automatyczne zarządzanie pamięcią, będąc w tym podobnym do języków Perl, Ruby, Scheme czy Tcl. Podobnie jak inne języki dynamiczne jest często używany jako język skryptowy. Interpretery Pythona są dostępne na wiele systemów operacyjnych.

Dzięki temu, że Python jest rozwijany jako projekt Open Source, każdy z użytkowników może dołożyć swoją cegiełkę do jego rozwoju.  

Myślicie, że zostanie na prowadzeniu dłużej, czy inny język przejmie od niego prowadzenie? 

Którym językiem programowania jesteś — sprawdź podsumowanie!

Jeśli interesuje Cię ten temat, sprawdź inne artykuły:

logo IT-Leaders

IT-Leaders.pl to pierwsza w Polsce platforma łącząca Specjalistów IT bezpośrednio z pracodawcami. Anonimowy, techniczny profil i konkretnie określone oczekiwania finansowe to tylko niektóre z cech wyróżniających platformę. Zarejestruj się i zobacz jak Cię widzi pracodawca.