a szoftver társadalomtörténete

38
1 A szoftver társadalomtörténete Porkoláb Zoltán [email protected] http://gsd.web.elte.hu

Upload: mohammad-ramsey

Post on 02-Jan-2016

38 views

Category:

Documents


3 download

DESCRIPTION

A szoftver társadalomtörténete. Porkoláb Zoltán [email protected] http://gsd.web.elte.hu. 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. Keynote #1. The Future of Programming Richard F. Rashid - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A szoftver társadalomtörténete

1

A szoftver társadalomtörténete

Porkoláb Zoltán

[email protected]

http://gsd.web.elte.hu

Page 2: A szoftver társadalomtörténete

2

OOPSLA 2004Vancouver

• > 1500 résztvevő

• 54 tutorial

• 28 workshop

• 27 előadás (173-ból kiválasztva)

• Demók, bemutatók, panel-beszélgetések

Page 3: A szoftver társadalomtörténete

3

Keynote #1

The Future of ProgrammingRichard F. RashidMicrosoft Research alapítója és vezetőjehttp://research.microsoft.com/

C.A.R (Tony) Hoare Lovász László

Page 4: A szoftver társadalomtörténete

4

A piramis

• Épült: -2476 (Khufu)

• 20 – 30 év

• Hérodotosz: 100.000 (inkább 5-20.000) munkás

• kb 160 méter magas

Page 5: A szoftver társadalomtörténete

5

A katedrális

• Épült:

1248-1560-1880

• Méretei: 144x86x157 m

Page 6: A szoftver társadalomtörténete

6

A felhőkarcoló

• Épült: 1930-31

• 1 év 42 nap

• 7 millió munkaóra

• 443 m magas

Page 7: A szoftver társadalomtörténete

7

ACM Alan Turing előadás

Association for Computing Machinery1947-ben alapították Turing díj 1966 óta

Alan Key

KiddiKomp Smalltalk 1970-72--Xerox PARC

Page 8: A szoftver társadalomtörténete

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.

Page 9: A szoftver társadalomtörténete

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

Page 10: A szoftver társadalomtörténete

10

Abakusz

Babilónia cca. -2500

Page 11: A szoftver társadalomtörténete

11

Antikythera-i gépezet

Cca. -80

Page 12: A szoftver társadalomtörténete

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

Page 13: A szoftver társadalomtörténete

13

Újkori mechanikus számológépek II

• Wilhelm Schickard 1623

• Blaise Pascal 1645

• Gottfried Leibniz ~1670Staffelwalze

• Charles Xavier Thomas de Colmar

1820

Page 14: A szoftver társadalomtörténete

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

Page 15: A szoftver társadalomtörténete

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

Page 16: A szoftver társadalomtörténete

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

Page 17: A szoftver társadalomtörténete

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)

Page 18: A szoftver társadalomtörténete

18

Neumann János

•Von Neumann – elv

•Neumann architechtúra

•Tárolt programvezérlésű számítógép

Page 19: A szoftver társadalomtörténete

19

Programozási paradigmák

• Automatikus programozás– 1950-1970

• Strukturált programozás– 1970-1990

• Objektumelvű– 1990-?

Page 20: A szoftver társadalomtörténete

20

A bazár• Önszerveződő

rendszer

• Alapvető szabályok betartása

• Evolúciós mechanizmusok

Eric Steven Raymond 1996

Page 21: A szoftver társadalomtörténete

21

Minicomputer• Microcode

– Hardver programozása

• 1968 MULTIX– General Electrics – AT&T Bell Laboratory

• 1969 UNIX– Ken Thompson, Dennis Ritchie – C nyelv

Page 22: A szoftver társadalomtörténete

22

Unix

Ken Thompson

Space traveller

DEC PDP-7 assembly

UNICSUniplex Information and

Computing System

Brian Kernighan

Page 23: A szoftver társadalomtörténete

23

Portabilitás

• 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

Page 24: A szoftver társadalomtörténete

24

GUI• Grafikus felhasználói

felület

• Ivan Sutherland – Sketchpad

• Doug Engelbart – NLS (oN Line System)

– Egér

– hipertext

Page 25: A szoftver társadalomtörténete

25

Xerox PARC

• XEROX Palo Alto Research Center– GUI Douglas Engelbart– Smalltalk Alan Key– Bravo Charles Simonyi– Lézernyomtató– Ethernet hálózat

– Aspektus-Orientált Programozás • Gregor Kitzales

Page 26: A szoftver társadalomtörténete

26

Apple

• Steve Jobs, Steve Wozniak

• Apple II. TV output 1977

• 1979 december:– Látogatás a Xerox-nál– 1983: LISA

• 1984: Macintosh

• Superbowl hirdetés

Page 27: A szoftver társadalomtörténete

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 $50.000– Quick and Dirty OS

Page 28: A szoftver társadalomtörténete

28

OS2 és Windows

• 1985: Windows 1.0

• 1992: Windows 3.1

Page 29: A szoftver társadalomtörténete

29

GNU

• Richard Stallman (RMS)• GNU mozgalom

– GNU is NOT UNIX– Kernel+GCC+Utilities

• Free Software Foundation• GPL licenc• Free software vs Open Source

Page 30: A szoftver társadalomtörténete

30

LINUX

• Linus Thorvalds (1969-)

• 1991 augusztusa – Usenet levél

• 1995 Linux név levédése

• Linux kernel

• Monolitikus

• 2% kód

Page 31: A szoftver társadalomtörténete

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

Page 32: A szoftver társadalomtörténete

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

Page 33: A szoftver társadalomtörténete

33

A felhőkarcoló

• Épült: 1930-31

• 1 év 42 nap

• 7 millió munkaóra

• 443 m magas

Page 34: A szoftver társadalomtörténete

34

Cristopher Alexander

• (Bécs, 1936-)

• Cambridge:

Matematikus-építész

• Építész

• Tervezési minták

(Design Patterns)

• A Pattern Languages

Page 35: A szoftver társadalomtörténete

35

Szoftveres Tervminták

• A „négyek bandája”Erich Gamma, Richard Helm,

Ralph Johnson, John Vlissides

• Jim Coplien

• Martin Fowler

Page 36: A szoftver társadalomtörténete

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

Page 37: A szoftver társadalomtörténete

37

Az ingyen vacsora vége

Page 38: A szoftver társadalomtörténete

38

Köszönöm a figyelmet!

[email protected]