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