Wprowadzenie do programowania



Podobne dokumenty
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Informatyka. dr inż. Paweł A. Mazurek

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Programowanie komputerów

Podstawy programowania

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie w języku C++ Grażyna Koba

Języki i metodyka programowania

Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania

Języki Programowania. Wprowadzenie do programowania. Wojciech Sobieski

Programowanie w języku Python. Grażyna Koba

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Język programowania PASCAL

Programowanie w C. dr inż. Stanisław Wszelak

Podstawy programowania wykład

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Podstawy programowania. Wprowadzenie

Wstęp do programowania. Wykład 1

Podstawy Informatyki Języki programowania c.d.

Technologie informacyjne - wykład 12 -

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Algorytmy od problemu do wyniku

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Paradygmaty programowania

O (o)programowaniu. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Translacja wprowadzenie

Języki i paradygmaty programowania. I. Wprowadzenie

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Środowiska i platformy programistyczne

Metody Kompilacji Wykład 1 Wstęp

Historia modeli programowania

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

KONSTRUKCJA KOMPILATORÓW

Delphi podstawy programowania. Środowisko Delphi

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.

Java jako język programowania

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Wstęp do programowania

Ryszard Myhan. Wykład 1: Języki programowania

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Król Łukasz Nr albumu:


Utworzenie pliku. Dowiesz się:

Informatyka. dr inż. Paweł A. Mazurek


Tworzenie oprogramowania

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Cel stosowania metod i środków informatyki

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Elementy języków programowania

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

METODY URUCHAMIANIA PROGRAMÓW JĘZYKA AutoLISP W ŚRODOWISKU AutoCAD

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Java EE produkcja oprogramowania

Podstawy Programowania 2

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Zapisywanie algorytmów w języku programowania

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Wykład 4. Środowisko programistyczne

Algorytm. a programowanie -

ALGORYTMY I PROGRAMY

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

Java Podstawy. Michał Bereta

Programowanie I. Wprowadzenie. Proces programowania

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Definicje. Algorytm to:

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!

Podstawy Programowania. Wykład 1

Programowanie obiektowe zastosowanie języka Java SE

biegle i poprawnie posługuje się terminologią informatyczną,

Języki programowania zasady ich tworzenia

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Programowanie i techniki algorytmiczne

1 Podstawy c++ w pigułce.

Programowanie niskopoziomowe

Algorytmika i programowanie usystematyzowanie wiadomości

Informatyka. Michał Rad

Wprowadzenie do biblioteki klas C++

KARTA KURSU. Wstęp do programowania

Programowanie obiektowe - 1.

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

Programowanie proceduralne w języku C++ Pojęcia podstawowe - kod źródłowy

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Plan nauczania informatyki Opracował: mgr Daniel Starego

Transkrypt:

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 użycia. Język, który jest stosowany do przetwarzania algorytmów nosi nazwę języka algorytmicznego, a przy zastosowaniu go do celów programowania określony jest jako język programowania. Ponieważ komputer posługuje się językiem binarnym, tzn. rozróżnia stany 0,1, program w języku programowania należy przetworzyć tak, aby był zrozumiały dla maszyny zadaniem tym zajmują się translatory.

Podstawowe pojęcia Język programowania - zbiór zasad składni, instrukcji, dzięki którym powstaje kod źródłowy programu. Procesor jest w stanie wykonywać program w kodzie maszynowym. Jednakże tworzenie programów w tym języku jest praktycznie niemożliwe. Dlatego programista używa języka zrozumiałego dla człowieka, który następnie jest kompilowany bądź interpretowany do postaci maszynowej. Istnieje wiele rodzajów języków programowania. Można je podzielić na języki strukturalne i obiektowe. Innym kryterium podziału jest zastosowanie języków (innych używa się do tworzenia programów multimedialnych, a innych do obliczeń numerycznych czy np. aplikacji sieciowych). Niektóre z języków są bardziej uniwersalne niż inne.

Podstawowe pojęcia Translatory Kompilatory Fortran Pascal C, C++ Interpretery Python MatLab HTML Java Podział translatorów

