1 A szoftver társadalomtörténete Porkoláb Zoltán
2 OOPSLA 2004 Vancouver > 1500 résztvevő 54 tutorial 28 workshop 27 előadás (173-ból kiválasztva) Demók, bemutatók, panel-beszélgetések
3 Keynote #1 The Future of Programming Richard F. Rashid Microsoft Research alapítója és vezetője C.A.R (Tony) HoareLovász László
4 A piramis Épült: (Khufu) 20 – 30 év Hérodotosz: (inkább ) munkás kb 160 méter magas
5 A katedrális Épült: Méretei: 144x86x157 m
6 A felhőkarcoló Épült: év 42 nap 7 millió munkaóra 443 m magas
7 ACM Alan Turing előadás Association for Computing Machinery 1947-ben alapították Turing díj 1966 óta Alan Key KiddiKomp Smalltalk Xerox PARC
8 Piramis? Alulfizetett munkások építették. Kőburkolattal ellátott szeméthegy. A piramisok a sivatag közepén álló pontszerű képződmények. Mint temetkezési helyek, az első példák az u.n. bloatware-re. A nagyravágyás emlékművei. A használati utasítás hieroglifákkal lett megadva. (És fel kell tépni a borítékot, mielőtt elolvashatnánk). A Fáraók, akik az építést vezényel- ték, Isten megtestesülésének képzelték magukat. Niklaus Wirth:Software becomes slower faster than hardware becomes faster.
9 Mi a szoftver? elsőként John Tukey használta 1958-ban –(Tukey: bit) a „hardver” ellentéte – a számítógép által végrehajtható program, vagy programok összessége nem triviális a megkülönböztetés –firmware
10 Abakusz Babilónia cca
11 Antikythera-i gépezet Cca. -80
12 Újkori mechanikus számológépek I Kereskedelem fellendülése Számítási táblázatok –Kézi számítás –Komoly hibaszázalék John Napier –Napier-csontok (1617) –Logaritmus –Tizedespont
13 Újkori mechanikus számológépek II Wilhelm Schickard 1623 Blaise Pascal 1645 Gottfried Leibniz ~1670Staffelwalze Charles Xavier Thomas de Colmar 1820
14 A program megjelenése Joseph Marie Jacquard A szoftver A hardver fizikai átalakítása nélkül módosítja annak működését 1801
15 Difference Engine –1822-es levél –Adat és program szétválasztva –Utasítás-bázisú vezérlés Feltételes ugrás –Külön I/O egység –Printer Analitical Engine –Lyukkártya-vezérlés –Az első Turing-teljes mechanikus gép (lett volna…) Charles Babbage
16 Ada Byron Augusta Ada King, sz: Augusta Ada Byron, Lovelace grófnéja Lefordította Luigi Menabrea feljegyzéseit az Analitical Engine-ről, saját jegyzetekkel látta el, pl. a Bernouli számok kiszámításának módjáról ADA programozási nyelv
17 A 20. század első fele Alonzo Church, Stephen Cole Kleene –Lambda kalkulus Alan Turing – Bletchley Park –Turing-teljesség Konrad Zuse (Plankalkül)
18 Neumann János Von Neumann – elv Neumann architechtúra Tárolt programvezérlésű számítógép
19 Programozási paradigmák Automatikus programozás – Strukturált programozás – Objektumelvű –1990-?
20 A bazár Önszerveződő rendszer Alapvető szabályok betartása Evolúciós mechanizmusok Eric Steven Raymond 1996
21 Minicomputer Microcode –Hardver programozása 1968 MULTIX –General Electrics –AT&T Bell Laboratory 1969 UNIX –Ken Thompson, Dennis Ritchie –C nyelv
22 Unix Ken Thompson Space traveller DEC PDP-7 assembly UNICS Uniplex Information and Computing System Brian Kernighan
23 Portabilitás –Forrás szintű –Byte-kód szintű –Bináris szintű 1973: A UNIX átírása C nyelvre –13000 sor C kód –800 sor assembly kód
24 GUI Grafikus felhasználói felület Ivan Sutherland –Sketchpad Doug Engelbart –NLS (oN Line System) –Egér –hipertext
25 Xerox PARC XEROX Palo Alto Research Center –GUIDouglas Engelbart –SmalltalkAlan Key –BravoCharles Simonyi –Lézernyomtató –Ethernet hálózat –Aspektus-Orientált Programozás Gregor Kitzales
26 Apple Steve Jobs, Steve Wozniak Apple II. TV output december: –Látogatás a Xerox-nál –1983: LISA 1984: Macintosh Superbowl hirdetés
27 Microsoft Bill Gates, Paul Allen, 1975 –BASIC interpreter Altair 8800 –Fortran, COBOL CP/M 1981 IBM PC –Operációs rendszer (CP/M) –Tim Paterson QDOS $ –Quick and Dirty OS
28 OS2 és Windows 1985: Windows : Windows 3.1
29 GNU Richard Stallman (RMS) GNU mozgalom –GNU is NOT UNIX –Kernel+GCC+Utilities Free Software Foundation GPL licenc Free software vs Open Source
30 LINUX Linus Thorvalds (1969-) 1991 augusztusa –Usenet levél 1995 Linux név levédése Linux kernel Monolitikus 2% kód
31 Szoftverkrízis Az 1960-as évektől Mythical men-month No silver bullett Módszertanok (SSADM …) CASE eszközök Programozási nyelvek Progrmam-ellenőrző és bizonyító eszközök
32 Az emberi tényező Hungarian notation LPSzFun Kódkonvenciók Hallgatók számának rohamos csökkenése Harmadik világ szoftveresei Outsourcing? –Yourdan Automatizálás? –Simonyi
33 A felhőkarcoló Épült: év 42 nap 7 millió munkaóra 443 m magas
34 Cristopher Alexander (Bécs, 1936-) Cambridge: Matematikus-építész Építész Tervezési minták (Design Patterns) A Pattern Languages
35 Szoftveres Tervminták A „négyek bandája” Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Jim Coplien Martin Fowler
36 Új paradigmák Generikus programozás –STL Genetikus programozás Aspektus-orientált programozás –Kiczales Szándékalapú (intentional) programozás –Simonyi Multiparadigma –Coplien
37 Az ingyen vacsora vége
38 Köszönöm a figyelmet!