Chair of Software Engineering EinführungindieProgrammierung Prof.Dr.BertrandMeyer Vorlesung 1: Willkommen & Übersicht ZielederVorlesung NacherfolgreichemAbschlussdieserVorlesungwerdenSie: Ø Ø Ø Ø Ø DieSchlüsselkonzeptedesProgrammierenskennen VieleverschiedeneProgrammierproblemeaus verschiedenenBereichenlösenkönnen EinigegrundsätzlichenHardware-und Softwarewerkzeugekennen EineProgrammiersprachebeherrschen:Eiffel DieGrundkonzeptedesDesigns,derImplementierung undderWartungvonSoftwaresystemenkennen (“softwareengineering”) 2 Übermich AnderETHseitEnde2001,ProfessorfürSoftwareEngineering GrossteilmeinerKarriereinderIndustrie,zuletztbeiEiffelSoftwarein SantaBarbara,Kalifornien ProfessoranderUniversityofCalifornia,SantaBarbarainden80ern Forschungsthemen:SoftwareEngineering,Programmiersprachen,OO Programmierung,NebenläufigeProgrammierung(concurrency), Programbeweise,Testen,Entwicklungsumgebungen,Persistenz Kontaktdaten: Ø E-mail:[email protected],Büro:RZJ22 Ø Sekretariat:ClaudiaGünthart,0446328346 [email protected],Büro:RZJ7 Sprechstunden:MittwochswährenddesSemesters,kontaktierenSieFrau Günthart 3 Sprache DieSprachefürdieseVorlesungistSÜF 4 GeschwindigkeitaufDeutsch 5 DerTurbo-Knopf(nichtnochgefunden) 6 AufderpositivenSeite JOKE-! 7 30Sekunden 8 DasTeamderAssistenten MarcoPiccioni (BackOfficeandTA) FelixLaufenberg AlexeyKolesnichenko SandroMarcon (KoordinatorandTA) LoicCiccone SalvatorediGirolamo JanHązła YuPei(Max) RomanSchmocker PetarTsankov TimLinggi SonjaMenzi NicolasTruessel ChristianVonrüti LorinWeilenmann PhilippWirth MarieWoon 9 BackOffice MarcoPiccioni 10 Koordinator AlexeyKolesnichenko 11 GruppeJimGray:MarcoPiccioni Mailingliste:[email protected] E-mail:[email protected] 12 GruppeEdsgerDijkstra:AlexeyKolesnichenko Mailingliste:[email protected] E-mail:[email protected] 13 GruppeJohnvonNeumann:(Max)YuPei Mailingliste:[email protected] E-mail:[email protected] 14 GruppeNoamChomsky:LoicCiccone Mailingliste:[email protected] E-mail:[email protected] 15 GruppeNiklausWirth:SalvatorediGirolamo Mailingliste:[email protected] E-mail:[email protected] 16 GruppeAlanTuring:JanHązła Mailingliste:[email protected] E-mail:[email protected] 17 GruppeTonyHoare:RomanSchmocker Mailingliste:[email protected] E-mail:[email protected] 18 GruppeJohnBackus:PetarTsankov Mailingliste:[email protected] E-mail:[email protected] 19 GruppeVintonCerf:FelixLaufenberg Mailingliste:[email protected] E-mail:[email protected] 20 GruppeKristenNygaard:TimLinggi Mailingliste:[email protected] E-mail:[email protected] 21 GruppeLinusTorvalds:SandroMarcon Mailingliste:[email protected] E-mail:[email protected] 22 GruppeAdaLovelace:SonjaMenzi Mailingliste:[email protected] E-mail:[email protected] 23 GruppeAdeleGoldberg:NicolasTruessel Mailingliste:[email protected] E-mail:[email protected] 24 GruppeGeorgeBoole:ChristianVonrüti Mailingliste:[email protected] E-mail:[email protected] 25 GruppeDonaldKnuth:LorinWeilenmann Mailingliste:[email protected] E-mail:[email protected] 26 GruppeDennisRitchie:PhilippWirth Mailingliste:[email protected] E-mail:[email protected] 27 GruppeBarbaraLiskov:MarieWoon Mailingliste:[email protected] E-mail:[email protected] 28 Übungsgruppen SiefülleneineUmfrageaus.DenLinkdazufindensieaufder Webseite,oderwirdIhnenheuteNachmittagperE-Mail geschickt.Siewählenzwischen Ø DreiNiveaus Ø ZweiSprachen TragenSiesichbisMittagauf mystudies.ethz.chfürdenKursein,um dasEmailzuerhalten FüllenSiedieUmfragebisDonnerstagAbendaus. AmMontagfindenSiedieEinteilungindie ÜbungsgruppenaufderWebseite FallsSieguteGründefüreinenGruppenwechsel haben:fragenSieAlexey 29 Sprachen UnsereAssistentensprechenverschiedeneSprachen: Ø Deutsch Ø Englisch Ø Italienisch Ø Chinesisch Ø Russisch Ø … DieÜbungsgruppenwerdenaufdeutschoderaufenglisch gehalten. 30 Stundenplan Vorlesungen: Ø Montags,13:15–15:00,HGE7 Ø Dienstags,8:15–10:00,HGE7 Übungsstunden: Ø 17Gruppen • Mittwoch,8:15–10:00,inverschiedenenRäumen • Mittwoch,15:15–17:00,inverschiedenenRäumen 31 WebseitederVorlesung Webseite: http://se.ethz.ch/courses/2015b_fall/eprog/ àZweimalwöchentlichanschauen DeutscheundEnglischeVersionen,beidesindaktuell Vorlesungsunterlagen: Ø FolienderVorlesung Ø Buch:TouchofClass SiehenächsteFolie Übungsunterlagen: Ø Übungen Ø Musterlösungen 32 DasBuchzurVorlesung 33 Online-VersiondesBuches MöglichausdemNetzderETH URL:sieheVorlesungswebseite 34 Buchverkauf:nächstenMontag(inderPause) Montag,21.9.15um14:00 vordemHörsaalHGE 35 NeufürdiesesJahr DerInfo-1MOOC(3rdedition,2015/2016) http://webcourses.inf.ethz.ch/se_courses/ introduction_to_programming/main_page/ DeredXMOOC(3rdedition),startetam22.September2015, https://www.edx.org/course/computing-art-magic-scienceethx-cams-2x (MarcoPiccioni) 36 ElektronischeForen Diskussionsforen: HilfeforumfürdiegesamteVorlesung: http://forum.vis.ethz.ch/ MailinglistefürjedeÜbungsgruppe RatschlägeundRegeln: Ø Ø Ø BenutzenSiedasVIS-ForumunddieMailinglisten!Programmierenzu lernenistschwierig:NutzenSiejedeHilfe,dieIhnenangebotenwird. EsgibtkeinenGrund,schüchternzusein.Esgibtkeinedummen Fragen. Kritikistwillkommen,seienSieaberimmerfreundlichundhaltenSie sichandieEtiquette. 37 FallsSieeinenLaptopbrauchen… DasNEPTUN-ProgrammderETHverkauftLaptopszuguten Preisen Thinkpad(Lenovo),HPoderApple SiewählendasBetriebssysstem:Windows,Linux,MacOS ZeitlichbegrenzterVerkauf:siehewww.neptun.ethz.ch 38 Übungen DieÜbungensindeinwichtigerBestandteilderVorlesung Ø EineÜbungproWoche(ca10insgesamt) Ø ZweiMockexams FürIhreÜbungsabgabesolltenSie: Ø nachweisen,dassSiedieAufgabenzulösenversucht haben AbsenzenwegenMilitärdienstoderKrankheit:kontaktierenSie IhrenAssistenten. 39 Benotung DieGrundregelnsindvonderETHdiktiert,dieFeinheitenvonuns bestimmt: Ø DieNoteberuhtaufderLeistunginderPrüfungvom kommendenAugust 40 DieSoftware DieÜbungenbauenaufderBibliothekTrafficauf Anwendungsgebiet:öffentlicherVerkehrineiner Stadt(benutztZürichalsBeispiel) Übung1(aufderWebseite)führtSiedurchdie InstallationvonEiffelStudioundzeigtTraffic 41 EntdeckenSieTraffic 42 Warnung Natürlichistnichtallesperfekt. TrafficbeinhaltetwahrscheinlichFehler(“bugs”),unddasBuch wahrscheinlichauch. (Fehlerliste:http://touch.ethz.ch->Errata) Aber: Ø Wirversuchen,dieFehlersoschnellwiemöglichzu korrigieren. Ø SchiebenSiebeimAusprobierendieSchuldjeweilsnicht zuerstderSoftwareindieSchuhe.Vielleichtfolgtsie blossIhrenAnweisungen. 43 WeshalbdieseLehrmethode? MitanderenLehrmethodenwürdenSienurmitkleinenselber geschriebenenProgrammenarbeiten WirverwendeneinvorgegebenesSoftwaresystem;benutzenSie diesesalsBeispielundInspiration SiebenutzendieSoftwaredurchihreabstraktenSchnittstellen (auchbekanntalsVerträge(contracts)) SieverwandelnsichvomKonsumentenzumProduzenten: outside-in TrafficistgrafischundmachtSpass! ImbestenFallverstehenSieamEndediegesamteSoftware. DannkönnenSieauchneueshinzufügen 44 Programmiererfahrung FallsSiebereitsprogrammierthaben,nutzenSiediesenVorteil, aberseienSieauchoffenfüreineneueSichtweise;erkunden SieTraffic FallsSienochnieprogrammierthaben,keineAngst;eskann anfangsschwierigsein,aberSiewerdenesschaffen. MathematischesWissenistgenausonützlichwie Programmiererfahrung 45 VorkenntnisseeinesInformatikstudentenimerstenSemester(2003-2008) 2008 FrühereJahre Erfahrungmit ≤2Jahre:1% Computern 2bis4Jahre:3% 5bis9Jahre:34% ≥10Jahre:62% (1%,3%,4%,1%,6%) (39%,35%,48%,35%) (61%,62%,48%,63%) Programmier-Keine:18% erfahrung (0%,0%,0%,1%) (12%,19%,18%,14%) KeineOOP:22% (20%,26%,33%,38%) ≥100Klassen:17% (8%,11%,15%,10%,5%) 46 VorkenntnisseeinesInformatikstudentenimerstenSemester ErfahrungmitComputern 2-4 yrs: 4% ≥10 Jahre: 54% Programmiererfahrung 5-9 Jahre: 42% Durschnittüber6Jahre,2003-2008 47 EinpaarRegeln KeinWeb-Browsing,Emailusw.inderVorlesung KeinepersönlicheGespräche 48 Mindsopen… …Laptopsclosed. 49 Ratschläge Ø Ø Ø BesuchenSiealleVorlesungen LesenSiedieUnterlagen—dasBuchunddieFolien— jeweilsvordenVorlesungen (Bem.:FolienwerdenhäufignachderVorlesung aktualisiert) NehmenSieeineDruckversionderFolienmitundmachen SiesichNotizen Ø BesuchenSiealleÜbungsstunden Ø MachenSiealleÜbungen Ø FallsSieetwasnichtverstehen,fragenSienach (esgibtkeinedummenFragen) 50 PersönlicheRatschläge Erfolgreichstudieren(insbesondereanderETH): Ø Siebestimmenselbst,wasSiewanntun Ø NutzenSiedieMöglichkeitenderETH • TalksgehaltenvonForschernvonanderenUnis • Konferenzen • Bibliotheken • Experimente • Projekte Ø SprechenSiemitProfessorenundAssistenten Ø LesenSiedieWebseitendesDepartementsunddesChair ofSoftwareEngineering Ø HaltenSieAusschaunachVorlesungenmitProjektenund anderenMöglichkeiten,individuellzuarbeiten 51 NochmehrpersönlicheRatschläge Ø BesuchenSiedieVorlesungen BesuchenSiedieÜbungsstunden LesenunddruckenSiedieFolienvorderStunde MachenSiesichNotizen SchliessenSiesichzuStudiengruppenzusammen BesuchenSieauchVorlesungenzuinformatikfremden Themen,vorallemwährenddenerstenzweiJahren BereitenSiesichfrühaufdiePrüfungvor Ø BewahrenSieeinekritische,forschendeEinstellung Ø Ø Ø Ø Ø Ø 52 ZielederVorlesung NacherfolgreichemAbschlussdieserVorlesungwerdenSie: Ø Ø Ø Ø Ø DieSchlüsselkonzeptedesProgrammierenskennen VieleverschiedeneProgrammierproblemeaus verschiedenenBereichenlösenkönnen DiegrundsätzlichenHardware-undSoftwarewerkzeuge kennen EineProgrammiersprachebeherrschen:Eiffel DieGrundkonzeptedesDesigns,derImplementierung undderWartungvonSoftwaresystemenkennen (“softwareengineering”). 53 Themen Ø WasistSoftware? Ø Vererbung Ø Objekte&Programme Ø Generik Ø Schnittstellenund Ø Rekursion dasKlassenkonzept Ø Datenstrukturen Ø LogikundVerträge Ø Ereignisgesteuerte (contracts) Programmierung&Agents Ø DasLaufzeitmodell: Ø TopologischesSortieren Objekterzeugung,Referenzen Ø EinführunginsSoftware Ø Syntaxbeschreibung Engineering Ø Kontrollstrukturen 54 DieIndustriederreinenIdeen 55 SoftwareingenieurebauenMaschinen DieseMaschinenkannmannichtberühren,tretenoderfallen lassen:siesindimmateriell AberessindtrotzdemMaschinen WirnennensieProgrammeoderSysteme UmeinProgrammauszuführen,benötigtmaneinematerielle Maschine:einenComputer ComputerundtechnischeGeräte:Hardware ProgrammeundderdamitverbundeneintellektuelleWert: Software 56 Software,wohinmanauchschaut Banken:verwaltetMillionenvonKonti Handel:entscheidetüberKaufundVerkauf Verkehr:kontrolliertZüge,überwachtFlugzeuge... Ø EinigeAutosbeinhaltetSoftwaremitMillionenvon ZeilenProgrammcode Reisen:Flug-,Zug-,undHotelbuchungen Kommunikation:Telefonie,Internet,… Behörden:verwaltetSteuern,überwachtGesetze... Gesundheitswesen:verwaltetKrankenakten,überwachtGeräte Unterricht Unterhaltung Information usw. 57 Computerüberall… Banken Flugzeuge,Autos… Waschmaschinen Smartphone Drucker Morgen:IhrT-Shirt… 58 ComputerinallenGrössen,FarbenundFormen http://www.go-gulf.com/wp-content/themes/go-gulf/blog/60seconds.jpg 59 Computer ComputersinduniverselleMaschinen.Sieführendas Programmaus,dasIhnengegebenwird. IhreVorstellungskraftistdieeinzigeGrenze DiegutenNachrichten: Ø IhrComputertutgenaudas,wasinIhremProgramm steht 60 Programmeerstellenundausführen EinProgrammierer schreibtein Programm das einBenutzer Programmierer:schreibtProgramme Benutzer:führtProgrammeaus aufeinem Computer ausführt 61 Programmeerstellenundausführen einen Computer EinProgrammierer benutzt zum Schreiben eines Programms das einBenutzer aufeinem Computer ausführt 62 Programmeerstellenundausführen einen Computer zum EinProgrammierer benutzt Schreiben eines Programms das Benutzer aufihren Computern ausführen 63 Programmeerstellenundausführen Programmierer zum Computer Schreiben benutzen eines Programms das Benutzer aufihren Computern ausführen 64 Computer ComputerssinduniverselleMaschinen.Sieführendas Programmaus,dasIhnengegebenwird. IhreVorstellungskraftistdieeinzigeGrenze DiegutenNachrichten: Ø Ø IhrComputertutgenaudas,wasinIhremProgramm steht Ertutessehrschnell 65 Moore’s“Gesetz” Etwaalle18Monate:VerdopplungderRechenleistungbeigleichbleibendem Preis (IstdasdieAussagevonMoore’sGesetz?) (Nein:VerdopplungderAnzahlTransistoren) 66 Moore’sGesetz(Quelle:Intel) 67 Moore’s“Gesetz” Etwaalle18Monate:VerdopplungderRechenleistungbeigleichbleibendem Preis Geschwindigkeit Intel-Prozessoren 3.8 GHz 1 GHz Pentium IV: 1.3 GHz (1Hertz=1Taktzyklus/Sekunde) Pentium: 133 MHz 100 MHz 80486: 50 MHz 80386: 33 MHz 10 MHz 1 MHz 1970 bis 1 GHz: 26 Jahre von 1 bis 2 GHz: 8 Monate 8008: < 1 MHz 1980 1990 2000 68 Microprozessoren(Quelle:Intel) 69 Typicaltimes* 1nanosecond(ns)=10-9second,1millisecond(ms)=10-3 second: Ø Basiccomputeroperation 1ns If this were 1 second… 100ns Almost 2 minutes Diskaccess:oneitem 1MB Ø SSDaccess:4K 1MB 10ms 20ms 0.15ms 1ms 4 months 8 months Half a month Ø Localpacketsend 0.5ms One week Ø PacketsendEuropeàUS 150ms Ø Mainmemoryaccess Ø 2 days Almost 5 years *AfterPeterNorvig,formoreseehttps://gist.github.com/jboner/2841832;thanksalsotoErik Meijer 70 LegendenundEntschuldigungen “Computersindintelligent” Tatsache:Computersindwederintelligentnoch dumm.SieführenProgrammeaus,dievonMenschen entwickeltwurden.DieseProgrammespiegelndie IntelligenzihrerAutorenwieder. DieGrundoperationeneinesComputerssind elementar(speicherneinesWertes,addierenzweier Zahlen…). “DerComputeristabgestürzt” “DerComputererlaubtdasnicht” “DerComputerhatIhreDateiverloren” “DerComputerhatIhreDateikaputtgemacht” 71 ComputermachenkeineFehler*.... Ø Ø ProgrammemachenauchkeineFehler ProgrammierermachendieFehler *Hardwarekannzwardefektsein,aberdasistvielseltenerderFallals FehlerinderSoftware 72 Computer ComputersinduniverselleMaschinen.SieführendasProgrammaus,das Ihnengegebenwird. DieeinzigeGrenzeistIhreVorstellungskraftundIhreSorgfalt DiegutenNachrichten: Ø IhrComputertutgenaudas,wasinIhremProgrammsteht Ø Ertutessehrschnell DieschlechtenNachrichten: Ø IhrComputertutgenaudas,wasinIhremProgrammsteht Ø Ertutessehrschnell “Toerrishuman,buttoreallymess thingsuptakesacomputer” 73 The“BlueScreenOfDeath” 74 Softwarezuschreibenistschwierig Ø Programme“stürzenab” Ø WennProgrammenichtabstürzen,bedeutetdasnicht unbedingt,dasssierichtigfunktionieren Ø FehlerhafteProgrammehabenMenschenumgebracht,z.B. medizinischeGeräte Ø Ariane5Rakete,1996:$10Mia.verloren,wegeneinem einfachenProgrammfehler Ø USPatriot-Raketen,1990:28Soldatengetötet,wegeneinem numerischenFehler Ø ProgrammierersindfürdiekorrekteFunktionsweiseihrer Programmeverantwortlich Ø DerZweckdieserVorlesungistesnichtnurIhnen programmierenbeizubringen,sonderndassSiegut programmierenlernen. 75 Learningtoprogramwell 76 Ariane5 http://www.youtube.com/watch?v=kYUrqdUyEpI Programm-Fehler:sehen Ø Jean-MarcJézéquel&BertrandMeyer:DesignbyContract: TheLessonsofAriane,inComputer(IEEE),vol.30,no.1, January1997,pages129-130, archive.eiffel.com/doc/manuals/technology/contract/ariane/. 77 WasComputertun Speichernundwiederabrufen Ø Speicher Operationenausführen Ø Restder Welt Kommunikations -geräte Prozessoren Prozessoren Kommunikation Ø Kommunikationgeräte Speicher Speicher,ProzessorenundKommunikationsgerätegehörenzurHardware 78 GenerellerAu‚au Kommunikationsgeräte Restder Welt Prozessoren Auch“CPU” Tastatur,Maus,Bildschirm, Netzwerkkarte... Speicher “Core”-Speicher,Festplatten... “Persistent”oderauchnicht 79 Computer ComputersinduniverselleMaschinen.SieführendasProgrammaus,das Ihnengegebenwird. + (Universelle Maschine) Programm = Spezialisierte Maschine Software 80 InformationundDaten Informationist,wasSiewollen,z.B.Text oderMusik DatensindInformationen,diefürden Computerkodiertsind,z.B.imMP3Audioformat • Daten:MengevonSymbolenauf demComputergespeichert • Informationen:Interpretationder DatenfürmenschlicheZwecke 81 VerarbeitungvonDatenundInformation DatenwerdenimSpeichergehalten EingabegeräteproduzierenDatenausInformationen AusgabegeräteproduzierenInformationenausDaten Information Daten Information Eingabe Computer Ausgabe Daten Prozess Daten 82 WoistdasProgramm? + Programm = Spezialisierte Maschine (Universelle Maschine) 83 WobefindetsicheinProgramm? SpeicherprogrammierteComputer:DasProgrammbefindet sichimSpeicher Ø “Executabledata” EinProgrammkannimSpeicherinverschiedenenFormen vorhandensein: Ø Quellcode:vonMenschenlesbar(Programmiersprache) Ø Maschinencode:vomComputerausführbar EinCompilerübersetztQuellcodeinMaschinencode DerComputer (genauer:diePlattformausComputer+Betriebssystem) findetIhrProgrammimSpeicherundführtesaus 84 SoftwareEngineering SchreibenvonSoftware,diefolgendeEigenschaftenbesitzt: Ø Korrekt Machtwassiesoll! Ø Erweiterbar Einfachzuändern! Ø Lesbar VonMenschen! Ø Wiederverwendbar DasRadnichtwiedererfinden! Ø Robust ReagiertangemessenaufFehler Ø Sicher GegenAngreifer 85 Betriebssysteme:Quellcodeumfang Anzahl Codezeilen (Mio.) Debian 3.1: 213! Debian 2.2: 55 Vista: 50 50 Windows XP: 45 Windows 2000: 40 40 Red Hat 7.1: 30 30 20 10 Windows 98: 18 Windows 95: 15 Solaris 7: 12 Red Hat 6.2: 17 Windows NT: 4 M Windows 3.1: 3 M 1990 Linux: 10 K 1992 Unix V7: 10K 1995 1998 2000 2001 2006 86 Softwarezuschreibenistschwierig Esistschwierig,einkorrektesProgrammzuschreiben “Trial-and-error”istineffizient 87 SoftwarezuschreibenmachtSpass EntwerfenundentwickelnSieIhreeigenenMaschinen LebenSieIhreKreativitätundIhrenIdeenreichtumaus ProgrammerettenLebenundhelfen,dieWeltzueinem besserenOrtzumachen ErlebenSiedasGefühl,wenneinProgramm,dasSie geschriebenhaben,funktioniert 88 DieSoftware DieÜbungenbauenaufderBibliothekTrafficauf Anwendungsgebiet:öffentlicherVerkehrineiner Stadt(benutztZürichalsBeispiel) Übung1(aufderWebseite)führtSiedurchdie InstallationvonEiffelStudioundzeigtTraffic 89 EntdeckenSieTraffic 90 Warnung Natürlichistnichtallesperfekt. TrafficbeinhaltetwahrscheinlichFehler(“bugs”),unddasBuch wahrscheinlichauch. (Fehlerliste:http://touch.ethz.ch->Errata) Aber: Ø Wirversuchen,dieFehlersoschnellwiemöglichzu korrigieren. Ø SchiebenSiebeimAusprobierendieSchuldjeweilsnicht zuerstderSoftwareindieSchuhe.Vielleichtfolgtsie blossIhrenAnweisungen. 91 WeshalbdieseLehrmethode? MitanderenLehrmethodenwürdenSienurmitkleinenselber geschriebenenProgrammenarbeiten WirverwendeneinvorgegebenesSoftwaresystem;benutzenSie diesesalsBeispielundInspiration SiebenutzendieSoftwaredurchihreabstraktenSchnittstellen (auchbekanntalsVerträge(contracts)) SieverwandelnsichvomKonsumentenzumProduzenten: outside-in TrafficistgrafischundmachtSpass! ImbestenFallverstehenSieamEndediegesamteSoftware. DannkönnenSieauchneueshinzufügen 92 WarumwirEiffelbenutzen Ø Ø Ø Ø Ø Ø Ø Einfaches,reinesObjektmodell DesignbyContractMechanismen ErlaubtIhnenaufBegriffe,nichtdieSpracheselbst,zu fokussieren Geringes«Sprachgepäck» GuteEntwicklungsumgebung(EiffelStudio) Portabilität:Windows/Linux/Mac Realismus:Eiffelistkeine«akademische»Sprache EiffelbereitetSiedaraufvor,andereO-OSprachenwennnötig zustudieren,z.B.C++,Java,C# DieseVorlesunglehrtnichteineProgrammiersprache,sondern dieProgrammierung 93 WarumnichtJava? ErstesJavaProgramm: class First { public static void main(String args[]) { System.out.println("Hello World!"); } } Du wirst verstehen, wenn du aufwächst! Tue wich ich sage, nicht wie ich tue! 94 Erstes Eiffel programm class PREVIEW inherit ZURICH_OBJECTS feature explore -- Show city info and route. do -- “To be filled in (by you!)” end end 95 WarumnichtJava? Ø WarumnichtC++? Ø WarumnichtRuby? Ø WarumnichtPython? Ø WarumnichtC#? Ø WarumnichtC? Ø WarumnichtFortran? Ø WarumnichtCobol? Ø … 96 EinenJobfinden IndenkommendenJahrenwerdenSieallewichtige Programmiersprachenlernen GuteArbeitgebersuchennichtspezifischeKenntnisse,sondern starkeIngenieur-undSystemfähigkeit VieleLeutekönnenProgrammeschreiben (tatsächlich:ca.24Millionen) ArbeitsgebersuchenLeute,dieguteProgrammeschreiben können 97 BiszurnächstenVorlesung LesenSieKapitel1und2vonTouchofClass SchauenSiesichdieFoliendernächstenzweiVorlesungen(2 und3)an 98
© Copyright 2025 ExpyDoc