Historie programování

Slides:



Advertisements
Podobné prezentace
SoftPC SQL Prezentace nového SQL modulu Mzdy a personalistika
Advertisements

Stránka 1, © Vema, a. s.. Stránka 2, © Vema, a. s. Podnikové aplikace  Integrovaný podnikový systém (Integrated Business System):  komplex aplikací.
HRADLOVÁ POLE REKONFIGUROVATELNÁ ZA PROVOZU ZAŘÍZENÍ Soběslav Valach Ústav automatizace a měřicí techniky, FEKT, VUT Brno, Czech Republic.
Stručný úvod do UML.
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
VÝVOJ PROGRAMOVACÍCH JAZYKŮ PERSPEKTIVY ELEKTRONIKY 3. Celostátní seminář, 18. března 2003 Ing. Pavel Pokorný UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ Fakulta technologická.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Tvorba webových aplikací
Co je Linux? Základní pojmy
Základy algoritmizace a programování
Nejsložitější integrovaný obvod
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Historie operačních systémů Fiala Filip, 4.C. 50. léta Počítače bez OS Programy se psaly pro konkrétní počítače, často v binárním kódu Až ke konci 50.
Rozšíření jednouživatelské verze IS na víceuživatelskou Prezentace Diplomové práce Autor : Libor Tomášek Spoluautoři : Pobucký M., Drábek L. Vedoucí :
ICQ. Co je ICQ? ICQ je nejpoužívanější a nejpopulárnější komunikační program. ICQ je zkratka slangového výrazu „I seek you“ (hledám tě). Slouží ke komunikaci.
Co jsou to multimédia Bohumil Bareš.
C# - Úvod Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Simulační modely a programové vybavení. Vývoj simulačních programů  Původně pouze strojový kód –Příliš dlouhé, náročné na programátora, obtížné hledání.
Operační systém (OS) ICT Informační a komunikační technologie.
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
S oftware – programové vybavení počítače. Operační systém. „Základní program“
OPERAČNÍ SYSTÉMY Správa zdrojů Historie Funkce Ovládání počítače
David Šupita, Adam Řešetka, Petr Horák
Multiplatformní, řídící systém elektronického vzdělávání pro školy eDoceo Multiplatformní, řídící systém elektronického vzdělávání pro školy Tomáš Hrdonka.
Úvod do JavaScriptu JavaScript je p JavaScript je programovací jazyk, který se používá na webových stránkách. JavaScript je typu KLIENT - KLIENT To znamená,
Copyright (C) 1999 VEMA počítače a projektování, spol. s r.o.
Vytváření a realizace algoritmů Algoritmy a datové struktury
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Referát č.8 Daniela Venusová.
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Úvod do programování.
Vzdálené počítačové sítě a programování v prostředí Windows Okruhy ke zkoušce z předmětu: Ing. Zdeněk Votruba LVALVA.
1 Programování a p. jazyky Postup při tvorbě programu (systému) –strategie –analýza ( konceptuální modely) Datová Procesní –návrh (i/o, výjimky, algoritmus)
ICT ZÁKLADNÍ POJMY.
Operační systémy. Operační systémy Operační systém je základním programovým vybavením nezbytně nutným pro provoz počítače. Poznámka: Operační systém.
Programování POCSI. Programovani/POCSI2 Základní pojmy Akce - děj nad objekty, mající začátek a konec, a mající přesně definovaný účinek. Příkaz - popis.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
OPERAČNÍ SYSTÉMY.
doc. RNDr. Zdeněk Botek, CSc.
Mikroprocesor.
HISTORIE POČÍTAČŮ III druhá a třetí generace počítačů
PHP Programy pro tvorbu WWW stránek - 01
Počítač univerzální stroj na automatické zpracování informace programovatelný - program určuje využití (univerzalita) program - skupina příkazů, kterým.
Visual Basic - programování
IB111 Programování a algoritmizace
XSLT překladač Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
Základy operačních systémů
Stanice v síti učební texty pro deváté ročníky ZŠ.
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
INFORMATIKA Historie pc.
Překladače Vnitřní struktura překladače © Milan Keršláger
CZ.1.07/1.5.00/ Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/ Střední odborná škola elektrotechnická, Centrum odborné přípravy.
Překladače 1. Překladače a programovací jazyky © Milan Keršlágerhttp:// Obsah:
Odborný výcvik ve 3. tisíciletí Tato prezentace byla vytvořena v rámci projektu.
AS/400 (IBM iSeries) Úvod. Co vlastně je AS/400 (IBM i)? Aplikační systém 400 (AS/400) byl navržen jako počítač obecně použitelný v obchodním prostředí.
ÚVOD DO PŘEDMĚTU INFORMAČNÍ TECHNOLOGIE. OPERAČNÍ SYSTÉM Je v informatice základní programové vybavení počítače (tj. software), které je zavedeno do paměti.
Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_10_NEUMANN_S1.
SOFTWAROVÁ PODPORA PRO VYTVÁŘENÍ FUZZY MODELŮ Knihovna fuzzy procedur Ing. Petr Želasko, VŠB-TU Ostrava.
SOFTWARE Operační systémy.
Vypracoval / Roman Málek
Výukový materiál zpracován v rámci projektu
Operační Systém Operační systém je v informatice základní programové vybavení počítače (tj. software), které je zavedeno do paměti počítače při jeho.
OPERAČNÍ SYSTÉMY Číslo projektu CZ.1.07/1.5.00/ Název školy
Operační systémy Vývoj počítačů
Vlastnosti souborů Jaroslava Černá.
Budování Integrovaného informačního systému Národního památkového ústavu Petr Volfík, NPÚ ÚP
Moderní didaktické technologie a zdroje informací
Tradiční metodiky vývoje softwaru
Web Application Scanning
Transkript prezentace:

