Tomáš Petříček, MFF UK, Praha


Programovací jazyky
a nástroje ze všech možných pohledů!
Absolvent MFF UK,
doktorát z Cambridge,
Microsoft Research &
University of Kent
Přednáška bude česky, more or less...


Bude v brzké době možné aby programování dělali i neprogramátoři?


Uhodnete z jakého roku
je obrázek?
1) 2005 - 2025
2) 1985 - 2005
3) 1965 - 1985
4) 1945 - 1965



Frances Bilas, Betty Jennings
"The ENIAC was
a son of a bitch
to program."


Programování
Matematický popis problému
"Tradiční těžká práce"
Kódování
Převedení na řešení v počítači
"Lehký úkol pro sekretářku"


Překlad z jazyka
snadného pro lidi do jazyka
snadného pro počítače
FLOW-MATIC eliminuje problém kódování!
A2, FLOW-MATIC, MATH-MATIC, FORTRAN, COBOL, LISP, Algol, ...


Černá magie programování musí ustoupit vědeckému softwarovému inženýrství!
Softwarové inženýrství už je mužská práce...


Osobní počítače
Grafické rozhraní
Okna a ikony
Objektové programování
Šlo by programovat interatktivně a vizuálně?


Programming by demonstration
Ukážeme systému jak
má postupovat na konkrétním příkladu...


Programming by demonstration
Ukážeme systému jak
má postupovat na konkrétním příkladu...




Co je nejpoužívanější programovací nástroj na světě?
Microsoft Excel!
Pro většinu lidí jen tabulka, ale umí více než byste čekali...

Grafické rozhraní
Interaktivní přístup
Konkrétní hodnoty

Generování kódu
Standardní jazyk
Další AI nástroje...



První sloupec
obsahuje metadata
: znamená chybějící
p znamená předběžné
Řádky 13 a 14 jsou součty
EU27 vs EU28 - Brexit!










Dva jazyky s formální syntaxí a sémantikou
Kompilátor
Musí zachovat význam
Více či méně efektivní


Napsat specifikaci
Doplnit a domyslet
vše co není formální
Postupný proces
Postupně zjišťujeme více, iterativní vývoj


Těžko říct ale...
1) Krok zahrnuje dost lidského přemýšlení
2) Formální detaily se musí nějak doplnit
3) Svět je složitý!


Je možné napsat software na obranu proti balistickým raketám?
Ne, protože prostředí se mění rychleji...




Snažíme se o to už nějakých 70 let...
Programování je o pochopení ne o kódu
Pochopení bude potřeba vždycky...
Problém je dobrý způsob interakce!
Tomas Petricek, MFF UK, Praha
tomas@tomasp.net |
tomasp.net |
@tomasp.net
