Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Programmiersprachen

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Programmiersprachen"—  Präsentation transkript:

1 Seminar Programmiersprachen
C++ Sigita Andrulyte

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

3 Was bedeutet C++? 1 A) Der Name hat keine besondere Bedeutung
Grundlagen C++ 1 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)

4 Was bedeutet C++? 1 FALSCH:
Grundlagen C++ 1 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 ++

5 Was ist C++? Grundlagen C++ 1 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.

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 7

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

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

10 Vorteile von C++ 1 Vorteile von C++
Grundlagen C++ 1 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

11 Nachteile von C++ 1 Probleme: Teilweise veraltet
Grundlagen C++ 1 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

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

13 Objekte Grundlagen C++ 1 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 13

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

15 Objektlebenszyklus 1 Erzeugung
Grundlagen C++ 1 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 15

16 Objektlebenszyklus 1 Zerstörung
Grundlagen C++ 1 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. 16

17 Vererbung 1 Klasse Verschiedene Arten
Grundlagen C++ 1 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. 17

18 Vererbung 1 Allgemein gilt:
Grundlagen C++ 1 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. 18

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

20 99 Bottles Grundlagen C++ 1 99 Bottles 2

21 99 Bottles Grundlagen C++ 1 99 Bottles 2

22 99 Bottles Grundlagen C++ 1 99 Bottles 2 22

23 99 Bottles Ausgabe 1 2 Grundlagen C++ 3 bottles of beer on the wall.
Take one down, pass it around, 2 bottles of beer on the wall. 2 bottles of beer on the wall, 2 bottles of beer, 1 bottle of beer on the wall. 1 bottle of beer on the wall, 1 bottle of beer, 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++ 1 99 Bottles 2

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

25 Bjarne Stroustrup Grundlagen C++ 1 99 Bottles 2 C++ Erfinder 3 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++

26 Warum C++? Grundlagen C++ 1 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“ 99 Bottles 2 C++ Erfinder 3 Interview 4 26

27 Sicherheit ist nicht Softwarethema!
Grundlagen C++ 1 ”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” 99 Bottles 2 C++ Erfinder 3 Interview 4

28 Sicherheit ist nicht Softwarethema!
Grundlagen C++ 1 ”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 99 Bottles 2 C++ Erfinder 3 Interview 4

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

30 Werden wir C++ 2.0 sehen? 1 2 3 4 ”Ich weiß es nicht”
Grundlagen C++ 1 99 Bottles 2 ”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 C++ Erfinder 3 Interview 4

31 Werden wir C++ 2.0 sehen? 1 2 3 4 C++0x:
Grundlagen C++ 1 99 Bottles 2 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 C++ Erfinder 3 Interview 4

32 Warum hat er keine andere Sprachen erstellt?
Grundlagen C++ 1 99 Bottles 2 ”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?“ C++ Erfinder 3 Interview 4

33 Lehren Grundlagen C++ 1 99 Bottles 2 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 C++ Erfinder 3 Interview 4

34 Wie ist Ihre Meinung zu Codebeispielen in Lehrbüchern?
Grundlagen C++ 1 99 Bottles 2 ”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 C++ Erfinder 3 Interview 4

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

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

37 Literatur 1 2 3 4 Grundlagen C++ 99 Bottles
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 – 2003 C++ Erfinder 3 Interview 4

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


Herunterladen ppt "Seminar Programmiersprachen"

Ähnliche Präsentationen


Google-Anzeigen