Historie programování Jedinému jazyku, kterému počítač rozumí se nazývá strojový kód (binární jazyk) Jeho podoba je úzce svázána s konkrétním hardware, na němž je provozován Programovací jazyky: Nižší úrovně (blíže ke strojovému kódu) Vyšší úrovně (blíže jednoduchému jazyku,který má dannou syntaxi i sémantiku)

Historie programovacích jazyků je úzce svázána: s možnostmi počítačů s rozvojem metod strojového překladu jazyků (lexikální,syntaktická,sémantická analýza, generování a optimalizace kódu) První generace počítačů , počítače na míru, programování ve strojovém kódu, programy na vnějších médiích Počínaje 1948 ovlivnil vynález tranzistoru další výpočetní techniky Prvním jazykem byl jazyk symbolických instrukcí – tzv. assembler (1952-1988) , který významně zjednodušil generování strojového kódu a stavbu programů vůbec

Assembler Programovací jazyk nejnižší úrovně Strojově závislý Syntaxe i sémantika jazyka odráží možnosti (instrukční soubor , možnosti adresování) konkrétního počítače Nejvyšší možná rychlost překladu Možnost rozdělení 1 velkého programu na více elementárních částí, které jsou mezi sebou úzce svázány a komunikují přes vytvořená rozhraní Efektivita přeloženého kódu (programy zabírají málo místa v paměti) – důležité v dobách, kdy byl nedostatek poperační paměti.

Další směr vývoje programovacích jazyků: Programátor jazykem definoval nejen řídící části programu, ale i datové oblasti nad nimiž program vykonává svou činnost důležité postavení i u počítačů 3. a 3,5. generace (rychlost , efektivita překladu , programování vstupně/výstupních operací) Další směr vývoje programovacích jazyků: odstranit strojovou závislost jazyků, vyžadující od programátora detailní znalosti strojového jazyka a znemožňující použití programů vypracovaných pro jeden typ počítače na počítači jiného typu poskytnout programátorům takové prostředky pro popis algoritmů, které odrážejí povahu řešených problémů

3. generace programovacích jazyků Zřejmě nejvýznamnější změnou bylo v 60. letech 20. století rozšíření strojově nezávislých programovacích jazyků, podporujících metody strukturovaného programování. Dochází k rozčlenění programu do autonomních funkčních celků – modulů. Každý modul obsahuje rozhraní a tělo. Fortran (1954, tým IBM vedený J. Backusem). Ve své první podobě byl Fortran opravdu snadno naučitelným jazykem vedoucím k maximálně efektivnímu programu. Fortran byl však původně jazykem určeným pro vědeckotechnické výpočty, proto nemohl vyřešit úplně všechno.

