Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Sigita Andrulyte Seminar Programmiersprachen 26.06.2010.

Ähnliche Präsentationen


Präsentation zum Thema: "Sigita Andrulyte Seminar Programmiersprachen 26.06.2010."—  Präsentation transkript:

1 Sigita Andrulyte Seminar Programmiersprachen

2 Überblick Grundlagen C++ 99 Bottles C++ Erfinder: Bjarne Stroustrup Interview Grundlagen C++ 1

3 Was bedeutet C++? A) Der Name hat keine besondere Bedeutung B) Der Name ist eine Kombination aus C und dem Inkrementor ++ C) Der Name steht für C plus objektorientierten Konzepten D) Der Name steht für C plus, also ein besseres C (wie eine Eins plus eine bessere Schulnote ist eine Eins) Grundlagen C++ 1

4 Was bedeutet C++? FALSCH: C) Der Name steht für C plus objektorientierten Konzepten D) Der Name steht für C plus, also ein besseres C (wie eine Eins plus eine bessere Schulnote ist eine Eins) RICHTIG: B) Der Name ist eine Kombination aus C und dem Inkrementor ++ Grundlagen C++ 1

5 Was ist C++? C++ ist eine universelle Programmiersprache, die vorzugsweise zur Systemprogrammierung dient. Ist ein besseres C (nach B.Stroustrup) Unterstützt Datentransaktion Unterstützt objektorientiertes Programmieren und Unterstützt genetisches Programmieren. Grundlagen C++ 1

6 Unterschiede zwischen C und C++? Grundlagen C++ 1 C ist: Leistungsfähig: effizient, schnell, logisch, strukturiert C++: verbesserte C Erwartungen sind immer größer OO C++ ist Erweiterung von C Sollte man mit C oder C++ anfangen?

7 Unterschiede zwischen Obj - C und C++? Grundlagen C++ 1 Obj C: BOOL= YES oder BOOL= NO Kommentare: /*... */ und // Attribute und Methoden

8 Welche Normen hat C++? ISO/IEC Informationstechnik – Programmiersprachen Die Norm beschreibt die objektorientierte Variante der Programmiersprache C. Implementierung Stand. Bibliotheken Grundlagen C++ 1

9 Welche Normen hat C++? ISO/IEC Erweiterung zu Modula ISO/IEC Objekt orientiertes Modula Grundlagen C++ 1

10 Vorteile von C++ Ermöglicht schnelle und maschinennahe Implementierungen Gut geeignet für Simulationen, Suchverfahren, Kompressionsverfahren, zeitkritische Anwendungen Für umfangreiche Projekte geeignet Sehr weite Verbreitung Grundlagen C++ 1

11 Nachteile von C++ Probleme: Teilweise veraltet Standardbibliothek weniger mächtig als bei Java Kaum ein Compiler erfüllt die komplette Umsetzung der ISO – Norm C++ ist relativ schwierig zu erlernen (längere Einarbeitungszeit nötig) Dennoch: weit verbreitet, besonders bei wissenschaftlichen Anwendungen Grundlagen C++ 1

12 C++ Aplications NASA NOKIA Siemens Games: Doom III Adobe Systems Ericsson Apple Amazon.com IBM IPod Grundlagen C++ 1

13 Objekte Ein Software-Objekt ist ein Bündel aus Attributen und darauf bezogenen Methoden. Fahrrad – Objekt Attribute – Farbe, Größe, momentane Geschwindigkeit Methoden – fährt leichter Grundlagen C++ 1

14 Objektlebenszyklus Der Lebenszyklus eines C++ Objektes besteht aus den Abschnitten Erzeugung Benutzung Zerstörung Grundlagen C++ 1

15 Objektlebenszyklus Erzeugung Das Erzeugen eines Objektes erfogt durch Aufruf des Konstruktors (kurz ctor) des Objektes. Benutzung Ein Objekt wird benutzt, indem eine seiner Methoden aufgerufen wird Grundlagen C++ 1

16 Objektlebenszyklus Zerstörung Wird ein Objekt nicht mehr benötigt, so sollte es zerstört werden, damit es keinen Speicherplatz mehr verbraucht. Bei der Zerstörung eines Objektes wird automatisch sein Destruktor (kurz dtor) aufgerufen. Grundlagen C++ 1

17 Vererbung Klasse Verschiedene Arten Die Klassen Montainbikes, Rennräder und Hollandräder erben von der Klasse Fahrräder gemeinsame Eigenschaften und fügen zusätzliche hinzu. Grundlagen C++ 1

18 Vererbung Allgemein gilt: Klassen können definiert werden in Abhängigkeit von anderen Klassen: "A ist eine Art von B". In diesem Fall ist B die Basisklasse von A. Eine Klasse kann auch von mehreren Klassen erben: A ist eine Art von B und C (Mehrfachvererbung). Jede Klasse erbt die (öffentlichen) Attribute und Methoden ihrer Basisklasse(n). Jedoch können jeder Klasse eigene Variablen und Methoden hinzugefügt werden. Grundlagen C++ 1

19 Entwicklungsumgebungen Windows: Microsoft Visual C++ Borland C++ CYGwin (Linux-artige Umgebung für Windows) Linux/Unix: GCC (GNU C Compiler) G++ (GNU C++ Compiler) Grundlagen C++ 1

