Przeczytaj
Klasyfikacja języków programowania
Języki programowania możemy podzielić według paradygmatówparadygmatów, czyli zbiorów pewnych cech.
Paradygmaty kompilowane i interpretowane
Kod w języku kompilowanym musi zostać przetworzony przez program zwany kompilatorem, aby można było go uruchomić; przykłady języków: C, C++, Java, Go.
Program napisany w języku interpretowanym może być wykonywany bezpośrednio na kodzie źródłowym przez program zwany interpreterem, który wykonuje kod linijka po linijce; przykłady języków: Python, Ruby, JavaScript, PHP.
Paradygmaty imperatywne i deklaratywne
W języku imperatywnym korzystamy z instrukcji, aby bezpośrednio zmienić stan programu – mówimy, jak coś zrobić. Przykłady to C++, Java, Lua. W języku deklaratywnym deklarujemy oczekiwany rezultat (wskazujemy, co ma być zrobione). Przykłady: SQL, regex, Prolog.
Paradygmaty obiektowe, funkcjonalne, proceduralne
W języku obiektowym operujemy na obiektach, czyli strukturach danych z pewnymi informacjami oraz interakcjami między sobą; przykłady to Java, Kotlin, C#.
W języku funkcjonalnym programy składają się z nałożonych na siebie matematycznych funkcji, które operują na zwracanych przez siebie rezultatach; przykłady to Haskell, Elixir, Clojure.
W językach proceduralnych programy składają się z kolejnych kroków, które należy wykonać, aby otrzymać pożądany rezultat; przykłady takich języków programowania to C, C++, Python.
Przedstawiony podział jest bardzo dynamiczny i wiele z języków programowania można umieścić w kilku różnych kategoriach. Przykładowo Python, choć zazwyczaj traktowany jako język interpretowany, może zostać skompilowany do programu niewymagającego interpretera. W języku C++ możemy stosować zarówno programowanie obiektowe, funkcjonalne i proceduralne, jak również deklaratywne i imperatywne. Języki, które pozwalają na użycie więcej niż jednego paradygmatu, nazywamy wieloparadygmatowymi.
Najważniejsze języki programowania
W szkole podstawowej poznaliśmy już kilka języków programowania, np. HTML, Scratch, Logo czy Visual Basic.
Aktualnie jednym z najpopularniejszych języków jest Java. Znajduje zastosowanie we wszelkiego rodzaju aplikacjach internetowych przeznaczonych do wyświetlania w przeglądarce, jak również aplikacjach mobilnych.
Wciąż popularnym językiem jest język C, oraz pokrewny mu język C++.
Język C często jest używany do programowania urządzeń takich jak satelity czy urządzenia szpitalne, które często pracują na ograniczonych zasobach i nie mogą ulegać awariom.
C++ jest wykorzystywany w niemal każdej gałęzi informatyki, od gier komputerowych, przez programowanie systemów operacyjnych, aż do zaawansowanych symulacji fizycznych.
Językiem, którego popularność nieustannie rośnie, jest Python. Wśród jego zalet możemy wymienić przejrzysty zapis. Python jest także głównie językiem interpretowanym, dlatego po wprowadzeniu zmian w kodzie można bardzo szybko uruchomić program, co ułatwia tworzenie większych aplikacji. Jest on wykorzystywany między innymi do tworzenia gier czy oprogramowania serwerów.
Język SQL jest jednym z głównych języków służących do obsługi baz danych. Służy on zarówno do zapisywania danych, jak i do ich odczytywania, przy czym oferuje możliwości filtrowania według podanych kryteriów.
Język JavaScript służy do dodawania interaktywnych elementów do stron internetowych. Bardzo ważnym aspektem użycia JavaScript jest środowisko Node.js, za pomocą którego można stworzyć serwer w tym samym języku, co aplikację po stronie przeglądarki – bez Node.js JavaScript nie oferuje możliwości serwera.
PHP to język służący do tworzenia oprogramowania do serwerów. Chociaż w znacznej mierze został zastąpiony przez języki takie jak JavaScript czy Python, nadal jest wykorzystywany w projektach takich jak Wikipedia czy WordPress.
Asemblery i kody maszynowe
Co dzieje się, kiedy chcemy uruchomić program w języku kompilowanym?
Na początku, po sprawdzeniu kodu pod względem poprawności składni, kompilator tłumaczy go do języka asemblera (często nazywanego po prostu asemblerem), który jeszcze nie może zostać uruchomiony. Ten proces nazywa się kompilacją.
Asembler to program tłumaczący kod z języka asemblera na kod maszynowy. Technicznie rzecz biorąc, za język asemblera możemy uznać każdy język programowania, który bardzo ściśle odpowiada pojedynczym instrukcjom, jakie wykonuje procesor.
Dopiero po procesie zwanym asemblacją otrzymujemy kod maszynowy, który może zostać bezpośrednio odczytany i wykonany przez procesor. Ponieważ sam język asemblera jest bardzo nieczytelny, powstały kod maszynowy jest dla ludzi praktycznie niezrozumiały, jednak dla komputera jest to idealna forma. Wynika to z tego, że kod maszynowy to postać programu, która jest przeznaczona do bezpośredniego lub prawie bezpośredniego wykonania przez procesor i jest dopasowana do konkretnego typu procesora (wyrażona w postaci zrozumiałych dla niego kodów rozkazów i argumentów).
Od kodu do programu
Słownik
zbiór cech charakteryzujących grupy języków programowania
język, który może zostać przyporządkowany do kilku różnych paradygmatów
program służący do tłumaczenia kodu z języka asemblera na kod maszynowy
proces tłumaczenia kodu z języka programowania na język asemblera
każdy język, który jest bardzo podobny do poszczególnych instrukcji wykonywanych przez procesor
kod, który jest wykonywany przez procesor; jest to ostateczna forma programu w języku kompilowanym, która może zostać uruchomiona
proces tłumaczenia kodu z języka asemblera na kod maszynowy
język, którego składnia i słowa kluczowe mają ułatwić rozumienie kodu programu przez człowieka; nim procesor komputera zrozumie taki kod, należy poddać go procesowi kompilacji; do języków wysokiego poziomu zalicza się m.in. Pascal, C, C++, Logo i BASIC
język programowania, w którym jednej operacji elementarnej odpowiada najczęściej jedna operacja wykonywana przez procesor
język programowania służący do kontrolowania danej aplikacji i interpretowany wewnątrz niej