Podstawowe pojęcia Kod (plik) źródłowy jest to program komputerowy w postaci tekstu zawierającego instrukcje języka programowania. Kod źródłowy jest jedynym formatem programu czytelnym dla człowieka. Kod źródłowy jest przetwarzany na kod maszynowy przez program zwany translatorem; Kod (plik) obiektowy jest to przetłumaczona na język niskiego poziomu (asembler) wersja kodu źródłowego;

Podstawowe pojęcia Kod maszynowy jest to postać programu komputerowego przeznaczona do bezpośredniego lub prawie bezpośredniego wykonania przez procesor. Kod maszynowy wyrażony jest w postaci rozkazów procesora i ich argumentów. Kod maszynowy przeznaczony jest do wykonania na konkretnym typie procesora; Kod (plik) wynikowy kod, który może być uruchomiony bezpośrednio w systemie operacyjnym. Najczęściej zawiera on binarną reprezentację instrukcji konkretnego typu procesora. Oprócz tego znajdują się w nim zwykle wywołania systemowe, dlatego pliki wykonywalne zazwyczaj są specyficzne nie tylko dla danego procesora, ale też dla danego systemu operacyjnego. Nie dotyczy to sytuacji, kiedy zawierają formę pośrednią, która do uruchomienia wymaga interpretera lub maszyny wirtualnej takie pliki mogą być zwykle uruchamiane na różnych systemach.

Podstawowe pojęcia Plik dołączany (nagłówkowy) jest to zewnętrzny plik tekstowy zawierający fragmenty kodu źródłowego (np. deklaracje typów zmiennych, wartości stałych, funkcji lokalnych). Zawartość plików dołączanych dodawana jest do innych plików źródłowych odpowiednim poleceniem, przy czym odbywa się to automatycznie na etapie preprocesingu; Translator jest to program służący do automatycznego tłumaczenia kodu źródłowego na język maszynowy. Rozróżnia się dwa rodzaje translatorów: kompilatory i interpretery;

Podstawowe pojęcia Kompilator jest to program jednorazowo tłumaczący cały kod źródłowy na język maszynowy i zapisujący go do pliku wynikowego. Kolejne uruchomienia programu (pliku wynikowego) nie wymagają powtórzenia etapu kompilacji oznacza to, że kompilator nie jest potrzebny do uruchamiania programu. Typowymi przykładami języków kompilowanych są: C, C++, Pascal, Fortran; Interpreter jest to program tłumaczący i wykonujący kod źródłowy linia po linii. W tym przypadku nie ma pliku wynikowego, a każde uruchomienie wymaga ponownego przeprowadzenia etapu interpretacji interpreter jest więc niezbędny do uruchomienia i wykonania programu. Typowymi przykładami języków interpretowanych są: Python, MatLab, GNU Plot, HTML, BPL;

Podstawowe pojęcia Biblioteka statyczna jest to rodzaj biblioteki, która łączona jest z programem w etapie konsolidacji. W systemach z rodziny Windows zwykło nadawać się im rozszerzenia.lib lub.o, natomiast w systemach z rodziny Unix są to zwykle.a lub.o. Biblioteki statyczne, w przeciwieństwie do bibliotek dynamicznych, nie wymagają pomocy systemu operacyjnego komputera po połączeniu z danym programem są od razu gotowe do użycia; Biblioteka dynamiczna jest to rodzaj biblioteki, która łączona jest z programem dopiero w momencie jego wykonania. Aby tego dokonać system operacyjny komputera musi posiadać pewne funkcje, które umożliwiają łączenie dynamiczne. W systemach Windows biblioteki dynamiczne mają zazwyczaj rozszerzenie.dll;

Podstawowe pojęcia Konsolidator (linker) jest to program, który w trakcie procesu konsolidacji łączy zadane pliki obiektowe i biblioteki statyczne tworząc w ten sposób plik wykonywalny;

Etapy kompilacji pliki dołączane (.inc) biblioteki statyczne (.lib,.so,.o) preprocesor kompilator konsolidator kod źródłowy (.for,.f90,.f95) przetworzony kod źródłowy kod obiektowy (w asemblerze) plik wynikowy (.exe,.out) Etapy translacji (Fortran)

