Technologia narzędzi programistycznych.
Języki komputerowe to zespół reguł semantycznych i syntaktycznych, które określają sposób funkcjonowania programu. Reguły syntaktyczne to składnia języka określająca symbole operatorów, słowa kluczowe i powiązania między nimi. Reguły semantyczne określają sposób realizacji kodu.
Podział według techniki wykonywania kodu:
interpreter - kod wykonywny jest w taki sposób, że część programu jest czytana, analizowana pod względem syntaktycznym, a następnie wykonywana, proces ten jest potarzany cyklicznie. Zaletą tego podejścia jest szybki czas realizacji programu. Wadą - długi czas wykonywania programu, za każdym razem język programowania analizuje składnię. Program dostarczony składać się musi z wersji źródłowej (lub p-code) i interpretera.
kompilator - kod wykonywany jest w ten sposób, że najpierw podlega tłumaczeniu na kod maszynowy, a następnie jest wykonywany. Zaletą jest szybki czas wykonywania programu i możliwość dostarczenia go bez kodu źródłowego, wadą - długi czas realizacji programu.
|
interpreter |
kompilator |
strukturalny |
obiektowy |
wzrokowe |
Visual C++ |
|
* |
* |
* |
* |
Visual Basic |
* |
|
* |
|
* |
Pascal |
|
* |
* |
|
|
Delphi |
|
* |
* |
* |
* |
Java |
* |
* |
* |
* |
* |
Clipper |
|
* |
* |
|
|
Borland C++ |
|
* |
* |
* |
* |
Informix 4GL |
|
* |
* |
|
|
Prolog |
|
* |
|
|
|
Metodologia analizy rzeczywistości:
podejście strukturalne - takie, które realizuje analizę poprzez podział całości na części. Inaczej to podejście top-down, czyli dekompozycja funkcjonalna, forma drzewka. Od lat `60 do `90 było to podejście dominujące. Zalety to zgodność z naturalną cechą ludzkiej analizy rzeczywistości i dostępność dla większości tej techniki bez większego przeszkolenia. Wady to: brak charakteru hierarchicznego w systemach rzeczywistych, bariera skomplikowania systemu.
Języki strukturalne charakteryzują się: wykonywaniem sekwencyjnych instrukcji, stosowanie instrukcji wyboru, stosowanie instrukcji pętli, możliwość podziału programu na funkcje (dekompozycja funkcjonalna).
W językach strukturalnych następuje sztuczne rozdzielenie funkcjonalności danych, co powoduje tworzenie niespójnych projektów. Istnieją ogromne trudności w realizacji zmian - programy oparte są na funkcjonalności, która często się zmienia i trzeba je dostosowywać. Istnieją trudności w ponownym wykorzystaniu komponentów, geometryczny wrost skomplikowania systemów.
podejście obiektowe - łączy funkcjonalność i dane w jednym obiekcie, wprowadza pojęcie abstrakcji, w której złożone elementy reprezentowne są przez uproszczony model. Hermetyzacja - mechanizm zapewniający ukrycie rzeczywistej implementacji obiektu.
Dziedziczenie - związek między klasami, w której jedna klasa może przyjmować funkcje i atrybuty innej, ogólniejszej klasy.
Polimorfizm - mechanizm, w którym funkja o tej samej nazwie może realizować odmienną funkcjonalność zależnie od kontekstu, w jakim została wykorzystana.
Narzędzia wzrokowe.
Z przedrostkiem Visual, np.
Visual C++
Visual Age
Visual Basic
Visual J++
Umożliwiają wygodne tworzenie sruktury programu i wyglądu oraz sposobu komunikacji z użtkownikiem.