Języki programowania

Transkrypt

Języki programowania
Języki programowania - implementacje
11/10/2005
Język maszynowy i assembler
Języki programowania
- implementacje
!
!
Pionierskie języki maszynowe
Języki III generacji
Języki ‘internetowe’
Różne aplikacje
!
Do 1954 większość programów pisano w języku
maszynowym.
W następnych latach kody operacji zastąpiono
nazwami mnemotechnicznymi (mnożenie MPY MultiPlY).
Kolejny etap to zastąpienia nazwami wartości
adresów.
!
Tak napisane w postaci symbolicznej programy były
tłumaczone na język maszynowy za pomocą programu
zwanego asemblerem
2/12
Pionierzy
!
!
!
FORTRAN i COBOL
Pisanie programów w języku maszynowym lub
symbolicznym określa się mianem kodowania.
!
!
To co robimy współcześnie (programowanie) obejmuje
dodatkowo konstrukcję algorytmu.
©2005 R. Robert ‘RoG@j’ Gajewski
!
!
©2005 R. Robert ‘RoG@j’ Gajewski
Pascal, C, C++
!
Pascal został stworzony przez Wirtha w 1969 na
gruncie pewnych idei Algolu
!
!
przeznaczony jest również do obliczeń numerycznych, ale
jego możliwości są szersze
!
BASIC (Beginner’s All-purpose Symbolic Instruction
Code)
!
©2005 R. Robert ‘RoG@j’ Gajewski
!
(C)2005 R. Robert "RoG@j" Gajewski
6/12
łączy ze sobą właściwości asemblerów i dobre cechy
języków wysokiego poziomu
C++
!
jest uniwersalnym językiem programowania dla
początkujących
jest językiem zwięzłym o przejrzystej gramatyce
C (1972), którego twórcą jest Ritchie
!
5/12
Stworzony został do przetwarzania dużej liczby danych.
4/12
Algol (ALGOrythmic Language, ALGEbraic
Oriented Language) powstał jako wspólne dzieło
Wirtha i Hoare na gruncie pewnych idei
FORTRANU;
!
Jego celem było automatyczne tłumaczenie różnych
wzorów matematycznych.
COBOL (Common Business Oriented Language) to
język programowania rozwiązujący problemy z
rachunkowości i ekonomii.
!
Algol I BASIC
!
FORTRAN (FORmula TRANslation) został
opracowany w latach 1954-57 przez Backhusa i
jego grupę.
!
Praojcem języków programowania wysokiego
poziomu był język Plankakul
(1945, Konrad Zuse).
Twórca pierwszego kompilatora –
(1952 Grace Hopper).
3/12
!
©2005 R. Robert ‘RoG@j’ Gajewski
język programowania wysokiego poziomu, którego
autorem jest Bjarne Stroustrup z AT&T Bell Laboratories.
C++ łączy wszystkie zalety języka C z możliwościami
języków programowania obiektowego.
Był on projektowany jako nadzbiór C
©2005 R. Robert ‘RoG@j’ Gajewski
1
Języki programowania - implementacje
11/10/2005
Języki internetowe
!
Java
!
!
!
Stworzony w 1995 r. przez firmę SUN Microsystem (jego
autorem jest J. Gosling) język programowania obiektowego
niezależnego od platformy systemowej.
!
język skryptowy używany przy publikowaniu materiałów w
sieci WWW, opracowany został przez firmę Netscape
Communications
!
PHP
!
Personal Home Page lub Personal Hypertext
Preprocessor) to alternatywna wobec ASP i CGI technika
dynamicznego tworzenia stron WWW
7/12
©2005 R. Robert ‘RoG@j’ Gajewski
!
!
!
!
!
kompletność (odpowiedź na każde pytanie dot. składni i
semantyki);
przejrzystość (do łatwego zrozumienia każdej definicji
powinna być potrzebna minimalna liczba elementów);
zwięzłość (możliwość zwartego zapisu);
naturalność (ważniejsza chyba od zwięzłości); realizm
(liczenie się z ograniczeniami konkretnej implementacji).
9/12
©2005 R. Robert ‘RoG@j’ Gajewski
!
!
11/12
©2005 R. Robert ‘RoG@j’ Gajewski
Aplikacje (3)
Zintegrowane pakiety biurowe (MS Office…) służą do automatyzacji prac biurowych:
korespondencja, obliczenia tabelaryczne, kartoteki i
bazy danych, grafika prezentacyjna
Programy i biblioteki matematyczne - służą do
automatyzacji wielu obliczeń matematycznych;
!
!
Edytory - służą do redagowania tekstów o
nieskomplikowanej budowie;
Procesory tekstu - to bardziej zaawansowane
edytory dające więcej możliwości profesjonalnego
opracowywania tekstów.
Programy małej poligrafii (DTP, DeskTop
Publishing) są w pełni profesjonalnymi narzędziami
służącymi do składu tekstu i grafiki.
10/12
Aplikacje (2)
!
©2005 R. Robert ‘RoG@j’ Gajewski
Aplikacje (1)
Istnieje naturalna konieczność tworzenia
kompletnych definicji języków programowania
zawierających omówienie ich wszystkich
szczegółów.
!
podejście syntetyczne (bottom-up), od podstaw;
rozpoczyna się od pojęć podstawowych, takich jak typy,
identyfikatory, liczby;
podejście analityczne (top-down) rozpoczyna się od
konstrukcji najwyższego poziomu (np. programu);
posługując się często nie zdefiniowanymi konstrukcjami
pozwala na szybsze zrozumienie języka.
8/12
Definicje języków
!
Uczenie się i poznawanie języka programowania
może się odbywać w jeden z przeciwstawnych
sposobów:
JavaScript
!
!
Uczenie się języków
!
!
!
Pakiety graficzne - charakter zbliżony do CAD i
DTP
Programy edukacyjne - multimedia!!!
Gry - mogą mieć charakter edukacyjny;
!
wiele z gier to odpowiedniki symulatorów, profesjonalnych
narzędzi do szkolenia pilotów
stanowią pomoc przy… projektowaniu!
Programy wspomagające pracę inżyniera
(CAD/CAE/CAM) - mogą się różnić zależnie od
poszczególnych dyscyplin inżynierskich
©2005 R. Robert ‘RoG@j’ Gajewski
(C)2005 R. Robert "RoG@j" Gajewski
12/12
©2005 R. Robert ‘RoG@j’ Gajewski
2