Etapy kompilacji Etap preprocesingu obejmuje on odczyt i analizę kodu źródłowego na podstawie reguł danego języka. W tym etapie dokonywana jest: analiza leksykalna rozdzielenie kodu źródłowego na elementarne jednostki języka programowania zwane tokenami; analiza składniowa kontrola, czy ułożenie tokenów nie łamie reguł danego języka programowania (czy kod źródłowy był poprawny składniowo); analiza semantyczna określenie znaczenia poszczególnych tokenów. Przykładem może być sprawdzanie, czy nie występuje niezgodność typów.

Etapy kompilacji Na etapie preprocesingu do kodu źródłowego wstawiana jest również zawartość plików dołączanych. Realizuje się to specjalną instrukcją (np. INCLUDE) umieszczoną na początku kodu źródłowego. Po napotkaniu takiej instrukcji, preprocesor wstawi w miejsce deklaracji zawartość odpowiedniego pliku. Efektem pracy preprocesora jest tzw. przetworzony kod źródłowy;

Etapy kompilacji Etap kompilacji służy do przetłumaczenia kodu źródłowego na kod obiektowy. W przypadku jednoczesnej kompilacji wielu plików źródłowych, każdy z nich przetworzony jest na oddzielny kod obiektowy. Na tym etapie nie są analizowane zależności pomiędzy poszczególnymi segmentami programu; Etap konsolidacji służy do połączenia wszystkich plików obiektowych oraz dodatkowych bibliotek statycznych w jeden kod wynikowy. Na tym etapie sprawdzane są zależności pomiędzy poszczególnymi segmentami programu. Dodanie biblioteki statycznej wymaga podania odpowiednich opcji kompilacji. Po konsolidacji program jest gotowy do uruchomienia.

Środowisko programistyczne 1. Translator służy do wykonania kompilacji lub interpretacji kodu źródłowego. Standardowym katalogiem, w których umieszcza się pliki translatora jest katalog BIN w głównym katalogu aplikacji. Aby proces translacji był możliwy, system operacyjny musi znać dokładne położenie translatora i jego bibliotek. W tym celu należy dokonać odpowiedniego wpisu w pliku wsadowym autoexec.bat (czasami wpis tworzony jest automatycznie podczas instalacji).

Środowisko programistyczne Przykłady: Fortran 90 SET PATH=C:\F90\BIN;"%PATH%" SET INCLUDE=C:\F90\INCLUDE;"%INCLUDE%" SET LIB=C:\F90\LIB;"%LIB%" VFort SET PATH=%PATH%;C:\VFort\Bin SET LIBRARY_PATH=C:\VFort\Lib

Środowisko programistyczne Przykłady: Delphi SET PATH=C:\ DELPHI\BIN;C:\ DELPHI\PROJECTS\BPL;%PATH% FreePascal SET PATH=C:\FreePas\Bin\Win32;%PATH%

Środowisko programistyczne 2. Biblioteki i dodatkowe pliki wsadowe służą do rozszerzania możliwości języka, szczególnie w zakresie pewnych zastosowań (np. obliczeń matematycznych, numerycznych, obróbki grafiki). Standardowo instalowane są w katalogach LIBRARY i INCLUDE w głównym katalogu aplikacji. Biblioteki podstawowe dostarczane są wraz z środowiskiem programistycznym, biblioteki dodatkowe rozprowadzane są w postaci osobnych pakietów.

Środowisko programistyczne 3. Edytor kodu służący do pisania tekstu kodu źródłowego. Edytory mogą być uniwersalne (np. ConText, Amigo, Crimson, Codex, EditPlus, UltraEdit, Editeur, EmEditor i inne) lub też zintegrowane z konkretną implementacją języka (np. Borland Delphi, Compaq Visual Fortran i inne). Edytory uniwersalne pozwalają na podłączanie kompilatorów jednego lub wielu języków i są rozprowadzane jako oddzielne programy. Podłączenie konkretnego kompilatora odbywa się poprzez odpowiednią definicję opcji programu. Zaletą edytorów jest to, że poprawiają znacznie przejrzystość i wygodę tworzenia kodu, a także pomagają pisać kod źródłowy programu wyróżniając, zazwyczaj kolorem lub wytłuszczoną czcionką, słowa kluczowe danego języka łatwo wówczas zauważyć błąd już na etapie jego popełniania.

