Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung
Dr. Jan G. Wieners // jan.wieners@uni-koe...
Differenzierung anhand von C++ und JavaScript:
 Compiler vs. Interpreter
 Typisierung: Dynamisch vs. statisch
 Variable...
Programmiersprachen
Strukturierte Computerorganisation
Problemorientierte Sprache
Assemblersprache
Betriebssystemmaschine
Befehlssatzarchitekt...
Beispiel: „Hello World“ :
DATA SEGMENT ;- Beginn des Datensegments
Meldung db "Hello World" ;- Die Zeichenkette "Hello Wor...
Differenzierung anhand von C++ und JavaScript:
 Compiler vs. Interpreter
 Typisierung: Dynamisch vs. statisch
 Variable...
Drei-Schichten-Architektur:
Model View Controller (MVC)
Darstellung
Daten
Logik
Drei-Schichten-Architektur
 GUI-Schicht
 Fachkonzeptschicht
 Datenhaltungsschicht
GUI-Schicht: Realisiert die
Benutzung...
MVC – Model View Controller (Modell, Präsentation, Steuerung)
1972 im Kontext von „Smalltalk“ (objektorientierte Programmi...
Model / Datenhaltungsschicht
Model!
Spielfeld: 3 x 3 Felder
Auf jedem Feld wird die ID des Spielers
abgelegt, der / die das Feld angeklickt hat
var gam...
01001001 01100011 01101000 00100000 01110111
11000011 10111100 01101110 01110011 01100011
01101000 01100101 00100000 01110...
01001001 01100011 01101000
00100000 01110111 11000011
10111100 01101110 01110011
01100011 01101000 01100101
00100000 01110...
/
Bit wisem 2015-wieners-sitzung-10_Programmiersprachen
Bit wisem 2015-wieners-sitzung-10_Programmiersprachen
Bit wisem 2015-wieners-sitzung-10_Programmiersprachen
Bit wisem 2015-wieners-sitzung-10_Programmiersprachen
Nächste SlideShare
Wird geladen in …5
×

Bit wisem 2015-wieners-sitzung-10_Programmiersprachen

753 Aufrufe

Veröffentlicht am

Bit wisem 2015-wieners-sitzung-10_Programmiersprachen

Veröffentlicht in: Bildung
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
753
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
394
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Programmiersprache: Eine zum Formulieren von Programmen geschaffene künstliche / formale Sprache
    Warum braucht man so etwas? Darum:
  • compiler
    interpreter
  • Dynamische Typisierung
    Paradigmen: Prozedurale, funktionale und objektorientierte (klassenlose) Programmierung
  • Bit wisem 2015-wieners-sitzung-10_Programmiersprachen

    1. 1. Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Dr. Jan G. Wieners // jan.wieners@uni-koeln.de Basisinformationstechnologie I Wintersemester 2015/16 14. Dezember 2015 – Programmiersprachen
    2. 2. Differenzierung anhand von C++ und JavaScript:  Compiler vs. Interpreter  Typisierung: Dynamisch vs. statisch  Variablen: Deklaration vs. Initialisierung  Paradigmen: funktionale vs. Objektorientierte Programmierung  Objektorientierung: Klassen, Kapselung, Geheimnisprinzip  Hardwarenahe Programmierung: C++ und Zeiger  Gemeinsamkeiten: Auswahlanweisungen und Kontrollstrukturen Programmiersprachen und ihre Unterschiede
    3. 3. Programmiersprachen
    4. 4. Strukturierte Computerorganisation Problemorientierte Sprache Assemblersprache Betriebssystemmaschine Befehlssatzarchitektur (ISA) Mikroarchitektur Digitale Logik Ebene 5 Ebene 4 Ebene 3 Ebene 2 Ebene 1 Ebene 0
    5. 5. Beispiel: „Hello World“ : DATA SEGMENT ;- Beginn des Datensegments Meldung db "Hello World" ;- Die Zeichenkette "Hello World" db "$" ;- Endzeichen der Zeichenkette DATA ENDS ;- Ende des Datensegment CODE SEGMENT ;- Beginn des Codesegements ASSUME CS:CODE,DS:DATA ;- Dem Assembler die Segmente mitteilen Anfang: ;- Label für den Anfang des Programms mov ax, DATA ;- das Daten... mov ds, ax ; ...segment festlegen mov dx, offset Meldung ;- den Text in das auf DS bezogene Datenregister laden mov ah, 09h ;- Die Unterfunktion 9 des Betriebssysteminterrupts 21h auswählen int 21h ;- den Betriebssysteminterrupt 21h (hier erfolgt Ausgabe des Texts) aufrufen mov ax, 4C00h ;- Die Unterfunktion 4Ch (Programmbeendigung) des Betriebssysteminterrupts 21h festlegen int 21h ;- diesen Befehl wiederum ausführen CODE ENDS ;- Ende des Codesegments END Anfang ;- dem Assembler das Ende des Labels Anfang mitteilen Assembler Vgl.: http://de.wikipedia.org/wiki/Assemblersprache
    6. 6. Differenzierung anhand von C++ und JavaScript:  Compiler vs. Interpreter  Typisierung: Dynamisch vs. statisch  Variablen: Deklaration vs. Initialisierung  Paradigmen: funktionale vs. Objektorientierte Programmierung  Objektorientierung: Klassen, Kapselung, Geheimnisprinzip  Hardwarenahe Programmierung: C++ und Zeiger  Gemeinsamkeiten: Auswahlanweisungen und Kontrollstrukturen Praxisdemo
    7. 7. Drei-Schichten-Architektur: Model View Controller (MVC)
    8. 8. Darstellung Daten Logik
    9. 9. Drei-Schichten-Architektur  GUI-Schicht  Fachkonzeptschicht  Datenhaltungsschicht GUI-Schicht: Realisiert die Benutzungsoberfläche einer Anwendung – Präsentation der Daten, Interaktion mit Benutzer / Benutzerin Fachkonzeptschicht: Modelliert den funktionalen Kern der Anwendung; Zugriff auf Datenhaltungsschicht Datenhaltungsschicht: Form der Datenspeicherung, z.B. relationale DB Schichten-Architektur
    10. 10. MVC – Model View Controller (Modell, Präsentation, Steuerung) 1972 im Kontext von „Smalltalk“ (objektorientierte Programmiersprache) vorgestellt
    11. 11. Model / Datenhaltungsschicht
    12. 12. Model! Spielfeld: 3 x 3 Felder Auf jedem Feld wird die ID des Spielers abgelegt, der / die das Feld angeklickt hat var gameBoard = [][];
    13. 13. 01001001 01100011 01101000 00100000 01110111 11000011 10111100 01101110 01110011 01100011 01101000 01100101 00100000 01110111 01110101 01101110 01100100 01100101 01110010 01110011 01100011 01101000 11000011 10110110 01101110 01100101 00100000 01010111 01100101 01101001 01101000 01101110 01100001 01100011 01101000 01110100 01110011 01100110 01100101 01110010 01101001 01100101 01101110 00100001 00000000
    14. 14. 01001001 01100011 01101000 00100000 01110111 11000011 10111100 01101110 01110011 01100011 01101000 01100101 00100000 01110111 01110101 01101110 01100100 01100101 01110010 01110011 01100011 01101000 11000011 10110110 01101110 01100101 00100000 01010111 01100101 01101001 01101000 01101110 01100001 01100011 01101000 01110100 01110011 01100110 01100101 01110010 01101001 01100101 01101110 00100001 00000000
    15. 15. /

    ×