Algol (první verze publikována 1958, dnes známý pod názvem Algol 60) přinesl kromě jiného i bloky (skupiny příkazů) považované za jeden celek) a úplný příkaz if (tj. konstrukci if/then/else) a umožňoval vytváření rekursivních programů. Samozřejmě, že měl i své nedostatky - nedefinoval vstupní a výstupní operace, obsahoval některé nejasné konstrukce, ignoroval potřebu překládat rozsáhlejší programy po částech a navíc se vysloveně vzpíral jinému použití něž byly vědeckotechnické výpočty. Cobol (1960) zaměřený na oblast zpracování hromadných dat, odkud byl vytlačen teprve moderními databázemi. V tomto jazyce bylo napsáno naprosto neuvěřitelné množství programů ( jedná se o milióny řádků), z nichž se celá řada dodnes používá. Novum, které Cobol přinesl, jsou strukturované datové typy, tedy proměnné skládající se z řady dílčích údajů různých typů. Pokusil se také řešit problém přenosu dat mezi různými počítači.

Nové jazyky u 3 generace počítačů 3 generace byla charakterizována začínajícími integrovanými obvody , hlavní externí pamětí se stávají magnetické disky Basic (1964, Kemeney a Kurtz) V původní podobě neobsahoval podprogramy v dnešním slova smyslu a nerozlišoval typy číselných proměnných. Byl totiž taktéž určen pro vědeckotechnické výpočty. Na druhou stranu k jeho popularitě přispěla i jeho jednoduchost, možnost interaktivní práce a snadná implementace na mikropočítačích (kde se však používá v dialektech, které se od původní verze značně liší). Simula 67 (O.J. Dahl a K. Nygaard) Programovací jazyk určený především pro diskrétní simulace.Tento jazyk znal pouze dynamické objekty, se kterými se pracovalo pomocí referencí. Nepoužívané objekty rušila automatická správa paměti (garbage collector).

(4. generace počítačů) Je charakterizována zavedením mikroprocesorů ( v roce 1971- americká firma Texas Instruments zavedla poprvé výrobu mikroprocesorů). Pascal (1971 Wirth). Je velmi obecný, přesto poměrně jednoduchý a vhodný pro výuku programování. Podporuje strukturované programování. Ovlivnil vývoj dalších jazyků. Na osobních počítačích rozšířen zejména díky systému Turbo Pascal. Ada (1979) Obecný jazyk pro většinu aplikací včetně řízení procesů v reálném čase. Navržen na základě požadavků Ministerstva obrany USA

C (1974) byl původně navržen jako jazyk pro vývoj operačního systému UNIX. Byl používán na minipočítačích a pozdějí zejména na osobních počítačích jako jazyk obecného využití. C-jazyk je unikátní, neboť je jakési střední úrovně. Není to jazyk vysoké úrovně jako BASIC nebo PASCAL, není to však ani jazyk nízké úrovně jako assembler. Jazyky střední úrovně jsou jazyky, které nahrazují assembler a přitom umí úkony jazyků vysoké úrovně. C-jazyk vyhovuje od A až do Z, neboť může fungovat stejně dobře jako systémový nebo aplikační jazyk. Jazyk C může pracovat na úrovni systému a umožňuje programátorovi napsat téměř všechno, co ho napadne. Navíc je C-jazyk dostatečně univerzální i pro aplikační programování.Největší předností jazyka C jej jeho schopnost rozšiřovat sama sebe. Knihovny C-jazyka se snadno rozšiřují co do velikosti a je snadné napsat novou funkci, jakmile je potřeba.

