SlideShare ist ein Scribd-Unternehmen logo
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
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
Programmiersprachen
Strukturierte Computerorganisation
Problemorientierte Sprache
Assemblersprache
Betriebssystemmaschine
Befehlssatzarchitektur (ISA)
Mikroarchitektur
Digitale Logik
Ebene 5
Ebene 4
Ebene 3
Ebene 2
Ebene 1
Ebene 0
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
Bit wisem 2015-wieners-sitzung-10_Programmiersprachen
Bit wisem 2015-wieners-sitzung-10_Programmiersprachen
Bit wisem 2015-wieners-sitzung-10_Programmiersprachen
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
Drei-Schichten-Architektur:
Model View Controller (MVC)
Bit wisem 2015-wieners-sitzung-10_Programmiersprachen
Darstellung
Daten
Logik
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
MVC – Model View Controller (Modell, Präsentation, Steuerung)
1972 im Kontext von „Smalltalk“ (objektorientierte Programmiersprache) vorgestellt
Model / Datenhaltungsschicht
Model!
Spielfeld: 3 x 3 Felder
Auf jedem Feld wird die ID des Spielers
abgelegt, der / die das Feld angeklickt hat
var gameBoard = [][];
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
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
/

Weitere ähnliche Inhalte

PPTX
Bit wisem 2015-wieners-sitzung-11_Software-Entwicklung II: Entwurfsmuster
PPTX
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
PPTX
WiSe 2013 | Kolloquium "Digital Humanities" - 04
PPTX
WiSe 2013 | Kolloquium "Digital Humanities" - 01_Kick Off
PPTX
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
PPT
14. Defining Classes
PPT
0. Course Introduction
PPT
C# basics
Bit wisem 2015-wieners-sitzung-11_Software-Entwicklung II: Entwurfsmuster
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
WiSe 2013 | Kolloquium "Digital Humanities" - 04
WiSe 2013 | Kolloquium "Digital Humanities" - 01_Kick Off
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
14. Defining Classes
0. Course Introduction
C# basics

Andere mochten auch (18)

PPT
08. Numeral Systems
PPTX
C# Tutorial
PPTX
.NET and C# Introduction
PPT
20. Object-Oriented Programming Fundamental Principles
PDF
Einführung in .NET mit C#
PPT
17. Trees and Graphs
PPTX
Tema4.3.
PDF
Wege in eine humane Zukunft
PDF
Descripcion familiar laura_quero
PDF
#todossomospolitecnico Reglamento Interno 2004
PPTX
Content Thinking - wenn man Content Strategie ernst nimmt
PDF
Escenarios
PDF
Retail & Marketing "Una Mirada al Futuro-hoy"
PPT
PPTX
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
PPTX
Die Deutschklasse (Santiago, Universidad Pacifico)
PPTX
Varices esofágicas
PDF
Teaser: Soziale Gesichtserkennung
08. Numeral Systems
C# Tutorial
.NET and C# Introduction
20. Object-Oriented Programming Fundamental Principles
Einführung in .NET mit C#
17. Trees and Graphs
Tema4.3.
Wege in eine humane Zukunft
Descripcion familiar laura_quero
#todossomospolitecnico Reglamento Interno 2004
Content Thinking - wenn man Content Strategie ernst nimmt
Escenarios
Retail & Marketing "Una Mirada al Futuro-hoy"
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Die Deutschklasse (Santiago, Universidad Pacifico)
Varices esofágicas
Teaser: Soziale Gesichtserkennung
Anzeige

Ähnlich wie Bit wisem 2015-wieners-sitzung-10_Programmiersprachen (20)

PPTX
Bit WiSe 2013 | Basisinformationstechnologie I - 08: Programmiersprachen I
PPT
Einführung in .NET
PDF
Dnug dresden blend 5. 5. 2010
PDF
DNUG Dresden Blend
PDF
GUIs mit Expression Blend
PPT
Top 10 Internet Trends 2001
PPTX
Technologieraum übergreifende Programmierung
PDF
Addressroom
PDF
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
PDF
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
PDF
Einsatz von Open Data für agile Wissensvermittlung
PPT
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
PPTX
BIT I WiSe 2014 | Basisinformationstechnologie I - 08: Programmiersprachen I
PPT
Ia 2009
PPT
User Interface Patterns at IA09 Conference
PPT
Ia 2009
PPTX
Software Metrics and Continuous Integration
PDF
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
PDF
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
PPTX
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
Bit WiSe 2013 | Basisinformationstechnologie I - 08: Programmiersprachen I
Einführung in .NET
Dnug dresden blend 5. 5. 2010
DNUG Dresden Blend
GUIs mit Expression Blend
Top 10 Internet Trends 2001
Technologieraum übergreifende Programmierung
Addressroom
Vielfalt vs. Abstraktion - Der Jakobsweg der modellbasierten GUI-Entwicklung
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Einsatz von Open Data für agile Wissensvermittlung
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
BIT I WiSe 2014 | Basisinformationstechnologie I - 08: Programmiersprachen I
Ia 2009
User Interface Patterns at IA09 Conference
Ia 2009
Software Metrics and Continuous Integration
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
Anzeige

Mehr von Institute for Digital Humanities, University of Cologne (20)

PPTX
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
PPTX
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
PPTX
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
PPTX
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
PPTX
Bit sosem 2016-wieners-sitzung-13_ki-in-games
PPTX
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
PPTX
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
PPTX
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
PPTX
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
PPTX
Bit sosem 2016-wieners-sitzung-08_semantic-web
PPTX
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
PPTX
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
PPTX
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
PPTX
Bit sosem 2016-wieners-sitzung-03_algorithmen
PPTX
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
PPTX
Bit sosem 2016-wieners-sitzung-01_auffrischung
PPTX
Bit sosem 2016-wieners-sitzung-00_themenueberblick
PPTX
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
PPTX
Bit wisem 2015-wieners-sitzung-09_Software-Entwicklung
PPTX
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ress...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Bit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-00_themenueberblick
Bit wisem 2015-wieners-sitzung-12_Zusammenfassung I
Bit wisem 2015-wieners-sitzung-09_Software-Entwicklung
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ress...

Bit wisem 2015-wieners-sitzung-10_Programmiersprachen

  • 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. 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
  • 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. 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
  • 9. 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
  • 13. 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
  • 14. MVC – Model View Controller (Modell, Präsentation, Steuerung) 1972 im Kontext von „Smalltalk“ (objektorientierte Programmiersprache) vorgestellt
  • 16. Model! Spielfeld: 3 x 3 Felder Auf jedem Feld wird die ID des Spielers abgelegt, der / die das Feld angeklickt hat var gameBoard = [][];
  • 17. 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
  • 18. 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
  • 19. /

Hinweis der Redaktion

  • #4: Programmiersprache: Eine zum Formulieren von Programmen geschaffene künstliche / formale Sprache Warum braucht man so etwas? Darum:
  • #6: compiler interpreter
  • #9: Dynamische Typisierung Paradigmen: Prozedurale, funktionale und objektorientierte (klassenlose) Programmierung