Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1
Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania, zwany również programem źródłowym lub kodem źródłowym, na język maszynowy nazywamy kompilacją. Źródło: P. Fulmański, Ś. Sobieski, Wstęp do informatyki, Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 2005 2
Kompilacja vs. interpretacja Interpretacja W celu uruchomienia programu interpretowanego, musimy posiada dla niego środowisko uruchomieniowe zwane interpreterem. Interpreter jest podobnie jak kompilator programem, który umożliwia nam uruchomienie programu. Różnicą jest to, że interpreter nie produkuje programu wykonywalnego w postaci pliku wykonywalnego, a tłumaczy program w locie na kod maszynowy i wykonuje go na bieżąco. Źródło: P. Fulmański, Ś. Sobieski, Wstęp do informatyki, Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 2005 3
Krótki przegląd języków programowania 1. Języki kompilowane (samodzielne programy): Delphi (Pascal), C, C++. 2. Języki częściowo kompilowane (powstaje kod bajtowy (postać pośrednia) wymagający platformy uruchomieniowej): Java - JVM (Java Virtual Machine), JRE (Java Runtime Environment), C# -.NET Framework. Wymienione platformy są bezpłatne. 4
Krótki przegląd języków programowania 3. Języki interpretowane (wymagany jest interpreter): JavaScript (interpreterem jest przeglądarka), Perl (Practical Extraction and Report Language, praktyczny język ekstrakcji i raportowania), PHP (obecnie PHP Hypertext Preprocessor (akronim rekurencyjny), pierwotnie Personal Home Page) stosowany głównie do dynamicznego tworzenia stron internetowych, Python (stworzony w 1990 roku przez Holendra Guido Van Ruby (stworzony w 1995 roku przez Japończyka Yukihiro Matsumoto), VBA (Visual Basic for Aplications), interpretatorem jest pakiet Microsoft Office, najbardziej przydatny w arkuszu kalkulacyjnym. 5
Krótki przegląd języków programowania Podział ze względu na tzw. paradygmat programowania (wzorzec programowania). 1. Programowanie strukturalne - to paradygmat programowania zalecający hierarchiczne dzielenie kodu na bloki, z jednym punktem wejścia i jednym lub wieloma punktami wyjścia. Chodzi przede wszystkim o nieużywanie (lub ograniczenie) instrukcji skoku (goto)., 2. Programowanie proceduralne - paradygmat zalecający dzielenie kodu na procedury, czyli fragmenty wykonujące ściśle określone operacje. Procedury nie powinny korzystać ze zmiennych globalnych (w miarę możliwości), lecz pobierać i przekazywać wszystkie dane (czy też wskaźniki do nich) jako parametry wywołania. 6
Krótki przegląd języków programowania Podział ze względu na tzw. paradygmat programowania (obowiązujący, modny, ceniony wzorzec programowania). 3. Programowanie obiektowe - programy definiuje się za pomocą obiektów - elementów łączących stan (przechowywany w tzw. polach) i zachowanie (opisane przez metody). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań. 4. Programowanie deklaratywne - jest to paradygmat programowania, w którym programista zamiast definiowania sposobu rozwiązania, czyli sekwencji kroków prowadzących do uzyskania wyniku (zob. algorytm), opisuje samo rozwiązanie. Innymi słowy programowanie w tych językach polega na opisywaniu tego co nas interesuje a nie jak to zrobić. Znalezienie odpowiedniego sposobu na obliczenie rozwiązania oraz wykonanie obliczeń jest zadaniem środowiska uruchomieniowego lub interpretera danego języka. Do języków deklaratywnych zaliczamy między innymi SQL, Prolog i LISP. 7
Krótki przegląd języków programowania Źródło: http://www.fizyka.umk.pl/~duch/books-fsk/adr-fspk04.html 8
Krótki przegląd języków programowania Źródło: http://www.fizyka.umk.pl/~duch/books-fsk/adr-fspk04.html 9
Ewolucja języków programowania Kolumna LOC zawiera numer adresu pod którym znajduje się instrukcja, OP zawiera kod operacji, DATA dane, INST adres instrukcji, która ma być wykonana jako następna. Źródło: P. Fulmański, Ś. Sobieski, Wstęp do informatyki, Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 2005 10
Ewolucja języków programowania W listopadzie 1954 roku została ogłoszona pierwsza specyfkacja języka FORTRAN, nazwa jest akronimem słów the IBM Mathematical FORmula TRANslating system. Można zauważyć, że program ten jest dużo czytelniejszy od poprzedniego. Źródło: P. Fulmański, Ś. Sobieski, Wstęp do informatyki, Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 2005 11
Ewolucja języków programowania W latach 60-tych antidotum na brak czytelności stał się język Algol-60. Wprowadzono w nim pętlę for oraz możliwość dzielenia programu na podprocedury. Źródło: P. Fulmański, Ś. Sobieski, Wstęp do informatyki, Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 2005 12
Ewolucja języków programowania Pierwsza wersja (16-bitowa) Delphi ukazała się w 1995 roku i przeznaczona była do pracy w Microsoft Windows 3.1 Było to jedno z pierwszych narzędzi typu Rapid Application Development (szybkie tworzenie aplikacji). Obecnie króluje (poza niewielkimi wyjątkami) programowanie wizualne, gdzie programista modyfikuje do swoich potrzeb gotowe komponenty API i składa z nich program. Źródło: P. Fulmański, Ś. Sobieski, Wstęp do informatyki, Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 2005 13
Ewolucja języków programowania 14
Ewolucja języków programowania 15
Literatura: W prezentacji wykorzystano fragmenty i zadania z książek i prezentacji: Piotr Fulmański, Ścibór Sobieski, Wstęp do informatyki, Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 2005 http://www.inf.sgsp.edu.pl/ http://deuter.am.put.poznan.pl/zwm/ http:// wikipedia.org 16