Środowisko programistyczne 4. Debugger (analizator kodu) służy do analizy poprawności tworzonego kodu źródłowego i stanowi zazwyczaj integralną część translatora (może być to również oddzielny program). Podczas analizy kodu źródłowego generowane są informacje o błędach czasami wymaga to podania dodatkowych opcji kompilacji na bieżąco (analizator zatrzymuje się w miejscu wykrycia błędu) lub też w postaci końcowego raportu. Oprócz sygnałów o błędach, analizatory podają również tzw. ostrzeżenia, tzn. informacje o znalezieniu niejasności w kodzie lub o wykryciu miejsca potencjalnie niebezpiecznego. Typowym ostrzeżeniem jest wiadomość o wykryciu deklaracji zmiennej, która nie została nigdzie w kodzie wykorzystana.

Środowisko programistyczne 5. Edytor formularzy służy do budowy okien widzianych przez użytkownika po uruchomieniu programu (formularzy). Element ten występuje jedynie w językach wizualnych, takich jak Visual Basic, Delphi, Compaq Visual Fortan i innych. W różnych implementacjach języków, edytor formularzy może być dostępny bezpośrednio po uruchomieniu programu lub też po wybraniu odpowiedniej opcji z menu. Zaletą stosowania tego narzędzia jest łatwość tworzenia dowolnie skomplikowanych okien i określania ich właściwości. Nie traci się wówczas czasu na pisanie elementów kodu, odpowiedzialnych za tworzenie się formularzy i ich elementów, a programista skupia się jedynie na realizacji założonego algorytmu. Brak edytora formularzy nie przesądza o tym, że nie można tworzyć standardowych, okienkowych aplikacji wygląd definiowany jest wówczas przez programistę w kodzie źródłowym.

Środowisko programistyczne 6. Menadżer projektu służy do zarządzania modułami i plikami projektu. Rzadko bowiem tak się zdarza, że cały kod źródłowy zawarty jest w jednym pliku przeważnie jest ich wiele i zawierają nie tylko poszczególne moduły kodu, ale również biblioteki, różne pliki wsadowe, grafikę i pliki multimedialne. Zazwyczaj istnieje główny plik projektu zawierający wszystkie potrzebne do kompilacji informacje. Z pomocą menadżera łatwo można modyfikować zawartość i strukturę projektu.

Środowisko programistyczne 7. Narzędzia dodatkowe służą do tworzenia systemu pomocy, ikon i kursorów, programów instalacyjnych. Ilość narzędzi i poziom ich zaawansowania zależy od implementacji języka.

Środowisko programistyczne 8. System pomocy służy do uzyskiwania informacji o środowisku programistycznym, zasadach jego użytkowania, elementach języka (wraz z przykładami), rodzaju licencji, autorach i kontaktach. Zależnie od implementacji języka oraz jego rodzaju pomoc może być mniej lub bardziej rozwinięta. Dobrze zorganizowanie, obszerne systemy pomocy zawierają często kompendium wiedzy na temat danego języka programowania.

Środowisko programistyczne Edi

Delphi Środowisko programistyczne

Generacje JP Języki programowania można podzielić na pięć wyraźnie różniących się generacji (niektórzy mówią o czterech). W miarę jak zmieniał się komputer, wystąpiła konieczność dostarczania użytkownikowi narzędzi programistycznych, które umożliwiłyby mu maksymalne wykorzystanie sprzętu. Nie ma jednak pełnej zbieżności chronologicznej między poszczególnymi generacjami języków i sprzętu.

Generacje JP Pierwsza generacja - Programowanie pierwszych komputerów akceptujących zmianę oprogramowania odbywało się bezpośrednio w kodzie binarnym, który można przedstawić jako ciągi zer i jedynek. Każdy typ komputera operuje własnym kodem, który dlatego został określony nazwą język maszynowy lub wewnętrzny. I to właśnie stanowi główną wadę tych języków, gdyż programista każdorazowo musi dostosowywać się do języka konkretnej maszyny. Przykład: 00101010010110110100010101101101011010001011100001000010011 11000010101111100001010101000001010100010101000001010010101 00101101101000101011011010110100010111000010000100111100001 01011111000010101010000010101000101010000010100010010

