Języki i paradygmaty programowania
|
|
- Krystian Rosiński
- 9 lat temu
- Przeglądów:
Transkrypt
1 Języki i paradygmaty programowania Paweł Dudzik, Adrian Guzik AGH Kraków Kraków, 5 lipca 2011 Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
2 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
3 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
4 1.1. Co to jest język programowania? Język programowania Zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje. Składa się ze zbiorów reguł syntaktycznych oraz semantyki, które opisują, jak należy budować poprawne wyrażenia oraz jak komputer ma je rozumieć. Język programowania pozwala na precyzyjny zapis algorytmów oraz innych zadań, jakie komputer ma wykonać. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
5 1.2. Cechy języka programowania Język programowania może być zdefiniowany ze względu na kilka cech: Funkcja: Język programowania służy do tworzenia programów komputerowych, których zadaniem jest przetwarzanie danych, wykonywanie obliczeń i algorytmów oraz kontrolowanie/obsługa zewnętrznych urządzeń, np. drukarek, robotów itd. Przeznaczenie: Języki programowania umożliwiają wydawanie poleceń maszynom. Niektóre z języków są wykorzystywane również do kontrolowania jednego urządzenia przez inne. Przykładowo, program wykonywany na komputerze może wygenerować kod PostScript do sterowania pracą drukarki bądź wyświetlacza. Konstrukcje składniowe: Język programowania może zawierać konstrukcje składniowe do manipulowania strukturami danych oraz zarządzania przepływem sterowania. Moc: Teoria obliczeń klasyfikuje języki według rodzajów obliczeń, które można za ich pomocą zrealizować (hierarchia Chomsky ego). Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
6 1.3. Język programowania - poziomy Języki dzielimy dodatkowo na poziomy: kod maszynowy - sekwencje sygnałów opracowane w postaci rozkazów zrozumiałych dla procesora, obecnie wykorzystywany przez programistów raczej wyłącznie do zadań, w których szczególnie ważna jest szybkość działania programu, język niskiego poziomu - w małym stopniu abstrahuje od konstrukcji jednostki centralnej komputera. Innymi słowy, język ten wykazuje duże podobieństwo do kodu maszynowego, zaś kompilacja jest w miarę nieskomplikowana. język wysokiego poziomu - składnia i słowa kluczowe mają maksymalnie ułatwić rozumienie kodu programu dla człowieka, tym samym zwiększając poziom abstrakcji i dystansując się od sprzętowych niuansów. Kod napisany w języku wysokiego poziomu nie jest bezpośrednio zrozumiały dla komputera większość kodu stanowią tak naprawdę normalne słowa, np. w języku angielskim. Aby umożliwić wykonanie programu napisanego w tym języku należy dokonać procesu kompilacji. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
7 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
8 2. Ewolucja języków programowania (1/4) Początki : języki maszynowe i asemblery powstaje Fortran, pierwszy język wysokiego poziomu do wprowadzania wyrażeń matematycznych powstanie LISP - programowanie funkcyjne, Algol58, Fortran II - wprowadzono podprogramy Algol60, wprowadzono strukturę blokową programów i typy danych,język Cobol - obsługę plików. Wykorzystano w nich paradygmat imperatywny, 1964: z połączenia języków Fortran, Cobol i Algol powstał PL/I (IBM), Basic - łatwy w użyciu, wszechstronny, proste komunikaty o błędach, Simula rozszerzenie Algol60, programowanie zorientowane obiektowo, uniwersalny język symulacji. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
9 2. Ewolucja języków programowania (2/4) nowa wersja Algol68, : stworzony przez Niklaus Wirth język Pascal, stworzony do nauki programowania strukturalnego, Smalltalk - pełni obiektowy, reflektywny język programowania z dynamicznym typowaniem, Prolog zapoczątkował programowanie oparte na logicznych regułach. lata początki języka C stworzonego przez Dennisa Ritchie ego, w całośći napisano w nim jądro dla systemu operacyjnego Unix, popularność języka C pozwoliła na dalszy jego rozwój i powstanie języka C++, dodano programowanie obiektowe, Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
10 2. Ewolucja języków programowania (3/4) : Ada (1985)- programowanie równoległe i rozproszone Object-Pascal (1986) - rozwinięcie o programowanie obiektowe, Erlang(1986) - zaprojektowanym z myślą o zastosowaniach współbieżnych, Perl (1987) - język skryptowy powstawanie języków programowania funkcyjnego - Miranda(1985), Haskell(1990), Visual Basic (1991) - szybkie tworzenie aplikacji w sposób graficzny, Python (1991) - dynamiczny system typów, automatyczne zarządzanie pamięcią, Mercury (1995) - język programowania deklaratywnego, logicznego, Delphi (1995) - rozwinięcie Object Pascala o tworzenie aplikacji w sposób graficzny, Java (1995) - stworzony przez firmę Sun Microsystems, m.in. język aplikacji internetowych, urządzeń mobilnych (Java ME), PHP (1995) - skryptowy język programowania do stron internetowych, Ruby (1995) - w pełni obiektowy i dynamicznie typowany, Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
11 2. Ewolucja języków programowania (4/4) 1995 do dziś: C# (2001) - tworzenie specjalnego kodu pośredniego wykonywanego w środowisku uruchomieniowym (np. NET Framework), W kolejnych latach dochodzi do dalszego rozwoju popularnych języków programowania - PHP, Java, Python, C++. Kolejne wersje rozwojowe dodają nowe i ulepszają stare funkcje, aby poprawić szybkość działania, łatwość obsługi, wszechstronność lub ścisłą specjalizację w danej dziedzinie. Mapa ewolucji języków programowania dostępna na stronie: Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
12 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
13 3.1. Translatory Translator Program, który umożliwia przetłumaczenie na kod maszynowy i wykonanie programów napisanych w języku różnym od języka komputera. Kompilatory - to programy, które tłumaczą program źródłowy (napisany w języku wysokiego poziomu) na równoważny program wynikowy. Assemblery - to programy, które tłumaczą program źródłowy (napisany w języku niskiego poziomu - język asemblera) na równoważny program wynikowy. Interpretery - które można nazwać dynamicznymi translatorami tłumaczą na bieżąco i wykonują program źródłowy fragment po fragmencie. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
14 3.2. Kompilator - cechy podstawowe Program źródłowy jest napisany w języku źródłowym, a program wynikowy należy do języka wynikowego. Wykonanie programu kompilatora następuje w czasie tłumaczenia. Program po przetłumaczeniu nie da się zmienić, jest statyczny. Kompilator jako dane wejściowe otrzymuje cały program źródłowy i przekształca go na postać wynikową. Skopilowane moduły są zazwyczaj łączone przez linker w jeden program wykonywalny. Procesowi kompilacji są poddawane języki wysokiego poziomu - np. C/C++, Python, Ada Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
15 3.3. Asembler - cechy podstawowe Język asemblera - podstawowe operacje procesora. Jedno polecenie odpowiada zasadniczo jednemu rozkazowi procesora. Języki asemblera powstały na bazie języków maszynowych danego procesora poprzez zastąpienie kodów operacji ich mnemonikami. W wyniku poszukiwania efektywniejszych metod programowania i pojawianiem się kolejnych języków interpretowanych i kompilowanych języki asemblerów straciły na znaczeniu. Używane jeszcze przy programowaniu mikrokontrolerów, systemów wbudowanych, sterowników sprzętu, a także gdzie wymagana jest wysoka wydajność lub mały rozmariów kod wynikowy. Przykład: NASM, TASM, SAS. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
16 3.4. Interpreter - cechy podstawowe Działanie interpretera polega na: wyodrębnieniu niewielkich jednostek programu źródłowego, tłumaczeniu ich na pewną postać wynikową oraz natychmiastowym ich wykonywaniu. Cechy: Proces interpretacji jest cykliczny. W czasie interpretacji przechowywany jest program źródłowy. Przykładowe języki i środowiska: Perl, Python (częściowo), Ruby, MATLAB Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
17 3.5. Zalety kompilatora i interpretera Kompilator Program wynikowy wykonuje się szybciej. Do wykonania programu wynikowego nie jest potrzebny kompilator. Lepsza optymalizacja kodu (optymalizacja dedykowa- na pod daną architekturę). Interpreter Łatwość zmian programu. Mniejsza zajętość pamięci zewnętrznej (tylko tekst źródłowy). Możliwość pracy konwersacyjnej (zatrzymanie wyk., zmiana wartości zmiennych, kontynuacja wyk.). Przenośność, wykorzystanie w zastosowaniach sieciowych. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
18 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
19 4.1. IDE - definicja IDE (Integrated Development Environment) jest to aplikacja lub zespół aplikacji (środowisko) służących do tworzenia, modyfikowania, testowania i konserwacji oprogramowania. Aplikacje będące zintegrowanymi środowiskami programistycznymi charakteryzują się tym, że udostępniają złożoną, wieloraką funkcjonalność obejmującą edycję kodu źródłowego, kompilowanie kodu źródłowego, tworzenie zasobów programu (tzn. formatek/ekranów/ okien dialogowych, menu, raportów, elementów graficznych takich jak ikony, obrazy itp.), tworzenie baz danych, komponentów i innych. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
20 4.2. Koncepcje środowisk programistycznych Istnieją różne koncepcje tego, jak powinno wyglądać środowisko programistyczne: środowisko jako osobny pakiet oprogramowania - np. Microsoft Visual Studio, NetBeans, CodeWarrior, środowisko zintegrowane z systemem - np. Unix, maszyny lispowe, rozwiązania pośrednie - Emacs - tekstowy edytor, zintegrowany z Uniksem, maszyna lispowa i system graficzny udostępniający funkcjonalność podobną do tradycyjnych, graficznych IDE. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
21 4.3. System GNU GNU - akronim GNU s Not Unix to uniskopodobny system operacyjny złożony wyłącznie zwolnego oprogramowania, zapoczątkowany został przez Richarda Stallmana. Jest przykładem open source owego środowiska programistycznego. Podstawowe składniki systemu to: zestaw kompilatorów GNU Compiler Collection (GCC), narzędzia programistyczne GNU Binary Utilities (binutils), powłoka bash, biblioteka standardowych funkcji języka C GNU C Library (glibc), narzędzia GNU Coreutils (coreutils). Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
22 4.4. System Maven Maven jest narzędziem automatyzacji budowy oprogramowania. Stosuje pewne wzory podczas tworzenia struktury oprogramowania w celu zwiększenia przejrzystości, wydajności i ukazywaniu najlepszych rozwiązań danego problemu. Poszczególne funkcjonalności Mavena realizowane są poprzez wtyczki, które są automatycznie pobierane przy ich pierwszym wykorzystaniu. Przykład: Apache Maven dla języka Java. Pomaga w zarządzaniu projektem w sferach: Zarządzania strukturą programu Budowy programu Dokumentacji Raportowania Publikacji Dystrybucji Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
23 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
24 5.1. Co to jest paradygmat? Paradygmat przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp, zespół form fleksyjnych (deklinacyjnych lub koniugacyjnych), właściwy danemu typowi wyrazów; wzorzec, model deklinacyjny lub koniugacyjny (Słownik Języka Polskiego), z greckiego - wzorzec, przykład. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
25 5.2 Co to jest paradygmat programowania? Paradygmat jest to zbiór koncepcji reprezentujących podejście do implementacji algorytmów, zbiór mechanizmów, jakich programista używa, pisząc program, i o to, jak ów program jest następnie wykonywany przez komputer. Do opisu realizacji algorytmu w komputerze, w formie czytelnej dla człowieka, służą języki programowania. Ten sam algorytm można zaimplementować na różne sposoby, zgodnie z różnymi paradygmatami. Wybór paradygmatu ma często kluczowy wpływ na łatwość implementacji algorytmów. Zastosowanie odpowiedniego paradygmatu do realizacji zadania programistycznego jest bardzo ważne, ale nie rozwiąże samego problemu. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
26 5.3. Rodzaje paradygmatów programowania Głównymi paradygmatami programowania są: imperatywny, obiektowy, funkcyjny, deklaratywne. Można też wyróźnić inne: proceduralny, strukturalny, uogólniony zdarzeniowy, aspektowy, agentowy, modularny, Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
27 5.4. Paradygmat imperatywny Paradygmat imperatywny polega na sekwencyjnym wykonywaniu instrukcji modyfikujących wartości zmiennych. Jest on bezpośrednim odzwierciedleniem sposobu działania maszyny von Neumanna, jednak nie koresponduje ze sposobem rozwiązywania problemów przez człowieka. Programy tego typu są czasochłonne w opracowaniu, trudne w utrzymaniu i dają niewielkie możliwości ponownego użycia kodu. Języki wysokiego poziomu, takie jak Fortran, Algol, Pascal, Ada lub C posługują się pewnymi abstrakcjami, ale wciąż odpowiadają paradygmatowi programowania imperatywnego. Przykład: Python, PHP, Java Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
28 5.5. Paradygmat obiektowy Paradygmat obiektowy polega na operowaniu obiektami; obiekt to kombinacja danych określających jego stan oraz operacje, jakie można na nim wykonać. Model opisujący rzeczywistość jako zbiór obiektów posiadających stan i zachowanie odpowiada sposobowi opisywania rzeczywistości przez człowieka. Paradygmat obiektowy ma zastosowanie nie tylko na etapie implementacji kodu, lecz także na etapie analizy problemu i projektowania programu. Obiektowe podejście do programowania sprzyja tworzeniu kodu wielokrotnie używalnego. Wprowadza nowe możliwości - enkapsulacja, hermetyzacja, polimorfizm, dziedziczenie. Przykład: Java, C++, C# Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
29 5.6. Paradygmat funkcyjny Paradygmat funkcyjny polega na operowaniu nie na zmiennych, lecz na wartościach. Zamiast wykonywania sekwencji instrukcji modyfikujących zmienne, obliczane są wyrażenia zwracające wartości. Wykonanie programu jest obliczeniem wartości funkcji, która jako listę argumentów otrzymuje kolejne funkcje, których wartości są obliczane itd. Przy takim podejściu stany i wartości pośrednie programu są nieistotne nie są zapamiętywane, a jedynie używane jako argumenty kolejnych wyrażeń. Przykład: Haskell, LISP, Objective Calm, Standard ML Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
30 5.7. Paradygmat deklaratywny Paradygmat deklaratywny programowanie oparte na logicznych regułach. Programy stworzone zgodnie z takim paradygmatem są zbiorem reguł definiujących wyrażenia logiczne. Wykonanie programu to zadanie wyszukania pewnych kombinacji reguł, dla których opisujące je wyrażenia logiczne są prawdziwe. Przykład: SQL, Prolog Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
31 5.8 Inne paradygmaty (1/2) Paradygmat proceduralny zalecający dzielenie kodu na procedury, czyli fragmenty wykonujące ściśle określone operacje. Paradygmat strukturalny zalecający hierarchiczne dzielenie kodu na bloki, z jednym punktem wejścia i jednym lub wieloma punktami wyjścia. Paradygmat uogólniony pozwala na pisanie kodu programu bez wcześniejszej znajomości typów danych, na których kod ten będzie pracował. Paradygmat zdarzeniowy paradygmat według którego program jest cały czas bombardowany zdarzeniami, na które musi odpowiedzieć, i że przepływ sterowania w programie jest całkowicie niemożliwy do przewidzenia z góry. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
32 5.8 Inne paradygmaty (2/2) Paradygmat aspektowy wspomagający separację zagadnień i rozdzielenie programu na części w jak największym stopniu niezwiązane funkcjonalnie. Paradygmat agentowy wyższy od abstrakcji paradygmatu obiektowego. Polega on na tworzeniu agentów (ang. Software Agent). Programowanie agentowe różni się od obiektowego tym, że każdy agent musi być przygotowany na otrzymanie błędnych danych od innego agenta, lub nieotrzymanie ich w ogóle. W programowaniu obiektowym zakłada się, że każdy obiekt zwróci poprawne dane. Paradygmat modularny zalecający stosowanie nadrzędności modułów w stosunku do procedur bloków tworzących program Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
33 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
34 6.1. Fortran Fortran - FORmula TRANslator język programowania, stworzony w latach 50 XX wieku. Jego głównym zastosowaniem są obliczenia naukowo-inżynierskie (w szczególności obliczenia numeryczne). Cechy języka: braku rozróżniania małych i wielkich liter w słowach kluczowych języka oraz używanych zmiennych, wielka liczba bibliotek, które pozwalają rozwiązać praktycznie każde zadanie numeryczne, szybkość obliczeń i wysoka wydajność kodu generowanego przez kompilatory Fortranu, znakomita skalowalność i przenośność oprogramowania (pomiędzy różnymi platformami sprzętowymi i systemami operacyjnymi), dostępność bibliotek dla programowania wieloprocesorowego i równoległego. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
35 6.2. Język C Język C imperatywny, strukturalny język programowania, stworzony przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu. Cechy języka: wykonywanie niskopoziomowych operacji, możliwość użycia gotowych funkcji, możliwość bieżącego komentowania kodu, używanie słów kluczowych w programie, możliwość operacji na pamięci, kontrola typów, prosta składania, dająca dużą swobodę pisania przenośność pomiędzy innym sprzętem. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
36 6.3. Język C++ Język C++ wywodzi się z języka C i jest z nim kompatybilny. Cechy języka: wysoka wydajność kodu wynikowego, bezpośredni dostęp do zasobów sprzętowych, łatwością tworzenia i korzystania z bibliotek (napisanych w C++, C lub innych językach), obiektowość - hermetyzacja, polimorfizm, dziedziczenie, wysoką przenośność kodów źródłowych, można w nim stosować jednocześnie różne style programowania, w tym programowanie proceduralne, obiektowe, generyczne, jak również programować na poziomie asemblera. statyczna kontrola typów; posiada też elementy dynamicznej kontroli typów, Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
37 6.4. Objective-C Objective-C jest rozwinięciem języka C o możliwości obiektowe, wzorowane na SmallTalk u Cechy języka: daje językowi pełną programowalność obiektową, rozwinięty przez firmę Apple, początkowo na komputery NeXT, obecnie na Mac OS X i ios. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
38 6.5. Java Java język stworzony przez Sun MicroSystems. Jest językiem tworzenia programów źródłowych kompilowanych do kodu bajtowego, czyli postaci wykonywanej przez maszynę wirtualną. Cechy języka: silna typizacja, silnie ukierunkowany na obiektowość, wszelkie dane i akcje na nim podejmowane są pogrupowane w klasy obiektów, niezależność od architektury - przez kompilacje do kodu pośredniego, do zastosowań sieciowych i oprogramowania rozproszonego, duże bezpieczeństwo i niezawodność działania. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
39 6.6. Perl Perl interpretowany język programowania autorstwa Larry ego Walla początkowo przeznaczony głównie do pracy z danymi tekstowymi, obecnie używany do wielu innych zastosowań. Cechy języka: początkowo praktyczne narzędzie do analizy plików tekstowych i tworzenia raportów, uczynienie łatwych zadań łatwymi do wykonania, zaś trudnych wykonalnymi, wszechstronność - programowanie w różnych modelach: proceduralnym, funkcyjnym czy obiektowym, umożliwia powiązanie systemów i struktur danych. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
40 6.7. Python Python interpretowany, interaktywny język programowania stworzony przez Guido van Rossuma w Cechy języka: dynamiczny system typów, automatyczne zarządzanie pamięcią - garbage collection, oszczędna i czytelna składnia w stosunku do innych języków, możliwe jest programowanie obiektowe, programowanie strukturalne i programowanie funkcyjne Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
41 6.8. Prolog Prolog (od francuskiego Programmation en Logique jest to jeden z najpopularniejszych języków programowania logicznego. Powstał jako język programowania służący do automatycznej analizy języków naturalnych. Cechy języka: język ogólnego zastosowania, sprawdzającym się w programach związanych ze sztuczną inteligencją, składa się z faktów oraz reguł wnioskowania, podaje się bazę faktów i reguł, potem można wykonywać zapytania na tej bazie. podstawową jednostką jest predykat - składający się z nagłówka i argumentów: ojciec(tomasz, agata), jest językiem deklaratywnym. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
42 6.9. Haskell Haskell funkcyjny język programowania nazwany na cześć Haskella Currego. Cechy języka: leniwe wartościowanie - strategia wyznaczania wartości argumentów funkcji tylko wtedy, kiedy są potrzebne (na żądanie), monady - abstrakcyjny typ danych, statyczny polimorfizm, definiowalne operatory i możliwość tworzenia nowych, wbudowana obsługa literate programming - czytelność kodu. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
43 6.10. Lisp (LISt Processing) Lisp odzina języków programowania z długą historią i charakterystyczną składnią. Zaprojektowany przez Johna McCarthiego na MIT w 1958 roku. Szybko został najchętniej wybieranym językiem do badania i rozwoju sztucznej inteligencji. Ponieważ należy do najstarszych języków programowania wysokiego poziomu, wywodzi się z niego wiele technik programistycznych, takich jak struktury drzewiaste, odśmiecanie pamięci, dynamiczne typowanie czy nowe koncepcje w programowaniu obiektowym. Cechy języka: podstawową strukturą danych jest lista, kod źródłowy programów w Lispie składa się z list, możliwość manipulacji kodem źródłowym jak zwykłą strukturą danych, wygodna matematyczna notacja dla programów komputerowych, oparta na rachunku lambda stworzonym przez Alonzo Churcha Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
44 6.11. Erlang Erlang jest językiem programowania ogólnego przeznaczenia zaprojektowanym z myślą o zastosowaniach współbieżnych, a także środowiskiem uruchomieniowym dla aplikacji w nim napisanych. Cechy języka: wartościowanie zachłanne - strategia wyznaczania wartości argumentów funkcji przed jej wywołaniem, dynamiczne typizowanie, spółbieżna bazuje na teoretycznym modelu znanym jako Actor model stworzony pod kątem tworzenia rozproszonych systemów wymagających długotrwałej pracy i odporności na awarie, mechanizm hot-swappingu pozwalający na aktualizację kodu aplikacji bez jej zatrzymywania. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
45 6.12. Ruby Ruby to interpretowany, w pełni obiektowy i dynamicznie typowany język programowania stworzony w 1995 roku przez Yukihiro Matsumoto. Cechy języka: automatyczne odśmiecanie pamięci, obsługa wyjątków, wyrażenia regularne wbudowane w składnię, liczby całkowite o dowolnych rozmiarach, Duck typing - rozpoznawanie typów na podstawie ich zachowania, a nie deklaracji, moduły - rodzaj wielodziedziczenia pozwalający włączyć gotową implementację zbioru metod do danej klasy, możliwość zmiany praktycznie wszystkiego - dodanie dodatkowych metod do klasy Array, czy zmiana sposobu drukowania liczb całkowitych są niezmiernie proste. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
46 6.13. PHP PHP obiektowy, skryptowy język programowania zaprojektowany do generowania stron internetowych w czasie rzeczywistym. Cechy języka: najczęściej stosowany do tworzenia skryptów po stronie serwera WWW, również używany do przetwarzania danych z poziomu wiersza poleceń, a nawet do pisania programów pracujących w trybie graficznym, umożliwia współpracę z wieloma rodzajami źródeł danych, takich jak systemy zarządzania bazami danych, pliki tekstowe, dokumenty XML oraz serwisy WWW Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
47 Plan wykładu 1 Języki programowania 2 Ewolucja języków programowania 3 Kompilacja i interpretacja języka 4 Zintegrowane środowiska programistyczne - IDE. Systemy GNU/Maven 5 Paradygmaty programowania 6 Omówienie popularnych języków programowania 7 Pakiety matematyczne - MATLAB i R-project Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
48 7.1. MATLAB MATLAB - MATrix LABoratory program komputerowy będący interaktywnym środowiskiem do wykonywania obliczeń naukowych i inżynierskich, oraz do tworzenia symulacji komputerowych. Cechy: interaktywny język wysokiego poziomu, przejrzysty kod, system do obliczeń numerycznych, optymalizacja czasochłonnych operacji tablicowych, język skryptowy interpretowany (możliwość kompilacji poprzez jęz. C), bogate biblioteki otwarty kod, umożliwia rysowanie dwu i trójwymiarowych wykresów funkcji oraz wizualizację wyników obliczeń w postaci rysunków statycznych i animacji, możliwe jest pobieranie danych pomiarowych z urządzeń zewnętrznych, Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
49 7.2. MATLAB - pakiet Simulink Simulink jest częścią pakietu numerycznego MATLAB firmy The MathWorks i służy do przeprowadzania symulacji komputerowych. Simulink pozwala budować modele symulacyjne przy pomocy interfejsu graficznego i tzw. bloków. Przy pomocy Simulinka można przeprowadzać zarówno symulacje z czasem dyskretnym jak i ciągłym. Simulink znajduje głównie zastosowanie (poprzez to, że umożliwia symulacje w czasie ciągłym) w cyfrowym przetwarzaniu sygnałów, analizie obwodów elektrycznych i teorii sterowania. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
50 7.3. R-project R-project jest pakietem matematycznym przeznaczonym do zaawansowanych obliczeń statystycznych. Objęty jest licencją GPL, a zatem jest programem całkowicie bezpłatnym i wolnym. Środowisko i składnia R jest bardzo zbliżona do języka S, stosowanego np. w pakiecie S-plus. Można powiedzieć, że R jest jedną z implementacji tego języka. Pomiędzy nimi istnieją wprawdzie pewne (niekiedy istotne) różnice, jednak większość procedur i kodu napisanego dla S będzie działać także w R. Cechy: tworzenie wykresów o bardzo dobrej jakości, praca odbywa się w trybie komend, funkcjonalność uzupełniają dodatkowe biblioteki do konkretnych zastosowań, dostarczane wraz z obszerną dokumentacją. Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
51 Bibliografia (1/4) Piotr Furmański, Ścibór Sobieski, Wstęp do informatyki, Łódź, Dostępna w Internecie: 87/Ewolucja-j%C4%99zykow-programowania Strona PolishWords.com.pl, Ewolucja języków programowania Dostępny w Internecie: ewolucja-jezykow-programowania/ Strona Studia Informatyczne Beta, Dostępny w Internecie: programowania/wyk%c5%82ad_1: _Co_to_jest_paradygmat_programowania%3F Paradygmaty_programowania Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
52 Bibliografia (2/4) Łukasz Komsta, Wprowadzenie do środowiska R, Dostępna w Internecie: Komsta-Wprowadzenie.pdf Strona Apach Maven Project, Maven Getting Started Guide, Dostępna w Internecie: http: //maven.apache.org/guides/getting-started/index.html Małgorzata Kotulska, Informatyk Wykład 1, Wrocław, Dostępny w Internecie: Strona szkolnictwo.pl, Programowanie - język programowania, Dostępne w Internecie: ,1,Programowanie-j%C4%99zyk_programowania Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
53 Bibliografia (3/4) Encyklopedia Wikipedia, Dostępna w Internecie: komputerowy) http: //pl.wikipedia.org/wiki/c_(j%c4%99zyk_programowania) Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
54 Bibliografia(4/4) Encyklopedia Wikipedia, Dostępna w Internecie: org/wiki/prolog_(j%c4%99zyk_programowania) http: //en.wikipedia.org/wiki/haskell_(programming_language) programowania) http: //pl.wikipedia.org/wiki/ruby_(j%c4%99zyk_programowania) Paweł Dudzik, Adrian Guzik (AGH Kraków) Języki i paradygmaty programowania Kraków, 5 lipca / 53
Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki
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,
Języki i paradygmaty programowania. I. Wprowadzenie
Języki i paradygmaty programowania I. Wprowadzenie O źródłach wykład został przygotowany w ogromnej części w oparciu o serwis http://wazniak.mimuw.edu.pl/ (zgodnie z licencją serwisu) inne źródła: Wikipedia:
INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE
Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby
Programowanie komputerów
Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Podstawy programowania wykład
Podstawy programowania wykład WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 1 Materiały do wykładu
Modelowanie i Programowanie Obiektowe
Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Podstawy programowania. Wprowadzenie
Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne
Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania
Wstęp do Informatyki Program, proces tworzenia programu Środowisko programistyczne Języki programowania Program - definicje Program jest przekładem problemu użytkownika na język maszyny Niklaus Wirth:
Wstęp do Informatyki dla bioinformatyków
Wstęp do Informatyki dla bioinformatyków Wykład 1. Wstęp do Wstępu Bartek Wilczyński bartek@mimuw.edu.pl Po pierwsze - Formalności 2 kolokwia (po 15 pkt) początek XI i koniec XII Dwa programy zaliczeniowe:
Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy
Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.
Tworzenie oprogramowania
Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja
Technologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Czym jest Ruby on Rails?
Czym jest Ruby on Rails? Ruby on Rails - napisany w języku Ruby framework open source do szybkiego tworzenia aplikacji internetowych w oparciu o architekturę MVC David Heinemeier Hansson twórca Rails Ruby
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Programowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Translacja wprowadzenie
Translacja wprowadzenie Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Literatura 1) Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques and Tools, Addison- Wesley, 1986
Podstawy programowania
Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania
Informatyczna Wieża Babel, czyli o różnych językach programowania Informatyczna Wieża Babel, czyli o różnych językach programowania Wstęp Aplikacje i programy, jakich dziś używamy, ukryte dla nas pod postacią
Programowanie w języku C++ Podstawowe paradygmaty programowania
Programowanie w języku C++ Podstawowe paradygmaty programowania Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra
Wykład 1 Informacje Podstawowe
Paradygmaty i języki programowania Wykład 1 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół
Programowanie I. Wprowadzenie. Proces programowania
I. Wprowadzenie. Proces Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 6 lutego 2018 1 / 25 Wprowadzenie. Proces Najnowsza wersja tego dokumentu
Paradygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++
Programowanie obiektowo zorientowane Mirosław Głowacki Wykład w języku C++ Literatura B. Meyer, Programowanie zorientowane obiektowo, Helion Gliwice, 2005 J. Grębosz, Symfonia C++ Standard, Oficyna Kallimach,
Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -
Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia
Wykład 1 Informacje Podstawowe
Paradygmaty i języki programowania Wykład 1 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół
Paradygmaty i języki programowania. Wprowadzenie. dr Robert Kowalczyk, Katedra Analizy Nieliniowej, WMiI UŁ 1
Paradygmaty i języki programowania Wprowadzenie Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół form fleksyjnych
Paradygmaty programowania
Wg. J. Bylina, B. Bylina Przegląd języków i paradygmatów programowania, UMCS, Lublin 2011 Paradygmaty programowania Paradygmat (gr. Paradeigma) - wzorzec lub przykład Def. słownikowa: przyjęty sposób widzenia
Języki i metodyka programowania
Języki i metodyka programowania www.ee.pw.edu.pl/~slawinsm Dr inż. Maciej Sławiński M.Slawinski@ee.pw.edu.pl GE518l Konsultacje: śr. 13 00-13 45 SK201/GE518l pt. 10 15-11 00 GE518l/SK201 Algorytmika Literatura
Programowanie w C. dr inż. Stanisław Wszelak
Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++
Wykład 0 Informacje Podstawowe
Paradygmaty Programowania Wykład 0 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Informacje Ogólne (22 luty 2013) Wykłady: piątek, 10.00-12.00, D103 Wykłady: 1 wprowadzający +10 wykładów głównych Zaliczenie
Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl
Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,
Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8
Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick
Historia modeli programowania
Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu
ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia
ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych
Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/
Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.
Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL
Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany
Java EE produkcja oprogramowania
Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez
Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 1 Wstęp Krzysztof Banaś Podstawy programowania 1 Elementy historii informatyki I think there is a world market for maybe five computers. - Thomas Watson, chairman of IBM,
Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki
Programowanie obiektowe W1 Wprowadzenie Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Ogólna charakterystyka języka C++ C++ jest obiektowym językiem programowania,
Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
dr inż. Paweł Myszkowski Wykład nr 5 (16.03.2016)
dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2015/2016 Wykład nr 5 (16.03.2016) Plan prezentacji:
Plan wykładu. Kompilatory. Literatura. Translatory. Literatura Translatory. Paweł J. Matuszyk
Plan wykładu (1) Paweł J. Matuszyk AGH Kraków 1 2 tor leksykalny tor syntaktyczny Generator pośredniego Generator wynikowego Hopcroft J. E., Ullman J. D., Wprowadzenie do teorii automatów, języków i obliczeń,
Programowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Język programowania PASCAL
Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO
Podstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Król Łukasz Nr albumu: 254102
Król Łukasz Nr albumu: 254102 Podstawy o Delphi Język programowania, którego można używać w środowiskach firmy Borland, Embarcadero, Microsoft (Delphi Prism), oraz w środowisku Lazarus. Narzędzia te są
Środowiska i platformy programistyczne
Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,
SPIS TREŚCI Funkcje systemu operacyjnego Zapewnia obsługę dialogu między użytkownikiem a komputerem Nadzoruje wymianę informacji między poszczególnymi urządzeniami systemu komputerowego Organizuje zapis
Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Literatura Języki i paradygmaty programowania Wykład 2 1. C. S. Horstman, G. Cornell, core Java 2 Podstawy, Helion 2003
Wprowadzenie do programowania
Wprowadzenie do programowania Olsztyn 2007-2012 Wojciech Sobieski Podstawowe pojęcia Język - jest to ogólna nazwa zdefiniowanego zbioru znaków i symboli oraz reguł określających sposoby i kolejność ich
Programowanie obiektowe. Wprowadzenie
1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Podstawy programowania.
Kod przedmiotu: PPR Podstawy programowania. Rodzaj przedmiotu: kierunkowy; obowiązkowy Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Poziom studiów: pierwszego stopnia Profil
Języki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki deklaratywne - laborki Wprowadzenie
Programowanie Obiektowe i C++
Programowanie Obiektowe i C++ Marcin Benke 2.10.2006 Dzisiaj Co umiemy Paradygmaty programowania Co będzie na wykładach Zasady zaliczania Programowanie obiektowe Co umiemy Programowałem w C++ Programowałem
Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia
Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne Rocznik: 2019/2020 Język wykładowy: Polski Semestr 1 z Kierunkowe 10
Wykład 1 Wiadomości wstępne
Paradygmaty Programowania Wykład 1 Wiadomości wstępne Nieliniowej, WMiI UŁ 1 Czym jest paradygmat? Paradygmat to przyjęty sposób widzenia rzeczywistości w danej dziedzinie, doktrynie itp. Zespół form fleksyjnych
Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia
Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Rocznik: 2016/2017 Język wykładowy: Polski Semestr 1 IIN-1-103-s
Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!
Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)
Praktyka Programowania
Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:
Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.
MATLAB Co to jest? program komputerowy będący interaktywnym środowiskiem do wykonywania obliczeń naukowych i inżynierskich oraz do tworzenia symulacji komputerowych. Nazwa Nazwa programu pochodzi od angielskich
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,
Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.
Wykład 4 Algorytmy + struktury danych = programy Niklaus Wirth Algorytm = logika + sterowanie Robert Kowalski J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 80 / 277 algorytm program język
Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.
GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans
Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów
Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład I Podstawowe pojęcia 1, Cyfrowe dane 2 Wewnątrz komputera informacja ma postać fizycznych sygnałów dwuwartościowych (np. dwa poziomy napięcia,
Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym
Struktura programu użytkownika w systemie mikroprocesorowym start inicjalizacja niekończaca się pętla zadania niekrytyczne czasowo przerwania zadania krytyczne czasowo 1 Znaczenie problematyki programowania
Programowanie obiektowe
Programowanie obiektowe Wykład 1: Wprowadzenie do programowania obiektowego Dr hab. inż. Stanisław Deniziak, prof.pk, p.101, 410 sdeniziak@pk.edu.pl Informacje organizacyjne Wykład 30h Zaliczenie: egzamin
Java jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Wykład Ćwiczenia Laboratorium Projekt Seminarium
WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium PROGRAMOWANIE INTERNETOWE Internet Programming
Wykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD
Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości
Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:
Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie
Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi
Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie
Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki
Programowanie I Kornel Warwas ATH Katedra Matematyki i Informatyki 2 Algorytm Algorytm skończony, uporządkowany ciąg zdefiniowanych czynności, koniecznych do wykonania określonego zadania w ograniczonej
Opracował: Jan Front
Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny
SOA Web Services in Java
Wydział Informatyki i Zarządzania Wrocław,16 marca 2009 Plan prezentacji SOA 1 SOA 2 Usługi Przykłady Jak zacząć SOA Wycinek rzeczywistości Problemy zintegrowanych serwisów : Wycinek Rzeczywistości Zacznijmy
Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia
Studia pierwszego stopnia I rok Matematyka dyskretna 30 30 Egzamin 5 Analiza matematyczna 30 30 Egzamin 5 Algebra liniowa 30 30 Egzamin 5 Statystyka i rachunek prawdopodobieństwa 30 30 Egzamin 5 Opracowywanie
Dotacje na innowacje. Inwestujemy w waszą przyszłość.
PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia
Języki programowania imperatywnego
Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki imperatywne Wykład - 15 godzin;
Zestawy zagadnień na egzamin dyplomowy (inżynierski) dla kierunku INFORMATYKA (studia I stopnia)
Zestawy zagadnień na egzamin dyplomowy (inżynierski) dla kierunku INFORMATYKA (studia I stopnia) Zgodnie z Zarządzeniem Rektora ZPSB w sprawie Regulaminu Procedur Dyplomowych, na egzaminie dyplomowym (inżynierskim)
SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści
Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne
Ryszard Myhan. Wykład 1: Języki programowania
Ryszard Myhan Wykład 1: Języki programowania Programowanie Programowanie to proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych.
Programowanie MorphX Ax
Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn
PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ
PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy
Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ
(ARK) Komputerowe sieci sterowania 1.Badania symulacyjne modeli obiektów 2.Pomiary i akwizycja danych pomiarowych 3.Protokoły transmisji danych w systemach automatyki 4.Regulator PID struktury, parametry,
INFORMATYKA Pytania ogólne na egzamin dyplomowy
INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja
To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i
Aleksandra Dębiecka To sposób w jaki użytkownik wchodzi w interakcje z systemem. To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski,
STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe
STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe Technologie informacyjne Prof. dr hab. Zdzisław Szyjewski 1. Rola i zadania systemu operacyjnego 2. Zarządzanie pamięcią komputera 3. Zarządzanie danymi
Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski
Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która
TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.
TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE 1. Po uruchomieni programu Greenfoot początkowa scena ma następujące składniki: a. obiekty scenerii i jeden obiekt ruchomy, b. obraz tła, jeden lub więcej
6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.
WYDZIAŁ: GEOLOGII, GEOFIZYKI I OCHRONY ŚRODOWISKA KIERUNEK STUDIÓW: INFORMATYKA STOSOWANA RODZAJ STUDIÓW: STACJONARNE I STOPNIA ROK AKADEMICKI 2014/2015 WYKAZ PRZEDMIOTÓW EGZAMINACYJNYCH: I. Systemy operacyjne