Informatik Programmiersprachen eine kurze Übersicht



Ähnliche Dokumente
Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Programmiersprachen und Programmierkonzepte

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach

Einführung in Eclipse und Java

Grundlagen der Programmierung UE

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Einführung in PHP. (mit Aufgaben)

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Grundlagen der Programmierung UE

Grundlagen von Python

Informatik 12 Datenbanken SQL-Einführung

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Datenbanksysteme SS 2007

Installation und Inbetriebnahme von Microsoft Visual C Express

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

Präsentation Von Laura Baake und Janina Schwemer

SQL (Structured Query Language) Schemata Datentypen

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Formale Sprachen und Grammatiken

Applications Applets (eingeschränkte Rechte)

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering

Grundlagen. Kapitel 1

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Kontrollstrukturen - Universität Köln

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Informatik für Ökonomen II Übung 0

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Algorithmen mit Python

JavaScript kinderleicht!

Online-Publishing mit HTML und CSS für Einsteigerinnen

Einführung in die Programmierung

Wir machen neue Politik für Baden-Württemberg

Internet Explorer Version 6

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester

Programmierkurs Python I

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

VBA-Programmierung WS 2008/09

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

Java Script für die Nutzung unseres Online-Bestellsystems

Professionelle Seminare im Bereich MS-Office

I.1 Die Parrot Assemblersprache

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Robot Karol für Delphi

Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7

Schüler-E-Tutorial für mobile Endgeräte. Ein Folgeprojekt des Netzwerks Informationskompetenz Berlin/Brandenburg mit der HdM

HTML Programmierung. Aufgaben

Übungen zu C++ Kapitel 1

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

LEHRSTUHL FÜR DATENBANKEN

Ein Ausflug zu ACCESS

Crashkurs Webseitenerstellung mit HTML

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

TIMI: Technische Informatik für Medieninformatiker

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Zahlensysteme: Oktal- und Hexadezimalsystem

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

SEMINAR Modifikation für die Nutzung des Community Builders

Die Lernumgebung des Projekts Informationskompetenz

Kompilieren und Linken

Einführung in die C-Programmierung

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Herzlich willkommen im Modul Web-Engineering

Internet und WWW Übungen

Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise?

Vorkurs Informatik WiSe 15/16

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Algorithmen und Programmieren II Einführung in Python

Abschlussarbeiten für StudentInnen

Computeria Urdorf. Treff vom 28. März Tipps und Tricks

Planung. Visualisierung. Programmierung

Nuetzlicher Kleinkram

Programmieren was ist das genau?

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Einführung Internettechnologien. - Clientseitige Programmierung -

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Anleitung BFV-Widget-Generator

M. Graefenhan Übungen zu C. Blatt 3. Musterlösung

2. Programmierung in C

Funktionale Programmierung (in Clojure)

Erste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes

Computeria Solothurn

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: Übung WS 2014/2015

Begeisterung und Leidenschaft im Vertrieb machen erfolgreich. Kurzdarstellung des Dienstleistungsangebots

2 Grundlagen der Programmierung

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Was meinen die Leute eigentlich mit: Grexit?

Transkript:

Informatik eine kurze Übersicht Seite 1