Generacje JP Druga generacja - Ponieważ operowanie ciągami zerojedynkowymi nie jest wygodne dla programisty, przypisano im łatwiejsze do zrozumienia znaki mnemotechniczne. Tak narodziły się języki symboliczne, zwane też asemblerami. Choć stanowią proste tłumaczenie języka maszynowego na symbole i są ściśle związane z danym modelem komputera, to ułatwiają pisanie instrukcji i czynią je bardziej czytelnymi. Przykład: mov dx, offset info mov ah, 9 int 21h mov ah, 0 int 16h

Generacje JP Trzecia generacja - Kolejnym krokiem w rozwoju języków programowania było powstanie języków wysokiego poziomu. Symbole asemblera reprezentujące konkretne instrukcje zostały zastąpione kodem nie związanym z maszyną, bardziej zbliżonym do języka naturalnego lub matematycznego. Przykład: for i:=1 to MaxN do begin Vx[i]:=Vx[i]+dx[i]; end;

Generacje JP Czwarta generacja - Na czwartą generację języków programowania składa się szereg narzędzi, które umożliwiają budowę prostych aplikacji przez zestawianie prefabrykowanych modułów. Obecnie wielu specjalistów uważa, że nie są to języki programowania w ścisłym znaczeniu, gdyż częstokroć stanowią jedynie rozszerzenie języków już istniejących. Niektórzy autorzy proponują stosować nazwę czwarta generacja wyłącznie w odniesieniu do programowania obiektowego (OOP). Przykład:

Generacje JP Piąta generacja - Nazwę język piątej generacji stosuje się czasem w odniesieniu do języków używanych do tworzenia programów wykorzystujących tzw. sztuczną inteligencję (AI) lub inaczej - systemów ekspertowych.

Podział JP Podział ze względu na rodzaj translacji: kompilowane, interpretowane.

Podział JP Podział ze względu na strukturę (1): języki proceduralne (imperatywne) programista określa JAKIE operacje maja być wykonane i w JAKIEJ KOLEJNOŚCI, języki nie proceduralne (deklaratywne) programista opisuje to, CO chce wykazać. Decyzja JAK to wykonać należy do kompilatora.

Podział JP Podział ze względu na strukturę (2): języki strukturalne program rozbity na procedury (podprogramy), z których każda odpowiada za rozwiązanie określonego problemu. Procedury stanowią wtedy odrębne, samodzielnie działające całości, które możemy wykorzystać także i w innych pisanych programach. języki niestrukturalne brak wydzielonych obszarów odpowiedzialnych za rozwiązywanie określonych problemów.

Podział JP Podział języków ze względu na zastosowania: 1. algorytmiczne: do zapisywania algorytmów algebraiczne (Fortran, Pascal, C) - do zapisu algorytmów numerycznego przetwarzania informacji, ekonomiczne (COBOL, PL/1) - opis algorytmów przetwarzania informacji o charakterze ekonomicznym, bankowym, handlowym. Rozbudowane mechanizmy operacji we/wy i pewne możliwości wykonywania operacji na danych nienumerycznych, do symbolicznego przetwarzania informacji (LISP) - do zapisu algorytmów przetwarzania informacji numerycznych i na danych symbolicznych.

Podział JP Podział języków ze względu na zastosowania, cd: 2. języki symulacyjne (SIMULA) - ułatwiają opisywanie algorytmów modelowania i symulacji 3. bezpośredniego dostępu (BASIC) - pozwalają na konwersację z maszyną. 4. problemowe - ściśle dostosowane do konkretnej klasy zadań.

Podział JP Podział według struktury (3): języki strukturalne (Fortran, Pascal, Algol) języki zorientowane obiektowo (C++, Visual C++, Turbo Pascal, Delphi, Smalltalk, Objective-C, Eiffel, Lisp, Oberon, Actor, CLOS, Ada95, Prolog++, Zink, JAVA, J++, Visual Objects, Python):

Podział JP W ostatnich latach w projektowaniu oprogramowania zorientowanego obiektowo wykształcił się wyraźny podział na: OOA - Object Oriented Analysis (Analiza Zorientowana Obiektowo) OOD - Object Oreinted Design (Projektowanie Zorientowane Obiektowo) OOP - Object Oriented Programming (Programowanie Zorientowane Obiektowo)

Podział JP Przykład ewolucji wybranych języków programowania

Dziękuję za uwagę Olsztyn 2007-2012 Wojciech Sobieski