WykÅad 5: Rzut oka na jÄzyki i systemy programowania..
WykÅad 5: Rzut oka na jÄzyki i systemy programowania..
WykÅad 5: Rzut oka na jÄzyki i systemy programowania..
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Studia Podyplomowe INFORMATYKAPodstawy InformatykiWykład V<strong>Rzut</strong> okiem <strong>na</strong> języki<strong>programowania</strong>1dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Kompilacja vs. interpretacjaKOMPILACJAProces, który przetwarzaprogram zapisany wjęzyku <strong>programowania</strong>,zwany również programemźródłowym lub kodemźródłowym, <strong>na</strong> językmaszynowy <strong>na</strong>zywamykompilacją.Źródło: P. Fulmański, Ś. Sobieski, Wstęp doinformatyki, Podręcznik, WydawnictwoUniwersytetu Łódzkiego, 20052dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Kompilacja vs. interpretacjaInterpretacja W celu uruchomienia programuinterpretowanego, musimyposiada¢ dla niego środowiskouruchomieniowe zwaneinterpreterem. Interpreter jest podobnie jakkompilator programem, któryumożliwia <strong>na</strong>m uruchomienieprogramu. Różnicą jest to, żeinterpreter nie produkujeprogramu wykonywalnego wpostaci pliku wykonywalnego, atłumaczy program „w locie” <strong>na</strong>kod maszynowy i wykonuje go <strong>na</strong>bieżąco.Źródło: P. Fulmański, Ś. Sobieski, Wstęp doinformatyki, Podręcznik, WydawnictwoUniwersytetu Łódzkiego, 20053dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Krótki przegląd języków <strong>programowania</strong>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.4dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Krótki przegląd języków <strong>programowania</strong>3. Języki interpretowane (wymagany jest interpreter):• JavaScript (interpreterem jest przeglądarka),• Perl (Practical Extraction and Report Language, praktyczny językekstrakcji i raportowania),• PHP (obecnie PHP Hypertext Preprocessor (akronim rekurencyjny),pierwotnie Perso<strong>na</strong>l Home Page) stosowany głównie dody<strong>na</strong>micznego 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 MicrosoftOffice, <strong>na</strong>jbardziej przydatny w arkuszu kalkulacyjnym.5dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Krótki przegląd języków <strong>programowania</strong>Podział ze względu <strong>na</strong> tzw. paradygmat <strong>programowania</strong> (wzorzec<strong>programowania</strong>).1. Programowanie strukturalne - to paradygmat <strong>programowania</strong> zalecającyhierarchiczne dzielenie kodu <strong>na</strong> bloki, z jednym punktem wejścia ijednym lub wieloma punktami wyjścia. Chodzi przede wszystkim onieużywanie (lub ograniczenie) instrukcji skoku (goto).,2. Programowanie proceduralne - paradygmat zalecający dzielenie kodu<strong>na</strong> 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.6dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Krótki przegląd języków <strong>programowania</strong>Podział ze względu <strong>na</strong> tzw. paradygmat <strong>programowania</strong> (obowiązujący,modny, ceniony wzorzec <strong>programowania</strong>).3. Programowanie obiektowe - programy definiuje się za pomocą obiektów- elementów łączących stan (przechowywany w tzw. polach) izachowanie (opisane przez metody). Obiektowy program komputerowywyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzysobą w celu wykonywania zadań.4. Programowanie deklaratywne - jest to paradygmat <strong>programowania</strong>, wktórym programista zamiast definiowania sposobu rozwiązania, czylisekwencji kroków prowadzących do uzyskania wyniku (zob. algorytm),opisuje samo rozwiązanie. Innymi słowy programowanie w tych językachpolega <strong>na</strong> opisywaniu tego co <strong>na</strong>s interesuje a nie jak to zrobić.Z<strong>na</strong>lezienie odpowiedniego sposobu <strong>na</strong> obliczenie rozwiązania oraz wyko<strong>na</strong>nieobliczeń jest zadaniem środowiska uruchomieniowego lub interpretera danegojęzyka. Do języków deklaratywnych zaliczamy między innymi SQL, Prolog i LISP.7dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Krótki przegląd języków <strong>programowania</strong>Źródło: http://www.fizyka.umk.pl/~duch/books-fsk/adr-fspk04.html8dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Krótki przegląd języków <strong>programowania</strong>Źródło: http://www.fizyka.umk.pl/~duch/books-fsk/adr-fspk04.html9dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Ewolucja języków <strong>programowania</strong>Kolum<strong>na</strong> LOC zawiera numer adresu pod którym z<strong>na</strong>jduje się instrukcja,OP zawiera kod operacji, DATA dane, INST adres instrukcji, która ma byćwyko<strong>na</strong><strong>na</strong> jako <strong>na</strong>stęp<strong>na</strong>.Źródło: P. Fulmański, Ś. Sobieski, Wstęp do informatyki,Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 200510dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Ewolucja języków <strong>programowania</strong>W listopadzie 1954 roku została ogłoszo<strong>na</strong> pierwsza specyfkacja języka FORTRAN,<strong>na</strong>zwa jest akronimem słów the IBM Mathematical FORmula TRANslating system.Moż<strong>na</strong> 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, 200511dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Ewolucja języków <strong>programowania</strong>W latach 60-tych antidotum <strong>na</strong> brak czytelności stał się język Algol-60. Wprowadzono wnim pętlę for oraz możliwość dzielenia programu <strong>na</strong> podprocedury.Źródło: P. Fulmański, Ś. Sobieski, Wstęp do informatyki, Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 200512dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Ewolucja języków <strong>programowania</strong>Pierwsza wersja (16-bitowa)Delphi ukazała się w 1995 rokui przez<strong>na</strong>czo<strong>na</strong> była do pracyw Microsoft Windows 3.1 Byłoto jedno z pierwszych <strong>na</strong>rzędzitypu Rapid ApplicationDevelopment (szybkietworzenie aplikacji).Obecnie króluje (poza niewielkimi wyjątkami) programowanie wizualne, gdzieprogramista modyfikuje do swoich potrzeb gotowe komponenty API i „składa” z nichprogram.Źródło: P. Fulmański, Ś. Sobieski, Wstęp do informatyki, Podręcznik, Wydawnictwo Uniwersytetu Łódzkiego, 200513dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Ewolucja języków <strong>programowania</strong>14dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
I. Języki <strong>programowania</strong>Ewolucja języków <strong>programowania</strong>15dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11
Literatura:W prezentacji wykorzystano fragmenty i zadania z książek iprezentacji:• 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.poz<strong>na</strong>n.pl/zwm/• http:// wikipedia.org16dr Artur Bartoszewski - WYKŁAD: Podstawy informatyki; Studia Podyplomowe INFORMATYKA, Edycja 11