natürliche Sprachen (nach Wikipedia) ca 6500 gesprochene Sprachen davon etwa die Hälfte im Aussterben etwa 500 Schriftsprachen mit gedruckten Texten P. Bueghel Turmbau zu Babel (Wikipedia) ca 2500 aktiv verwendete (http://people.eecs.ku.edu/~kinners/new_general.html) täglich kommen neue hinzu : Immer das Selbe nur anders? Tiefenstruktur: alle natürlichen Sprachen basieren auf der gleichen tiefen Grammatik nur die Oberflächen-Grammatiken unterscheiden sich. (Noam Chomsky, berühmter Linguist und Informatiker) Tiefenstruktur der? Mit allen kann im Prinzip das Gleiche ausgedrückt werden, aber es gibt Ausdrucksweisen Programmierstile die sich in unterschiedlichen Sprachen /Sprachfamilien unterschiedlich gut ausgedrückt werden können. Seite 2

Klassifikation der nach Worüber spricht ein Programm Imperative Sprachen Objekt-orientierte Sprachen Funktionale Sprachen Deklarative Sprachen Imperative Sprachen älteste und größte Sprachfamilie Programm = Anweisungen: Tue dies, dann dann das, etc. Thema der Anweisungen: Daten die in Variablen organisiert sind Beispiele: Assembler, C, Fortran, Pascal, Objektorientierte Sprachen Erweiterung der imperativen Sprachen Wichtigste Sprachfamilie für die professionelle Software-Entwicklung Programm = Anweisungen: Tue dies, dann dann das, etc. Thema der Anweisungen: Daten und Anweisungen die in Objekten organisiert sind Beispiele: C++, C#, Java, Seite 3

Klassifikation der nach Worüber spricht ein Programm Funktionale Sprachen intellektuellste und aktuell angesagteste Sprachfamilie Programm = Sammlung von Funktionen und Funktionalen (Funktionen auf Funktionen) Beispiele: Mathematica, Lisp, Haskell, Scala, F# Deklarative Sprachen Sprachen für die die nicht programmieren wollen Programm = Das will ich haben, egal wie du das hin bekommst! Beispiele: HTML, Prolog, Datenfluss Sprachen / Systeme Variante der deklarativen Sprachen Programm = Daten die zu / durch Zellen fließen und dabei transformiert werden Beispiel: Spreadsheet-Anwendungen (Excel) Abfrage Sprachen / Systeme Variante der deklarativen Sprachen Programm = Frage an einen Datenbestand Beispiel: SQL Seite 4 sind meist Mischungen aus aus verschiedenen Stil-Elementen.

Klassifikation der nach der Art der Verarbeitung Compilierte Sprachen in Zwischencode übersetzte Sprachen interpretierte Sprachen Compilierte Sprachen Programme werden in Maschinencode übersetzt Maschinencode: Bit-Sequenz die von der CPU verarbeitet werden kann Beispiele: C, C++ In Zwischencode übersetzte Sprachen Moderne Modifikation der compilierten Sprachen Programme werden erst in einen Zwischencode übersetzt (Maschinencode einer gedachten, hypothetischen CPU) dann später vom Zwischencode in den Code der realen CPU Vorteil: Zwischencode kann unabhängig von bestimmten Computern erzeugt und verbreitet werden. Beispiele: C#, Java Interpretierte Sprachen Ein anderes Programm analysiert das Programm und befolgt dessen Anweisungen Beispiele: Mathematica, VisualBasic, Seite 5

Klassifikation der nach Generationen (~ Abstraktionsebenen weg von der Hardware) Maschinensprachen (1-te Generation) Programme werden in der Sprache der Maschine (CPU) formuliert Assemblersprachen (2-te Generation) Programme werden in symbolischem Code formuliert dieser wird zu Maschinencode assembliert Erste höhere (3-te Generation) Programme werden Menschen-orientiert / Problem-orientiert mit Variablen Ausdrücken (Formeln) Kontrollstrukturen (z.b. Schleifen) formuliert und zu Maschinenprogrammen compiliert Weiterentwickelte höhere Der Begriff Generation wird etwa ab 1980 ungebräuchlich Große Vielfalt an basieren teils auf den gleichen, teils auf völlig unterschiedlichen Paradigmen. Seite 6

Klassifikation der nach Verwendungsart Professionelle Allzwecksprachen Komplexe Konstrukte Reichhaltige Bibliotheken mit vielen Programm-Bausteinen (> 10 3) Optimiert für die Entwicklung großer Software-Systeme (>104 Zeilen Code, typisch 100000 Zeilen) durch viele Entwickler (>101 Personen, typisch 25 Entwickler) über lange Zeiträume (>101 Monate, typisch 1 Jahr) Übersetzte Sprachen Beispiele: Java, C# Skriptsprachen, ad-hoc-sprachen Einfache Konstrukte Optimiert für kleine Software-Systeme (<104 Zeilen Code, typisch 100 Zeilen) durch wenige Entwickler (<101 Personen, typisch eine Person) über kurze Zeiträume (<101 Monate, typisch ein Tag bis eine Woche) Interpretierte Sprachen Beispiele: alle deklarativen Sprachen, die meisten funktionalen Sprachen Seite 7

Klassifikation der nach Einsatzgebiet Allzwecksprachen Allzwecksprachen geeignet für jede Problemstellung aus jedem Gebiet Beispiele: VB, C, C++, Java, C# Domänenspezifische Sprachen (DSLs domain specic languages) Auf ein Anwendungsfeld speziell zugeschnitten Beispiele: SQL, HTML, Seite 8

: Beispiel deklarative Sprache Beispiele deklarative Programmierung: HTML <html> <head> <title>hello world</title> </head> <body> <h1>mein erstes Hallo Welt Programm</h1> Hallo sag' I! </body> </html> HTML: Hypertext-Markup Language hypertext: verlinkter Text mark-up: Text mit Auszeichnungen = Formatierungsinformation Browser versteht HTML zeigt Text entsprechend an HTML-Datei (Programm) HTML: Sprache zur Programmierung von TextLayout und Verlinkung Programmausführung durch Firefox Seite 9

: Beispiel Skript-Sprache Beispiel Skript-Programmierung: Java-Script <html> <head> <title>hello world</title> </head> <body> <h1>mein zweites Hallo Welt Programm</h1> <script language="javascript"> var i = 0; while (i<5) { document.write('luja Sag i!<br>'); i = i+1; } </script> </body> </html> Java-Script (ECMA-Script) : Skript-Sprache die im Browser ausgeführt wird. HTML-Datei mit eingebettetem JavaScript (Programm) Browser versteht HTML und JavaScript erzeugt / zeigt Text entsprechend an Programmausführung durch Firefox Seite 10

: Beispiel compilierte imperative Sprache Beispiel: C C: #include <stdio.h> #include <stdlib.h> Compilierte Sprache Basis von C++, Java, C# sehr wichtig im Bereich der - Systemprogramme (Hilfs-Programm wie Betriebssystem, etc) - Im Hardware-nahen / embedded Bereich main(){ int i = 0; while (i<5) { printf("hello world!\n"); i = i+1; } } Programm übersetzen und ausführen in einer Konsole > gcc -o helloworld.c > helloworld Hello world! Hello world! Hello world! Hello world! Seite 11

: Beispiel Datenfluß-System Beispiel: Spreadsheet-Anwendung Programme ganz anders: nicht Schrittchen für Schrittchen sondern als Abhängigkeiten der Werte von Variablen (=Zellen); Datenfluss von Zellen zu Zelle. B4 B2 B3 B5 Datenfluss-Prinzip der Programmierung bei Spreadsheet-Anwendungen Seite 12

: Beispiel Abfragesprache Beispiel SQL Fahrzeughersteller Name Land GM USA Toyota Japan VW Deutschland PSA Frankreich Opel Deutschland... Programme ganz anders: Gewinn 2009 1000000 100000 30100 51522 99273 nicht Schrittchen für Schrittchen sondern als Fragen an eine Datenmenge SELECT * FROM FAHRZEUGHERSTELLER WHERE (LAND = 'USA') OR (LAND = 'Frankreich'); Name GM PSA... Land USA Frankreich Gewinn 2009 1000000 51522 SQL = Structured Query Language Sprache zur Formulierung von Abfragen in Datenbanken Seite 13