3,5. generace prog. jazyků : C++ (1986) Jazyk plně podporující objektově orientované programování a zachovávající efektivitu programů v C. 90. léta až po současnost Jsou charakteristická prudkým rozvojem skriptovacích jazyků pro použití na Internetu (PHP, ASP, Python, JSP, Perl). Existuje potřeba vyvíjet složité aplikace obsluhující databáze a komunikující po síti. Zároveň jsou znatelné požadavky na robustnost a rychlost vývoje těchto aplikací. Veškeré moderní programovací jazyky staví na OOP konceptu. V posledních letech je také zjevný důraz na přenositelnost aplikací mezi jednotlivými platformami a s tím související přechod od jazyků kompilovaných k jazykům interpretovaným, navíc s vyšší úrovní abstrakce.

PHP-Skriptovací jazyk, který je typický tím, že se úseky PHP kódu přímo prolínají s html kódem. Tato kombinace činí z PHP výborný nástroj pro tvorbu dynamických webových stránek. PHP je v dnešní době již široce rozpracováno, poskytuje dostatek funkcí a je široce podporováno. Díky bezproblémové komunikaci s SQL servery se z PHP stal opravdu mocný nástroj. Mezi nevýhody, které PHP vylučují v nasazení do náročných aplikací je nutnost překládat stránku při každém požadavku (lze částečně odstranit použitím akcelerátorů) a špatná podpora OOP. Python- Python je objektový, přenositelný a interpretovaný jazyk. Python kombinuje značnou sílu s čistou syntaxí. Má spoustu modulů, podporuje OOP, výjimky, vysokoúrovňové datové typy a dynamické typy. Existujou rozhraní pro různá systémová rozhraní a knihovny.

Java (1996)- Programovací jazyk Java je čistě objektově orientovaný, podporuje výjimky, má automatickou správu paměti, je přenosná, interpretovaná a široce rozšířená. V Javě se dnes běžně programují www aplikace, mobilní telefony, ale i bankovní systémy. Zajímavostí je, že Java byla původně vyvíjena firmou Sun jako jazyk pro programování nápojových automatů. C# (2000)- C# je odpovědí firmy Microsoft na Javu. C# je ná strojem pro programování pro MS .NET platformu. Má s Javou mnoho společného (výjimky, OO design, interpretovanost…). .NET platforma, jak už z názvu plyne, je zaměřená na síťové technologie, zejména webové služby.

4. generace programovacích jazyků V 80. letech se začaly objevovat prostředky (spíše než jazyky),  které místo vypisování jednotlivých příkazů dovolují komunikovat s počítačem pomocí obrázkových prostředků – nabídek,  dialogů, obrázků, ikon označující data nebo programy, které je možné pomocí myši přesouvat, kopírovat, označovat a podobně. Velmi často toto prostředí 4. generace pak generuje nějaký kód jazyka 3. generace, který pomocí příkazů popisuje názorně specifikované akce. Uživatel tohoto prostředí tedy vůbec nemusí umět programovat, pouze interaktivně vytváří požadovaný výsledek co možná vizualizovaným způsobem. Typickým je princip WYSIWYG (What You See Is What You Get). Z nejdostupnějších prostředků můžeme jmenovat např. databáze Paradox nebo Visual Foxpro nebo různá prostředí pro vytváření grafických informačních WWW stránek na Internetu. Dále se můžeme zmínit o prostředcích firmy Borland (JBuilder, C++ Builder, Delphi) a nástrojích firmy Microsoft (Visual Studio).

Trendy v progamovacích jazycích : Z načrtnutého vývoje programovacích jazyků je zřetelný posun od strojového kódu k jazykům s vyšší a vyšší mírou abstrakce. Programování přestává být doménou inženýrů a stává se doménou širokého publika. V dnešní době je již například běžné, že základy programování ovládají děti mladší deseti let. Lze proto předpokládat, že v budoucnosti přestane být programování doménou úzkého okruhu programátorů a stane se masovější záležitostí (a to zejména v oblasti webových aplikací). Zdá se také, že dojde k diferenciaci na jazyky určené pro tvorbu klientských aplikací a na tvorbu serverových aplikací. Všeobecně je znatelný trend k vývojí aplikací typu klient/server a distribuovaných aplikací. Zejména v oblasti klientských aplikací dojde zřejmě k přechodu na klikací nástroje typu Delphi (několikanásobně rychlejší vývoj než je ten klasický).