Anda di halaman 1dari 2

RYS HISTORYCZNY (lekcja 1.

1)
Powstanie jzyka C Jzyk C zosta stworzony przez Briana Kernighana i Dennisa Ritchiego w latach 70-tych dwudziestego wieku. Wyrs on z beztypowych jzykw B i BCPL. Mimo swojej genezy w jzyku C wystpuj rnorodne typy danych a kontrola typw jest jednym z istotnych zada kompilatora. Sam jzyk zawiera kilka podstawowych typw danych (znaki, liczby cakowite, liczby zmiennopozycyjne) oraz mechanizmy pozwalajce budowa wasne, bardziej skomplikowane typy pochodne. Wyposaony jest te (podobnie jak jzyki B i BCPL) w podstawowe konstrukcje sterujce, niezbdne przy dobrym programowaniu strukturalnym. Zaliczy do nich mona grupowanie instrukcji, instrukcje warunkowe czy ptle. Pocztkowo jedyn definicj jzyka C by przewodnik zawarty w pierwszym wydaniu powiconej mu ksiki. Dopiero w 1983 roku Amerykaski Narodowy Instytut Standaryzacji (ANSI) rozpocz prace nad sformuowanie nowoczesnej i wszechstronnej definicji jzyka. Dziki temu w roku 1988 powstao opracowanie opisujce standard jzyka C zwany standardem ANSI. Wspczesne kompilatory realizuj i czsto rozszerzaj standard ANSI. Pomimo wielu dodatkw, czsto zwizanych z konkretnym kompilatorem, moemy zawsze skompilowa i uruchomi napisane programy w trybie zgodnoci ze standardem ANSI (np. flaga -ansi dla kompilatora gcc). Filozofia jzyka C Gwnym powodem powstania jzyka C bya potrzeba stworzenia wygodnego dla programisty jzyka do pisania systemw operacyjnych i kompilatorw. Pocztkowo jzyk C by znany jako jzyk systemu operacyjnego Unix. W czasie jego projektowania kadziony by duy nacisk na przenono kodu. Aktualnie kompilatory jzyka C dostpne s dla wikszoci platform sprztowych i systemowych. Mimo swojej uniwersalnoci, jzyk ten zazwyczaj pozwala wykorzysta specyficzne cechy architektury. Popularno jzyka C jest skutkiem jego wysokiej wydajnoci wynikajcej z naturalnego odwzorowania niskopoziomowego jzyka Asembler. Kosztem uzyskania duej wydajnoci oraz przenonoci kodu byo zrezygnowanie z takich udogodnie jak wbudowane konstrukcje do obsugi obiektw zoonych (cig znakw, tablica), wejcia/wyjcia oraz plikw czy wsparcie dla wieloprogramowoci, wspbienoci i synchronizacji. Wszystkie te elementy realizowane s przez specjalne biblioteki oraz rozszerzenia jzyka C. Popularno jzykw programowania wedug TIOBE Poniszy wykres obrazuje popularno najczciej uywanych w minionej dekadzie jzykw programowania. Jzyki C i C++ nale do grupy trzech najpopularniejszych jzykw, ustpujc tylko Javie. Na przestrzeni ostatniej dekady chwilowo wysz popularno uzyskiway PHP oraz Visual Basic.

Autorzy: ukasz Mikulski i Marcin Pitkowski, WMiI, UMK w Toruniu

Programowanie zorientowane obiektowo Jzyk C jest jzykiem pozwalajcym tworzy programy strukturalne, znane Ci ju z jzyka Pascal. Program strukturalny tworzony jest przez zdefiniowanie procedur wykonujcych okrelone zadania i wywoanie ich w odpowiedniej kolejnoci. Nacisk kadziony jest na przetwarzanie danych oraz budowanie algorytmw niezbdnych do wykonania oblicze. Jzyk C++ rozszerza moliwoci jzyka C dziki dodaniu moliwoci programowania obiektowego. Programowanie zorientowane obiektowo daje bardziej intuicyjny i naturalny sposb widzenia procesu programowania. wiat rzeczywisty modelowany jest w tym przypadku przez obiekty, czyli zmienne typw definiowanych przez programist. Kady obiekt posiada swoje atrybuty np: rozmiar, kolor, ksztat itp. oraz wykazuje pewnie zachowania, np. start, ldowanie itp. w przypadku obiektu modelujcego samolot. Obiektowy program komputerowy jest wic zbiorem obiektw komunikujcych si ze sob w celu wykonania okrelonego zadania. Stworzenie programu obiektowego polega na okreleniu niezbdnych obiektw, ich atrybutw, zachowa oraz wzajemnej komunikacji. Obiekty skadaj si po czci z elementw programw strukturalnych. Przykadowo atrybuty opisywane s wartociami odpowiednich zmiennych zwanych polami, natomiast zachowania modelowane s za pomoc funkcji zwanych metodami. Komunikacja midzy obiektami realizowana jest przez wywoania publicznych metod obiektu powodujcych odpowiednie jego zachowanie. Programowanie zorientowane obiektowo pozwala ukry wewntrz obiektu niektre szczegy implementacji takie jak dane (atrybuty) czy funkcje (zachowanie) obiektw oraz udostpnia na zewntrz tylko publiczny interfejs sucy do komunikacji z obiektem. Przykadowo, aby prowadzi samochd wystarczy mie dostp do jego "publicznego interfejsu" w postaci kierownicy, pedaw, drka zmiany biegw itp. Nie jest natomiast potrzebny dostp do szczegw "implementacji" silnika.
Autorzy: ukasz Mikulski i Marcin Pitkowski, WMiI, UMK w Toruniu

Anda mungkin juga menyukai