20 99 Bottles Grundlagen C Bottles 2

21 Grundlagen C Bottles 2

22 Grundlagen C Bottles 2

23 99 Bottles Ausgabe 3 bottles of beer on the wall. 3 bottles of beer on the wall, 3 bottles of beer, Take one down, pass it around, 2 bottles of beer on the wall. 2 bottles of beer on the wall, 2 bottles of beer, Take one down, pass it around, 1 bottle of beer on the wall. 1 bottle of beer on the wall, 1 bottle of beer, Take one down, pass it around, 0 bottles of beer on the wall. 0 bottles of beer on the wall, 0 bottles of beer, Go to the store and buy some more, 99 bottles of beer on the wall. Grundlagen C Bottles 2

24 Bjarne Stroustrup 11. Juni 1950 in Århus, Dänemark Doktorgrad in Informatik (1979) von der Universität Cambridge, England Leiter der AT&T Labs Large-scale Programming Research Abteilung, Manager bei der Bell Labs 1993 erhielt er für seine Arbeit um C++ den Grace Murray Hopper Award. Grundlagen C Bottles 2 C++ Erfinder 3

25 Bjarne Stroustrup Derzeit: College of Engineering – Lehrstuhl für Informatik, Texas A&M University Mitglied U.S. National Academy of Engineering Buch: Die C++ Programmiersprache ( ) – das Buch wurde in 18 Sprachen übersetzt Mehr als 100 akademische Artikel veröffentlicht Er spielte eine aktive Rolle beim Erstellen des ANSI/ISO – Standards für C++ Grundlagen C Bottles 2 C++ Erfinder 3

26 Warum C++? Simula – die allerdings in der Praxis recht langsam bei der Ausführung ist BCPL – die zwar sehr schnell ist, aber sich für große Projekte nicht eignete Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

27 Sicherheit ist nicht Softwarethema! Zunächst einmal ist Sicherheit ein Systemthema Perfekte Code Zugriff auf Ihre gespeicherte Daten Zweitens ist Sicherheit ein Abwägen zwischen Kosten und Vorteilen Perfekte Sicherheit: nicht zu erreichen Böse Buben Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

28 Sicherheit ist nicht Softwarethema! Aber was ist mit Programmiersprachen und Programmiertechniken? Fehler: Jede einzelne Zeile muss sicher sein Code wird mit unsystematischen Tests überhäuft Code: hässlich, umfangreicher, langsam Hardware/Software Code: einfach, effizient schreiben Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

29 Muss man nicht C können um mit C++ anzufangen? Leider wird in vielen Kursen zunächst C unterrichtet, aber das ist nicht mehr zwingend der Fall Manche wechseln von C nach C++ OOP Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

30 Werden wir C sehen? Ich weiß es nicht Das von Grund auf neu entwickelt wurde Das Beste von C++ enthält Das Schlechteste weglässt C++0x Standardbibliotheken, neue Sprachfeatures 100% kompatibel zu C++ 98 Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

31 Werden wir C sehen? C++0x: Unterstützung von modernen Maschinenarchitekturen und Nebenläufigkeit Bessere Unterstützung der genetischen Programmierung Viele kleine Spracherweiterungen Neue Standardbibliotheken: Reguläre Ausdrücke C++ Standards Committee Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

32 Warum hat er keine andere Sprachen erstellt? Welches Problem würde die neue Sprache lösen? Für wen würde sie die Probleme lösen? Was dramatisch Neues könnte angeboten werden? Könnte die neue Sprache effektiv verbreitet werden? Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

33 Lehren Einführung in die Programmierung für C++ Das ist mein erstes Buch für Anfänger AT&T Änderung Forschung im Informatikbereich Mehr als Anfänger in Programmieren unterrichtet Gute Grundlage für das weitere Lernen Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

34 Wie ist Ihre Meinung zu Codebeispielen in Lehrbüchern? Ich bevorzuge Beispiele, die in so wenig Zeilen wie möglich eine Idee darstellen. Programmfragmente sind unvollständig Alle Codebeispiele in kompilierbarer Form Keine hübschen künstlichen Beispiele Beispiele ohne den Missbrauch von Tieren Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

35 Teamarbeit Schneller Besser Weiter kommt als alleine Denn 4,8,16 Augen sehen besser Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

36 Fazit C++ Sehr weite Verbreitung Maschinennahes Programmieren Für umfangreiche Projekte geeignet Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

37 Literatur Visionäre der Programmierung: Die Sprachen und ihre Schöpfer, Federico Biancuzzi, Shane Warden C++ von A bis Z: das umfassende Handbuch, Jürgen Wolf Die C++ Programmiersprache, Bjarne Stroustrup C++: Programmieren mit einfachen Beispielen; leicht, klar, sofort, Dirk Louis C++: der leichte Einstieg, Peter Wollschlaeger – Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4

38 C++ Danke für Ihre Aufmerksamkeit! Grundlagen C Bottles 2 C++ Erfinder 3 Interview 4


Herunterladen ppt "Sigita Andrulyte Seminar Programmiersprachen 26.06.2010."

Ähnliche Präsentationen


Google-Anzeigen