Vorlesung 2 Flashcards
Software und ihre Entwicklung
Programme
Befehlsfolgen, die von 1 Computer abgearbeitet werden; beschreiben abgeschlossenen Verarbeitungsvorgang
von Menschen geschrieben => an Computer gerichteten Programme verstehen
höhere Programmiersprachen
Anweisungen über mächtigere Befehle, die sich an der menschlichen Logik orientieren; Lösgelöst vom konkreten Prozessor
Maschinensprache
direkte Anweisungen an den Prozessor in Maschinencode
Assemblersprache
Anweisungen an den Prozessor über Befehlskürzel
imperative Programmiersprachen
durch eine Folge von Anweisungen wird beschrieben, wie das Programm seine Ergebnisse erzeugt
deklarative Programmiersprachen
durch Anweisungen wird beschrieben, welche Bedingungen die Ausgabe des Programms erfüllen muss; bei Übersetzung wird festgelegt wie die Ergebnisse konkret erzeugt werden
prozedurale Programmiersprachen
die verarbeitenden Prozeduren stehen im Fokus, Prozeduren verarbeiten Daten
objektorientierte Programmiersprachen
Die zu verarbeitenden Objekten stehen im Fokus, Objekte bestehen aus Daten und Methoden zu deren Manipulation
übersetzung mit einem Interpreter (höhere Programmiersprachen)
Programmcode wird aufgerufen, Programmcode wird durchlaufen und direkt während des Ablaufs in Maschinencode übersetzt
Übersetzung mit einem Compiler (Höhere Programmiersprachen)
Programmcode wird im Zuge eines Übersetzungsvorgangs in Maschinencode übertragen und in eine Datei geschrieben; Datei mit dem Maschinencode wird aufgerufen und vom Computer ausgeführt
textbasierter Quellcode
im syntax einer Programmiersprache
abstraktion richtet sich an Menschen
Menschen können Quellcode lesen und verändern
kann von Maschine nicht verarbeitet werden
ausführbarer Maschinencode
in Maschinensprache eines Prozessors
Code kann von Maschine verarbeitet werden
Menschen können nicht einfach lesen und verändern
Lizenzen
erlauben Nutzung der Software durch Lizenznehmer
schliessen Weitergabe der Software durch Lizenznehmer aus
Veränderungen nur im Quell-Code möglich
Proprietäre Software
anbieter Entwickelt Software und verkauft Nutzungslizenz
Quellcode wird nicht offengelegt
Dateien in ausführbaren Maschinencode ausgeliefert
Kopierschutz oder für Aktivierung ein Lizenzschlüssel erforderlich
Anwender kann Software gemäss Lizenzbestimmungen nutzen; Software nicht an andere weitergeben
Open-Source-Lizenzen (1)
Anbieter ist häufig Community, die Software entwickelt
Quellcode offen zur Verfügung gestellt
Software kostenlos; jedoch an bestimmte Lizenzen gebunden