Programmiersprachen und ihre Übersetzer
|
|
- Bernt Holst
- vor 8 Jahren
- Abrufe
Transkript
1 Folien zur Vorlesung Programmiersprachen und ihre Übersetzer Kapitel 1 Faculty of Technology robert@techfak.uni-bielefeld.de April 8, 2014
2 Ziele der Vorlesung Die Vorlesung will einen Einblick geben in die Vielfalt der Programmiersprachen, verschiedene Wege aufzeigen, wie man eine Programmiersprache implementieren kann, den typischen Aufbau von Übersetzern darstellen Werkzeuge und Methoden vorstellen zur (systematischen) Realisierung verschiedener Teilaufgaben der Übersetzung. Viele Techniken des Übersetzerbaus sind auch anderswo relevant, wenn Anwendungen nicht-triviale Eingabesprachen haben.
3 Skript und Folien Die Vorlesung verwendet Skript und Folien Für die Vorlesung steht ein Skript Programmiersprachen und ihre Übersetzer zur Verfügung, in einer Fassung von Die Folien sind Extrakte und Kurzfassungen aus dem Skript, enthalten aber an einigen (wenigen) Stellen Hinweise auf modernere Entwicklungen. Im Sommer 2014 gibt es parallel ein Seminar Programiersprachen, das zum gleichen Studienmodul gehört.
4 Organisatorisches Vorlesung nur bis erste Juli-Woche, verlängerte Sitzungsdauer 10:15-12:00, zum Modul gehörendes Seminar Programmiersprachen wird nur noch in diesem Semester angeboten.
5 Ziele von Kapitel 1 Kapitel 1 gibt einen kurzen Überblick über die Geschichte der Programmiersprachen. Wir unterteilen: Die vorsprachliche Phase ( ) Die Phase der Proliferation ( ) Die vier Paradigmen der Programmiersprachen Die Konsolidierung ( ff) Anwendungssprachen
6 Überblick zur Geschichte (1) Hier einige Beispiele von Programmiersprachen und Sprachfamilien imperative funktionale logische objektorient. Anwendersprachen Sprachen Sprachen Sprachen 1 Sprachen Fortran, LISP, Prolog, Simula VHDL (VLSI-Entwurf), Algol, FP, Aussagenlogik, Smalltalk-80, SQL (Datenbanken), Pascal, Hope, Prädikaten- C++, VAL2 (Robotersteuerun Modula, KRC, logik, CLASCAL, MARVIN (Compiler- Basic, ML, Spezifikations- Java, Erzeugung C, Miranda, sprachen wie... L A TEX(Textverarbeitung) Ada, Haskell, CLEAR, SGML, HTML, XML, ASL, OBJ, Dokumenten- Larch, verarbeitung......
7 Überblick zur Geschichte (2) Ein berühmtes Poster von O Reilly stellt die Geschichte der Programmiersprachen und einige ihrer Abstammungsbeziehungen dar. Siehe Leider wird das Poster nicht weitergeführt. Wenn wir uns nachher die Geschichte der Programmiersprachen ansehen, geht es mehr um eine Ideengeschichte Wann erkannte man welches Problem? Wie wurde es gelöst? als um den historischen Ablauf.
8 Kapitel der Vorlesung 1 Einführung, Ideengeschichte 2 Grundbegriffe: Syntax und Semantik, Compiler und Interpreter, Bootstrapping 3 Übersetzungsschemata: Signaturen, Terme, Ableitungen 4 Syntaxanalyse: Konkrete versus abstrakte Syntax, Parsergeneratoren, Combinator-Parser 5 Implementierung imperativer Sprachen: Von rekursiven Prozeduren zur Abstrakten Registermaschine 6 Codeerzeugung: Maschinenbeschreibungen, Spezifikation durch Ableitung, Code-Selektion durch Inversion
9 Keine Kapitel in der Vorlesung Viele interessante Themen aus dem Bereich Programmiersprachen und ihre Übersetzer kommen in der Vorlesung gar nicht vor oder werden nur am Rande gestreift. Entwurf von Programmiersprachen spezifische Techniken für logische, funktionale, objekt-orientierte Sprachen abstrakte Maschinen für portable Implementierungen diverse Techniken der Code-Optimierung Codeerzeugung für parallele Rechnerarchitekturen Prozessor/Compiler Co-design Integration von Übersetzern und Interpretern in Programmierumgebung und Betriebssystem
10 Literatur Siehe Literatur-Angaben im Skript. Das deutschsprachige Buch von Wilhelm et al. gibt es seit 2012/2013 mit den Autoren Wilhelm, Seidl, Hack in vier Bänden in der Reihe examen.press im Springer-Verlag.
11 Die vorsprachliche Phase (1) Hardwarenahe Programmierung von Rechnern: Vor den ersten Universalrechnern: Programmierung durch Verkabelung über Steckbretter Eingabe von einzelnen Bits über Tasten Eingabe von Programmen als Befehlsworte in Binär/Oktal/Sedezimalcode erste Assembler: Symbolische Namen für Opcodes und Adressen, Dezimaldarstellung für Zahlen Mit den Assembler-Sprachen beginnt die symbolische Programmierung und die Übersetzung in Maschinencode durch den Rechner selbst. (Diesem Stadium entspricht die unbeschräknte Registermaschiner aus der A&D-Vorlesung im 1. Semester.)
12 Die vorsprachliche Phase (2) Weiter geht s mit der Erhöhung des Programmier-Comforts: erweiterte Assembler: Aufgabe der Entsprechung von Maschinenbefehl und Anweisung, einfache Formeln für Adressrechnung automatische Speicherallokation durch den Assembler (relative Adressen, Hilfszellen für Formelauswertung) Subroutines als erste Abstraktion Assembler bieten mehr und mehr Comfort : FORTRAN ( = FORmula TRANslation) entsteht quasi spontan...
13 Charakteristika der hardware-nahen Programmierung Keinerlei Übertragbarkeit von Programmen zwischen den Rechnern, in der Regel nicht einmal zwischen verschiedenen Versionen der gleichen Architektur intransparente Programme, trickreiche Programmierung hohe Programmierkosten und unentbehrliche Experten Keine exakt definierte Sprache, sondern nur den jeweilige Komfort-Angebot der aktuellen Version des Assemblers Programmieren durch Probieren...
14 Die Phase der Proliferation: Der existierende Zustand weckte Forderungen nach einer maschinen-unabhängigen Weise, Algorithmen zu beschreiben: Programmiersprachen. 1958/60: ALGOL60, erste Sprache mit klar definierter Syntax (kontext-freie Grammatiken, CFGs) und Anspruch auf Maschinenunabhängigkeit. Verschachtelte Sichtbarkeitsbereiche, Rekursion, Arrays,... ab 1960: FORTRAN, aus Wildwuchs (s.o.) entstanden, wird zunehmend standardisiert Entwicklung von Techniken des Übersetzerbaus, aufbauend auf Parsertechnologie für CFGs stürmische Entwicklung einer Vielzahl von Programmiersprachen, universale wie spezielle Stichpunkt 1965: AMS zählt 1700 Programmiersprachen in 700 Anwendungsbereichen logische (Prolog) und funktionale Programmiersprachen
15 Von Programmen zu Software Die Programmierung selbst wird zum Gegenstand der Theoriebildung: Strukturierte Programmierung fordert lesbare Programme Programm-Verifikation erfordert Prüfung der Korrektheit jenseits des Testens Programming-in-the-large erfordert Modul-Konzepte und Bibliotheken Software-Lifecycle kommt ins Blickfeld ab 1975 etwa herrscht Software-Krise erste objekt-orientierte Ideen bereits in SIMULA67
16 Zwei gegenläufige Tendenzen Programmiersprachen sollten einfach sein; Verknüpfung weniger Konzepte, Prinzip der Typsicherheit (strong typing) und der Orthogonalität N. Wirth entwickelt Pascal ca 1968; zunächst als Lehrsprache gedacht und eingesetzt, findet es große praktische Verbreitung Programmiersprachen sollten universell sein, um der Vielfalt der in einem Projekt eingesetzten Sprachen zu begegnen Ausschreibung des DoD (USA) 1977 führt zur Entwicklung von Ada im internationalen Wettbewerb; eine überaus komplizierten Sprache; No Subsets! ; Validation-Suites; im Endeffekt eine gigantische Fehlentwicklung
17 Compiler-Technik Die Vielzahl der Sprachen motivierte die Entwicklung von Techniken ihrer Implementierung Compiler-Compiler unterstützen Sprachimplementierung Parser-generatoren (Yacc, Bison) für Syntaxanalyse Attributierte Grammatiken für semantische Analyse und Übersetzung in abstrakten Maschinencode Generatoren für Code-Erzeuger, basierend auf Pattern-Matching auf Bäumen
18 Die Konsolidierung: Erkennnisse und Ergebnisse vorangehenden Phase: Einige wenige imperative Sprachen haben eine gewisse Maschinenunabhängigkeit erreicht und sich weitgehend durchgesetzt. C für die systemnahe Programmierung Pascal für Ausbildung und kleinere Anwendungen FORTRAN (und ALGOL-Nachkommen) für numerische Algorithmen (z.b. in der Physik) COBOL für kommerzielle Dateiverarbeitung Generell aber ist klar, mit imperativen Konzepten allein ist dem Problem der Software-Komplexität nicht beizukommen die wesentliche Eigenschaft einer Programmiersprache ist ihre Fähigkeit zur Bildung von Abstraktionen Daher: funktionales, logisches und objekt-orientiertes Paradigma!
19 Die vier Paradigmen Für universelle Sprachen unterscheidet man vier Paradigmen imperativ: Variablen und Anweisungen, die diese Variablen bearbeiten objekt-orientiert: Objekte als Einheit von Daten und Operationen, Prinzip der Datenkapselung (information hiding) funktional: Abstraktion durch Funktionen höherer Ordnung; kein Speicherbegriff, kein vorher/nachher logisch: es werden logische Abhängigkeiten beschrieben, basierend auf einer Datenbank von Fakten. Anfragen ermitteln Folgerungen durch einen universellen Suchprozess (Resolution). Logische und funktionale Sprachen fasst man auch als deklarative Sprachen zusammen.
20 Vertreter der OO-Programmiersprachen Von den Anfängen bis heute: 1967: SIMULA67-Klassen sind persistente Datenstrukturen mit darauf definierten Operationen Smalltalk80: Sprache und umfassendes Programmiersystem als Klassenhierarchie; puristisch ca 1983: C++ als Erweiterung von C. Klassen, Templates, aber auch explizite Pointer ab 1995: Java: C++ plus die Pascal-Erfahrung: Einfache Sprache, Klassen ohne Pointer; Plattform-Unabhängigkeit Konkurrenten zu C++ und Java: Objective C, C#, Eiffel
21 Vertreter der funktionalen Sprachen Von den Anfängen bis heute: 1958ff LISP (LISt Processing language): Rekursive Funktionen über Listen; nicht typisiert(!); symbolische Programmierung; Programme als Datenstrukturen. Selbst-modifizierender high-level Code (!). LISP-Interpreter in LISP passt auf eine halbe DIN A4 Seite. Ursprünglich für die Theoretische Informatik entwickelt, wurde es zur Sprache der KI-Forschung. 1975ff Scheme: Syntaktisch geschönte Version von Lisp; strikte Semantik (= eager evaluation); verbreitete Ausbildungssprache Wikipedia enthält einen guten Artikel über LISP
22 Vertreter der funktionalen Sprachen (2) ca 1975 ML: Funktionale Sprache eines Theorem-Provers; Konstruktor-Datentypen; parametrischer Typ-Polymorphismus 1982 Miranda: Lazy funktionale Sprache, polymorphe Typen, elegante Syntax, Abseitsregel 1988ff Haskell: Weiterentwicklung von Miranda, Typklassen, Monaden, GHC-Compiler
23 Funktionale Sprachen Merkmale funktionaler Sprachen: Extrem kurze und lesbare Programme; hohe Wiederverwendbarkeit; flexibel erweiterbar durch Funktionen höherer Ordnung Die outermost reduction von lazy Sprachen bedeutet einen Geschwindigkeits-Nachteil und einen Speicher-Mehraufwand, die durch aktuelle Verbesserung der Compiler-Techniken immer weiter reduziert werden.
24 Vertreter der logischen Sprachen Von den Anfängen bis heute: 1970ff Prolog: Programmierung mit Horn-Klauseln; Aussagenlogik mit strukturierten Symbolen; SLD-Resolution; zunächst interpretiert, dann compiliert für WAM (Warren abstract machince) Wenig Weiterentwicklung in der Sprache, aber bessere Implementierungen: Sixtus-Prolog, SWI-Prolog
25 Zwischen den Paradigmen Anwendungs-spezifische Sprachen (domain specific languages, DSLs) lassen sich nicht unbedingt in diese Kategorien einsortieren LaTeX, Html: Dokumentenbeschreibung Bellman s GAP: Dynamische Programmierung über Sequenzen Neuere Sprachen versuchen verschiedene Paradigmen zu verknüpfen (und dabei die Vorteile beider Seiten zu erhalten) Scala: Objektorientierte und funktionale Sprache Curry: Logisch-funktionale Sprache
26 Fazit Ausgangspunkt: 40 Jahre lang beruhte der Fortschritt der Informatik zur Hälfte auf der Weiterentwicklung der Programmiersprachen. Sie erlauben, mit weniger Aufwand komplexere Probleme zu lösen, und dies auch noch zuverlässiger. 50 Jahre nach ALGOL hat sich die stürmische Entwicklung der Programmiersprachen beruhigt: wenige, etablierte Sprachen dominieren: C, C++/Java, Haskell (Scheme), Prolog/Datalog (?) Übersetzerbau hat als Forschungsgebiet an Bedeutung verloren aber: signifikante Fortschritte in der Erweiterung und Übersetzung von Haskell Aber auch das Umfeld der Informatik hat sich gewandelt.
27 Software-Entwicklung und Anwendung In den frühen Jahren der Informatik waren die Entwickler der Programme oft auch die Anwender. Heute: Der Bereich der Anwendung ist gewaltig gewachsen und hat sich von der Entwicklung der Informatik als wissenschaftliche Disziplin abgetrennt. Neue Algorithmen werden nur noch in (vergleichsweise) wenigen, neuen Einsatzgebieten entwickelt. Der größte Teil der Anwender benutzt vorgefertigte Software, die ggf. konfiguriert oder mit anderer Software integriert werden muss.
28 Software-Entwicklung und Anwendung Unter den vielen Firmen der Softwarebranche gibt es tatsächlich nur wenige, die diverse eigene Produkte für den Markt entwickeln. 2 Die meisten IT-Firmen sind damit beschäftigt, etablierte Software auf die Betriebsabläufe des jeweiligen Kunden anzupassen (oder auch umgekehrt). SAP-Programmierer ist ein Beruf! Neue Firmen entstehen durch erfolgreiche Nischenprodukte. Fazit: Die bahnbrechenden Entwicklungen der Informatik finden heute nicht mehr auf dem Gebiet de Programmiersprachen statt. 2 Der hierfür benötigte Kapitalvorschuss ist hoch, er erfordert viel hochqualifizierte menschliche Arbeit; der Rückfluss ist durch den allgemein schnellen Innnovationszyklus unsicher.
Stichworte zur Ideengeschichte der Programmiersprachen
Stichworte zur Ideengeschichte der Programmiersprachen Faculty of Technology robert@techfak.uni-bielefeld.de Vorbemerkung Diese Notzien dienen zur Erläuterung des O Reilly Posters über die Entwicklung
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrVermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrFunktionale Programmierung (in Clojure)
Funktionale Programmierung (in Clojure) Einführung Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Wintersemester 2014/15 Übersicht Paradigmen von Programmiersprachen Paradigmen von Programmiersprachen
MehrProgrammieren Formulierung eines Algorithmus in einer Programmiersprache
Zum Titel der Vorlesung: Programmieren Formulierung eines in einer Programmiersprache Beschreibung einer Vorgehensweise, wie man zu jedem aus einer Klasse gleichartiger Probleme eine Lösung findet Beispiel:
MehrEberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995. Inhaltsverzeichnis.
3 Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn 1995 Inhaltsverzeichnis Vorwort 5 1. Komplexe Software - Projekte - Software-Engineering 7 1.1 Komplexe
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
Mehr2 Grundlagen der Programmierung
2 Grundlagen der Programmierung In diesem Kapitel bereiten wir die Grundlagen für ein systematisches Programmieren. Wichtigstes Ziel ist dabei die Herausarbeitung der fundamentalen Konzepte von Programmiersprache.
Mehr10 Erweiterung und Portierung
10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle
MehrInformatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach
Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler Joliot-Curie-Gymnasium GR 2010 Nico Steinbach 0. Organisatorisches Warum habt Ihr euch für den Kurs eingeschrieben?
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
Mehr1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi
1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrRMeasy das SAP IS U Add On für Versorgungsunternehmen. Optimieren Sie Ihre Prozesse in Kundengewinnung und Kundenbindung.
Beschreibung Wenn Sie: mit ECC 6.0 und IS-U auf die integrierte Systemlösung der SAP setzen und zur Gewinnung neuer und Bindung vorhandener Kunden eine gleichfalls integrierte Lösung suchen und eine Produkt
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
MehrBedienerhandbuch Toleranztabellen Version 1.2.x. Copyright Hexagon Metrology
Toleranztabellen Version 1.2.x Copyright Hexagon Metrology Inhaltsverzeichnis 1. Allgemeine Hinweise... 3 1.1. Softwareziele... 3 1.2. Softwarevoraussetzungen... 3 1.3. Softwaregarantie und Support...
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,
MehrStatuten in leichter Sprache
Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch
MehrGezielt über Folien hinweg springen
Gezielt über Folien hinweg springen Nehmen wir an, Sie haben eine relativ große Präsentation. Manchmal möchten Sie über Folien hinweg zu anderen Folien springen. Das kann vorkommen, weil Sie den gesamten
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrLehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
MehrInstallation OMNIKEY 3121 USB
Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,
Mehrwww.olr.ccli.com Jetzt neu: Online Reporting Schritt für Schritt durch das Online Reporting (OLR) Online Liedmeldung
Online Liedmeldung Jetzt neu: Online Reporting www.olr.ccli.com Schritt für Schritt durch das Online Reporting (OLR) Wichtige Information für Kirchen und Gemeinden Keine Software zu installieren Liedmeldung
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
MehrProgrammiersprachen und Programmierkonzepte
Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare
MehrAdvoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank
Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen
Mehretutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche
etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:
MehrKapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrM@school Software- und Druckerzuweisung Selbstlernmaterialien
Bildung und Sport M@school Software- und Druckerzuweisung Selbstlernmaterialien Hinweise zum Skript: LMK = Linker Mausklick RMK = Rechter Mausklick LMT = Linke Maustaste RMT = Rechte Maustaste Um die Lesbarkeit
MehrKonzentration auf das. Wesentliche.
Konzentration auf das Wesentliche. Machen Sie Ihre Kanzleiarbeit effizienter. 2 Sehr geehrte Leserin, sehr geehrter Leser, die Grundlagen Ihres Erfolges als Rechtsanwalt sind Ihre Expertise und Ihre Mandantenorientierung.
MehrInformationen zum neuen Studmail häufige Fragen
1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:
MehrInformatik Kurs Simulation. Hilfe für den Consideo Modeler
Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke
MehrProduktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort
ALEX IT-Service Ihr IT Servicepartner»ALEX-IT Service«16341 Panketal an unsere Kundschaft Ihr Zeichen, Ihre Nachricht Unser Zeichen Telefon, Name Datum CMS 13.01.2010 Produktvorstellung: CMS System / dynamische
MehrBildquelle: http://bild2.qimage.de/diamant-computergesteuerte-naehmaschine-foto-bild-86314142.jpg
Bildquelle: http://bild2.qimage.de/diamant-computergesteuerte-naehmaschine-foto-bild-86314142.jpg Unsere digitale Welt konfrontiert uns mit einer Unmenge an computergesteuerten Geräten, Maschinen und Steueranlagen.
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrHandbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)
Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...
MehrFormeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur
Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die
MehrROFIN App Benutzerhandbuch. Version 1.0
ROFIN App Benutzerhandbuch Version 1.0 Inhaltsverzeichnis 1. Beschreibung 2. Passwort und Einstellungen 3. Support Tab 4. Vertriebs Tab 5. Web Tab 6. Häufig gestellte Fragen BESCHREIBUNG Die ROFIN App
MehrEinleitung. Für wen ist dieses Buch
i Willkommen! Dieses Buch aus der Reihe Schritt für Schritt wurde so konzipiert, dass Sie mit dem Buch leicht und einfach die wesentlichen Aspekte beim Einsatz von vier der Microsoft Office 2016- Apps
MehrTESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!
9 TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! An den SeniorNETclub 50+ Währinger Str. 57/7 1090 Wien Und zwar gleich in doppelter Hinsicht:!"Beantworten Sie die folgenden Fragen und vertiefen Sie damit Ihr
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrRundung und Casting von Zahlen
W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für
MehrObjektorientierte Programmierung. Kapitel 0: Begrüssung
Stefan Brass: OOP (Java), 0. Begrüssung 1/8 Objektorientierte Programmierung Kapitel 0: Begrüssung Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/
MehrNutzung dieser Internetseite
Nutzung dieser Internetseite Wenn Sie unseren Internetauftritt besuchen, dann erheben wir nur statistische Daten über unsere Besucher. In einer statistischen Zusammenfassung erfahren wir lediglich, welcher
MehrWas ist Logische Programmierung?
Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm
MehrEin mobiler Electronic Program Guide
Whitepaper Telekommunikation Ein mobiler Electronic Program Guide Ein iphone Prototyp auf Basis von Web-Technologien 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller
MehrDie Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:
Glossare 1 Inhalt 1 Inhalt... 1 2 Prozesse... 1 3 Eine kleine Zeittabelle...... 1 4 Die ersten Schritte... 2 5 Die nächsten Schritte...... 2 6 Die letzten Schritte... 3 7 Das Tool...... 4 8 Beispiele...
MehrPflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?
Connext GmbH Balhorner Feld 11 D-33106 Paderborn FON +49 5251 771-150 FAX +49 5251 771-350 hotline@connext.de www.connext.de Pflegeberichtseintrag erfassen Produkt(e): Vivendi Mobil Kategorie: Allgemein
MehrAlgorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.
Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8
MehrCopyright 2014 Delta Software Technology GmbH. All Rights reserved.
Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
MehrSchnelleinstieg in die (cs) AuftragPro
Schnelleinstieg in die (cs) AuftragPro Starten der Anwendung Entpacken Sie das herunter geladene Archiv. Der entstandene Ordner (cs) AuftragPro enthält alle benötigten Komponenten der Anwendung. Öffnen
MehrSoftware Engineering. Sommersemester 2012, Dr. Andreas Metzger
Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle
MehrErweiterung AE WWS Lite Win: AES Security Verschlüsselung
Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1
MehrWas ist ein Compiler?
Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?
MehrHandbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager
Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung
MehrAllgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen
MehrWindows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1
Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Mehr[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL
[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL Was bedeutet Customer Service by KCS.net? Mit der Einführung von Microsoft Dynamics AX ist der erste wichtige Schritt für viele Unternehmen abgeschlossen.
MehrMonitore. Klicken bearbeiten
Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition
MehrInformatik (G9) Sek I - Differenzierung 8/9/10
Schulinternes Curriculum für das Fach Informatik (G9) Sek I - Differenzierung 8/9/10 am Gymnasium Lohmar Das Fach Informatik wird am Gymnasium Lohmar im Rahmen der Differenzierung in Form eines 2-stündigen
Mehrmit attraktiven visuellen Inhalten
Besser bloggen mit attraktiven visuellen Inhalten Copyright 2015 und für den Inhalt verantwortlich: Online Marketing Services LCC. 108 West 13th Street 19801 Wilmington USA Google Doodles die modifizierten
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrFlyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen
Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Wir wollen, dass ihr einfach für eure Ideen und Vorschläge werben könnt. Egal ob in ausgedruckten Flyern, oder in sozialen Netzwerken und
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrZwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
MehrWebseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web
Webseiten sind keine Gemälde Webkrauts Die Initiative für die Webkrauts ging von einem Blogeintrag im August 2005 aus. Nach dem Aufruf fanden sich innerhalb von etwa drei Tagen über 60 Interessierte zusammen.
MehrAvenue Oldtimer Liebhaber- und Sammlerfahrzeuge. Ihre Leidenschaft, gut versichert
Avenue Oldtimer Liebhaber- und Sammlerfahrzeuge Ihre Leidenschaft, gut versichert Die Versicherung für aussergewöhnliche Fahrzeuge Sicherheit für das Objekt Ihrer Leidenschaft Die Versicherung von Sammlerfahrzeugen
MehrWord 2010 Schnellbausteine
WO.001, Version 1.0 02.04.2013 Kurzanleitung Word 2010 Schnellbausteine Word 2010 enthält eine umfangreiche Sammlung vordefinierter Bausteine, die sogenannten "Schnellbausteine". Neben den aus den früheren
MehrKapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9
Kapitel 4 Einführung in den Scannergenerator Flex Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Generatoren für die lexikalische Analyse Scannergeneratoren werden eingesetzt um die
MehrHANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG
it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente
MehrBegriff 1 Begriff 2 Datenbank 1
Literaturrecherche Eine sorgfältige Literaturrecherche ist der erste fundamentale Schritt zur Anfertigung einer wissenschaftlichen Arbeit. Die Recherche sollte systematisch, genau, verständlich und nachvollziehbar
MehrSechster ProSTEP Benchmark Teil 2: PDM Data Exchange
Sechster ProSTEP Benchmark Teil 2: PDM Data Exchange Erster Benchmark für den PDM-Datenaustausch im STEP-Format Der Austausch von CAD-Modellen mit Hilfe des neutralen Datenaustauschformats entsprechend
MehrSemantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph!
Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph! www.semantic-web-grundlagen.de Ontology Engineering! Dr. Sebastian Rudolph! Semantic Web Architecture
MehrAnlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt
Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert
MehrPersonalentwicklung im Berliner Mittelstand. Darstellung der Studienergebnisse Berlin, 12.02.2008
Personalentwicklung im Berliner Mittelstand Darstellung der Studienergebnisse Berlin, 12.02.2008 Gliederung 1. Ausgangssituation.3 2. Die Studie..4 3. Zentrale Ergebnisse...5 4. Bewertung der Ergebnisse.7
MehrINDIVIDUELLE SOFTWARELÖSUNGEN CUSTOMSOFT CS GMBH
01 INDIVIDUELLE SOFTWARELÖSUNGEN 02 05 02 GUMMERSBACH MEHRWERT DURCH KOMPETENZ ERIC BARTELS Softwarearchitekt/ Anwendungsentwickler M_+49 (0) 173-30 54 146 F _+49 (0) 22 61-96 96 91 E _eric.bartels@customsoft.de
MehrDoku zur Gebäudebrüter Datenbank
Autor: Christina Baradari, christina.baradari@berlin.de, 0162 2008 114 Doku zur Gebäudebrüter Datenbank Team Web Programmierer: Rahim Baradari Inhaltsverzeichnis 1 Suchen nach Kartierungsdaten... 2 1.1
MehrWinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon
WinWerk Prozess 6a Rabatt gemäss Vorjahresverbrauch 8307 Effretikon Telefon: 052-740 11 11 Telefax: 052-740 11 71 E-Mail info@kmuratgeber.ch Internet: www.winwerk.ch Inhaltsverzeichnis 1 Ablauf der Rabattverarbeitung...
MehrJ.6 Programmierung eingebetteter Systeme
Vorteile von C in eingebetteten Systemen: leichter Zugriff auf die Hardware gute Kontrolle über die verwendeten Ressourcen (Speicher, CPU) Probleme mit C: stark eingeschränkte Laufzeitüberprüfungen ISO
MehrInformatik Programmiersprachen eine kurze Übersicht
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
MehrIst Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers
Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
MehrDAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG
DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG von Urs Schaffer Copyright by Urs Schaffer Schaffer Consulting GmbH Basel www.schaffer-consulting.ch Info@schaffer-consulting.ch Haben Sie gewusst dass... >
MehrDer Kunde zahlt die Gehälter.
Der Kunde zahlt die Gehälter. Hat man das erst einmal verstanden wird es leicht zufriedene Kunden zu gewinnen. E r f o l g s r e z e p t : Wann ist ein Kunde zufrieden? Wenn er merkt das wir zuhören Wenn
MehrInformatik (G8) Sek I - Differenzierung 8/9
Schulinternes Curriculum für das Fach Informatik (G8) Sek I - Differenzierung 8/9 am Gymnasium Lohmar Das Fach Informatik wird am Gymnasium Lohmar im Rahmen der Differenzierung in Form eines 2-stündigen
MehrDie richtigen Partner finden, Ressourcen finden und zusammenführen
Kongress Kinder.Stiften.Zukunft Workshop Willst Du mit mir gehen? Die richtigen Partner finden, Ressourcen finden und zusammenführen Dr. Christof Eichert Unsere Ziele: Ein gemeinsames Verständnis für die
Mehrecaros2 - Accountmanager
ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf
MehrWelches Übersetzungsbüro passt zu mir?
1 Welches Übersetzungsbüro passt zu mir? 2 9 Kriterien für Ihre Suche mit Checkliste! Wenn Sie auf der Suche nach einem passenden Übersetzungsbüro das Internet befragen, werden Sie ganz schnell feststellen,
MehrProgrammieren Lernen mit BYOB. Gerald Futschek 5. November 2012
Programmieren Lernen mit BYOB Informatiktag 2012 Gerald Futschek 5. November 2012 Erste Programmier Schritte in der Schule Sehr viele verschiedene Dinge zu lernen: Syntax und Semantik der Befehle, Algorithmen,
MehrWEBSEITEN ENTWICKELN MIT ASP.NET
jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm
MehrWas sind Jahres- und Zielvereinbarungsgespräche?
6 Was sind Jahres- und Zielvereinbarungsgespräche? Mit dem Jahresgespräch und der Zielvereinbarung stehen Ihnen zwei sehr wirkungsvolle Instrumente zur Verfügung, um Ihre Mitarbeiter zu führen und zu motivieren
MehrProgrammieren I. Überblick. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Überblick KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester)
Mehr