Computersprache

Übersicht


  • Was ist Computersprache

  • -Interpreter und Compiler


    -Hohe und niedrige Programmiersprachen


    -Grundelemente von Computersprachen


  • Überblick zu den einzelnen Programmiersprachen

  • Andere Computersprachen

  • Warum ist eine Computersprache eine Sprache?

  • Gemeinsamkeiten/Unterschiede zur Computersprache und zur gesprochenen Sprache


  • Was ist Computersprache?

  • Computersprache fasst alle Sprachen zusammen, mit deren Hilfe sich ein Mensch mit dem Computer verständigen kann. Es gibt somit verschiedene Ausprägungen und Unterarten von Computersprachen.


  • Ganz tief unten arbeiten Computer mit Nullen und Einsen. Diese Computersprache ist für ein Computer direkt lesbar und wird ausgeführt. Es handelt es sich um Maschinensprache oder auch Maschinencode oder Binärcode.
    Warum null und Eins?

    null steht für Strom aus und 1 steht für Strom an. Verschiedene Kombinationen von nullen und einsen sorgen vereinfacht gesagt dafür, dass die Hardware verschiedene Dinge tut. Maschinensprache ist aber für den Menschen schlecht lesbar und deshalb wurden menschenlesbare Computersprachen wie Programmiersprachen, Datenbanksprachen und Beschreibungssprachen entwickelt. Diese Sprachen sind in Wörtern der menschlichen Sprache (meist in English) geschrieben und halten sich dabei festen, einheitlichen und klar definierten Regeln.


    Der vom Entwickler formulierte Text nennt man Quelltext. Dieser Quelltext kann jedoch nicht vom Computer gelesen werden. Also muss es dazwischen immer Programme geben, die die menschenlesbare Computersprache in Maschinensprache übersetzen, damit der Computer etwas damit anfangen kann. Hier gibt es 2 Varianten: Entweder durch sogenannte Interpreter oder durch Compiler.


    Interpreter und Compiler

    Interpreter
    Ein Interpreter verarbeitet den Quellcode eines Projekts zur Laufzeit, es wird also direkt ausgeführt. Dazu geht der Interpreter Zeile für Zeile vor: Eine Anweisung wird eingelesen, analysiert und sofort ausgeführt. Dann geht es mit der nächsten Anweisung weiter, bis schließlich das Ende des Programms erreicht ist; oder bis ein Fehler auftritt. Aber da die Fehler erst zur Laufzeit erkannt werden, können sie schnell übersehen werden.
    Compiler
    Ein Compiler wandelt den Quelltext in einer ausführbaren Maschinencodedatei um. Die im Quelltext formulierten Anweisungen werden vollständig übersetzt, bevor das Programm ausgeführt wird. Dazu wird für jedes Betriebssystem ein eigener Compiler benötigt. Um das Programm unter Windows zum Beispiel laufen zu lassen, muss das Programm zuvor unter Windows über ein entsprechenden Compiler kompiliert werden. Ein Vorteil ist, dass durch den zusätzlichen Kompilierungsschritt Fehler schneller erkannt werden.

    Zwischensprachen

    Es gibt einige Sprachen, bei denen sowohl Compiler als auch Interpreter zu Einsatz kommen. Der Quelltext wird dabei als Erstes in einen sogenannten Bytecode kompiliert, eine Art Zwischencode. Dieser Code braucht dann einen Interpreter, um ausgeführt werden zu können.

    Hier ist eine Liste von Programmiersprachen und ob diese Sprachen kompiliert, interpretiert oder beides sind:

    Hohe und niedrige Programmiersprachen


  • Je ähnlicher die Programmiersprache zur Maschinensprache (Binärcode) ist, desto schwieriger ist es für den Menschen verstehbar. Diese Sprachen sind niedrig.

  • Und andersherum


  • Je mehr die Programmiersprache sich von der Maschinensprache unterscheidet, desto höher ist die Sprache. Die Sprache ist dann leichter für den Menschen verstehbar, aber dadurch werden Anweisungen ungenauer.
  • Grundelemente von Computersprachen

    Betrachtet man die Computersprachen, so gibt einige Gemeinsamkeiten. Unterschiede findet man selten, jedoch spielt das Anwendungsgebiet eine wichtige Rolle. Nur wenige Sprachen sehen komplett anders aus. Grundelemente,die bei so gut wie jeder Programmiersprache enthalten ist, sind:



    Variablen und Objekte
    Variablen und Objekte speichern vereinfacht gesagt bestimmte Werte. Durch Funktionen, Befehle/Anweißungen, Operatoren und Schleifen können die Werte verändert werden, neue Werte initialisiert werden und vieles Weitere kann mit mit Variablen und Objekten geschehen. Mit den gespeicherten Wert einer Variable werden Entscheidungen(if-Abfragen o. Ä.) beispielsweiße getroffen.
    Schleifen
    Schleifen wiederholen bestimmten Quelltext (sogenannter Schleifenrumpf oder Schleifenkörper). Dieser Text wird solange aufgerufen, bis die Schleifenbedingung ungültig ist. Endlosschleifen sind Schleifen, deren Bedingung immer wahr ist.

    Konventionen und Kommentare
    Es muss zum Einen klar vom Computer beziehungsweise dem Prozessor verstanden werden, welche Befehle vorliegen. Doch auch andere Menschen müssen den Code lesen und verstehen können. Aus diesem Grund ist es wichtig sich an vorliegende und grundsätzliche Konventionen zu halten, Kommentare zu schreiben und somit einen einfachen Zugang zu schaffen.
    Definition von Konvention und Kommentar:
    Konvention: ist eine (nicht notwendig festgeschriebene) Regel, die von einer Gruppe von Menschen aufgrund eines beschlossenen Konsenses eingehalten wird.
    Kommentare: dienen zum verstehen des Quelltextes. Sie bewirken nichts auf geschriebene Algorhythmen, sondern erklären diese.

    Wir haben uns einen groben Überblick verschaffen, was eine Computersprache ist und ausmacht. Nun schauen wir uns einzelne Programmiersprachen an und in welchen Anwendungsgebieten sie benutzt werden.

    Überblick zu den einzelnen Programmiersprachen


    Eine Programmiersprache ist eine Sprache zur Beschreibung von Algorithmen. Sie ist universell und implementierbar.

    OPTIONAL: Falls ihr euch interessiert, wie sich die Programmiersprachen entwickelt haben bzw. wie bekannt/erfolgreich die Programmiersprachen waren, kann sich dieses Video anschauen 😁

    Andere Computersprachen

    Wie schon erwähnt ist eine Programmiersprache eine Unterkategorie der Computersprachen. Dementsprechend gibt es Computersprachen, die nichts mit 'Programmierung' zu tun haben. Diese schauen wir uns nun kurz an.

    Datenbanksprachen

    Auch hierbei gibt es Unterkategorien, weil sich bestimmte Datenbanksprachen unterscheiden. Zum Einen gibt es Datenbeschreibungssprachen (DDL) und zum Anderen hingegen Datenmanipulationssprachen (DML).

    Eine Datenbeschreibungssprache wird dann verwendet, wenn man Daten und Datenstrukturen beschreiben bzw. definieren will.
    Eine Datenmanipulationssprache wird für die Beschreibung der Arbeitsmöglichkeiten mit Daten (Speichern, Suchen, Lesen, Ändern), den sogenannten Datenmanipulationen, verwendet.

    Meistens sind diese zwei Sprachen in einer umfassenden Sprache zusammengefasst. Ein Beispiel ist SQL (Structured Query Language), die weitverbreitetste, bekannteste Datenbanksprache.Sie dient dazu Datenschemas in relationalen(= digitalen) Datenbanken zu verändern.

    Beschreibungssprachen

    Hierbei gibt es wieder verschiedene Arten. Auszeichnungssprachen, Stylesheet-Sprachen und Seitenbeschreibungssprachen:

    Auszeichnungssprache: Eine Auszeichnungssprache dient zur Gliederung und zum Formatieren von Daten. Die Sprache ist für die Maschine schnell lesbar. Das Akronym hat meistens die Endung "ML" (englisch: markup language).
    Die bekannteste Sprache ist HTML (Hypertext Markup Language), welches die Struktur einer Webseite wie diese hier beschreibt.
    Es gibt zudem noch XML, YAML, OBML SGML, CFML, Fountain, JSON, XMPP und viele weitere mehr.

    Stylesheetsprache: Eine Style-Sprache ist eine formale Computersprache, die strukturierte Dokumente verschönert. CSS (Cascading Style Sheets) kann zum Beispiel HTML-Elemente umpositionieren, die Schriftart und Farbe verändern und mehr. Sie wurde entwickelt, um die Trennung von 'Design' bzw. das Erscheinungsbild zum Inhalt zu ermöglichen.
    Weitere Beispiele sind: XSL, DSSSL, JSSS, FOSI und Sass

    Seitenbeschreibungssprache: Eine Seitenbeschreibungssprache (PDL) spezifiziert die Anordnung einer gedruckten Seite durch Befehle von einem Computer, die der Drucker ausführt. Die Printer Control Sprache ( PCL ) von Hewlett Packard und PostScript von Adobe sind die beiden am häufigsten verwendeten PDLs.

    Warum ist eine Computersprache eine Sprache?

    In diesem Teil der Präsentation geht es nicht mehr um die Computersprachen an sich, sondern eher um eine Fragestellung. Computersprachen sind Sprachen, aber warum, wenn sie nicht gesprochen werden?

    Der Duden gibt uns eine Antwort auf diese Frage: "Sprache ist ein System von Zeichen, das der Gewinnung von Gedanken, ihrem Austausch zwischen Menschen, sowie der Fixierung von erworbenem Wissen dient. Sprache kann als akustisches, soziales oder als psychisches Phänomen, oder auch als System logischer Operationen aufgefasst werden. Die Beziehung zwischen Zeichen und Bezeichnetem hängt von der jeweiligen Sprachgemeinschaft ab, die einem bestimmten Ausschnitt der Wirklichkeit ein bestimmtes Zeichen konventional zuordnet.“

    Im Grunde kommuniziert ein Mensch mit dem Computer. Aber auf der anderen Seite spricht man nicht mit dem Computer, sondern man steuert seine Arbeiten und entwickelt Programme.

    "Sprache, im engeren Sinn Bezeichnung für die natürliche Sprache des Menschen, im weiteren Sinn Bezeichnung für Kommunikationssysteme unterschiedlicher Art."
    "Charakteristisch für Sprachen [...] ist, dass Inhalte durch den Gebrauch symbolischer Zeichen übermittelt werden, dass mit symbolischen Zeichen kommuniziert wird, d. h. mit Zeichen, deren Bedeutung arbiträr ist, also auf einer Konvention, einer üblichen Praxis beruht. Sprachliche Kommunikation unterscheidet sich insofern von solchen Fällen, in denen Informationen aufgrund einer kausalen Beziehung erschlossen werden können"- Brockhaus

    Gemeinsamkeiten/Unterschiede von gesprochener und Computer -Sprache

    Fangen wir mit den Gemeinsamkeiten an. Was hat eine Computersprache mit einer natürlichen Sprache gemeinsam? Dies sind meine Gedanken

    Beide Sprachen sind Mittel zur Kommunikation.

    Beides kann in Form eines Textes visuell/statisch festgehalten werden. Sowohl Computersprache als auch die von uns genutzte Sprache ist eine Schriftsprache. Es wird geschrieben und gelesen.

    Beides kann Dynamik und Interaktion beinhalten (z.B. Mausklicks, Konflikte).

    Es hat beides eine Syntax (die Form, der äußere Aufbau), eine Pragmatik(die Wirkung der Aussagen auf die betroffenen Kommunikationspartner), bestimmte Regelungen (z.B. Grammatik, Rechtschreibung…) und Logik.
    -Zur Logik: Damit meine ich bei der gesprochenen Sprache z.B. „der rote Apfel ist grün.“ kann man nicht sagen. Der Satz ist grammatikalisch richtig, funktioniert aber rein logisch nicht.

    Beides beruht auf genetisch verankerten, organischen und kognitiven Grundlagen/Fähigkeiten des Menschen.

    Beides ist vom Menschen erfunden.

    Beides entwickelt und verändert sich (Sprachwandel).

    Unterschiede

    Allgemeines:
    Natürliche Sprachen sind hierarchische Systeme, d. h. Systeme aus Einheiten, die mit anderen Einheiten zu komplexeren Einheiten zusammengefügt werden können.
    Durch gesprochene Sprache (Muttersprache) entwickelt sich ein Individuum, es können sich Dialekte bilden, Fremdsprachen und Fachsprachen können erlernt werden.
    Computersprache ist jedoch eine Fachsprache.
    Sie ist wie eine Anleitung, die Vorgibt, was ein Programm machen soll.

    Die Gesellschaft beeinflusst die Sprache. Bei Computersprachen ist jedoch die Zielgruppe kleiner und der Sprachwandel verläuft anders (Bsp: Konventionen und Erneuerungen, Bugfixes).

    Wir sind nun am Ende meiner digitalen Präsentation angekommen.
    Nun möchte ich euch auffordern die folgenden Aufgaben zu bearbeiten und einen kurzen Text zu schreiben. Ich hoffe, euch hat diese Präsentation gefallen. 😊 Falls ihr Fragen oder Ähnliches habt, könnt ihr euch bei mir per Teams melden. Nun wünsch ich euch viel Spaß beim Bearbeiten der Aufgaben. Die Ergebnisse könnt ihr bei mir abgeben.



    Klicke hier (Aufgaben)

    Meine Quellen

    Hier Klicken