Temat 5: PROGRAMOWANIE, FAZY PROGRAMOWANIA
Programowanie- proces projektowania, pisania, testowania i utrzymania kodu źródłowego programów komputerowych.
Wymaga ono szerokiej wiedzy i doświadczenia z zakresu technik projektowania, algorytmiki, struktur danych, znajomości kompilatorów, szczegółów architektury komputerów i/lub systemów operacyjnych oraz jak one działają.
Historia
Automaty budowane od starożytności, które miały możliwość zmiany wykonywanych zadań przez zmianę elementów;
Krosno sterowane przy pomocy kart perforowanych zbudowane przez Josepha Marie Jacquarda [Francja 1805]
Automat analityczny Charlesa Babbage'a opisany przez Adę Lovelace, która napisała pierwszy program obliczający liczby Bernoulliego [Anglia 1833]
Pojawienie się pierwszych „prawdziwych” komputerów pozwoliło „składać” programy bezpośrednio w pamięci [kod maszynowy]
Pierwszy język programowania - asembler
FORTRAN- pierwszy język programowania wysokiego poziomu [USA, 1954]
Pojawienie się terminali komputerowych pozwalających rozstać się z kartami perforowanymi [koniec lat 60-tych]
Co jest potrzebne- żeby programować:
Komputer lub jego emulator
Edytor tekstów
Kompilator
Debugger
Biblioteki programistyczne
Inne narzędzia
Język programowania- jest to formalny zbiór zasad określających sposób zapisu algorytmów i innych zadań z wykorzystaniem określonej składni i semantyki.
Wszystkie języki programowania można podzielić m.in. ze względu na:
Paradygmat programowania
- programowanie proceduralne
- programowanie obiektowe
- programowanie zdarzeniowe
- programowanie logiczne
Generację
- 1 GL - binarny kod maszynowy
- 2 GL- asembler
- 3 GL - zbliżone do języka naturalnego
- 4 GL - pozwalają w szybki sposób tworzyć gotowe programy [RAD]
- 5 GL - nie używają algorytmów, a słownych lub symbolicznych opisów problemu
Poziom
- niskopoziomowe- operujące blisko sprzętu
- wysokopoziomowe- oderwane od sprzętu, programista skupia się na problemie, a nie jak ma obsłużyć jakieś urządzenie
Sposób wykonania
- interpretery
- kompilatory
Przykłady języków programowania: FAZY PROGRAMOWANIA
Asembler --------------- > Definicja problemu, określenie wymagań
FORTRAN
Angol
Basic
Pascal/ Delphi
C/C++ ------------------- > Określenie założeń, opracowanie algorytmu
Java
Perl
PHP
-------------- > Zapisanie algorytmów w języku programu
------------> Sprawdzanie poprawności działania, szukanie dziur, idiotoodporność
Obecnie są często połączone w tzw. Zintegrowane środowisko programistyczne [IDE]
Problem
Projektowanie
Kodowanie
Testowanie
Program