AP2_FIAE - Programmiersprachen - Klassifikation von Programmiersprachen
Deck: AP2_FIAE Kategorie: Programmiersprachen Subkategorie: Klassifikation von Programmiersprachen Anzahl Karten: 16
Was sind Maschinensprachen?::Maschinensprachen sind die niedrigste Ebene der Programmiersprachen, bestehend aus Binärcodes, die direkt von der CPU ausgeführt werden können.
Was ist der Unterschied zwischen Maschinensprache und Assemblersprache?::Assemblersprache ist eine niedrige Programmiersprache, die als etwas menschenlesbare Schicht über Maschinensprache funktioniert, indem sie symbolische Namen für Operationen und Speicherorte verwendet.
Wie funktioniert die Übersetzung von Assemblercode in Maschinencode?::Der Assembler, das Programm, konvertiert den Assemblercode in Maschinencode. Dieser Prozess wird als Assemblierung bezeichnet.
Wofür werden Maschinensprachen und Assemblersprachen verwendet?::Beide Sprachen, vor allem Assemblersprachen, werden zur Entwicklung von Software verwendet, die nah an der Hardware arbeiten muss, wie Betriebssysteme und Gerätetreiber, oder für Performance-kritische Anwendungen.
Was sind die Vorteile von Maschinensprachen und Assemblersprachen?::Die Vorteile sind maximale Effizienz und Kontrolle über die Hardware sowie direkter Zugriff auf spezielle Hardwarefunktionen.
Was sind die Nachteile von Maschinensprachen und Assemblersprachen?::Die Nachteile sind der sehr hohe Schwierigkeitsgrad in der Programmierung und Wartung sowie die fehlende Portabilität, da der Code eng an die spezifische CPU-Architektur gebunden ist.
Was sind High-Level-Sprachen?::High-Level-Sprachen, auch höhere Programmiersprachen genannt, sind Sprachen, die im Vergleich zu Maschinensprachen oder Assemblersprachen eine höhere Abstraktionsebene bieten und lesbarer und verständlicher sind.
Welche Abstraktionsebenen gibt es bei Programmiersprachen?::Die Abstraktionsebene einer Programmiersprache beschreibt, wie nah oder fern die Sprache an der Arbeitsweise der zugrunde liegenden Hardware ist. Es gibt maschinennahe Sprachen wie Maschinencode und Assemblersprachen sowie höhere Programmiersprachen wie C, Java und Python.
Was sind die Vorteile der Verwendung von High-Level-Sprachen?::Die Vorteile sind Portabilität, höhere Produktivität, bessere Wartbarkeit und erhöhte Sicherheit durch bestimmte Sprachkonstrukte.
Was sind die Paradigmen von Programmiersprachen?::Die zentralen Paradigmen sind imperativ, deklarativ, objektorientiert und funktional.
Was ist das imperative Paradigma?::Im imperativen Paradigma bestehen Programme aus einer Folge von Anweisungen, die Zustände verändern. Typische Merkmale sind Sequenz, Iteration und Bedingung.
Was ist das deklarative Paradigma?::Im deklarativen Paradigma sagt der Entwickler, was zu tun ist, und nicht, wie es zu tun ist. Es abstrahiert von der konkreten Ausführung der Befehle.
Was ist das objektorientierte Paradigma?::Das objektorientierte Paradigma basiert auf dem Konzept der Objekte, die Daten und darauf anwendbare Operationen kapseln. Zentrale Konzepte sind Klassen, Vererbung, Polymorphie und Kapselung.
Was ist das funktionale Paradigma?::Im funktionalen Paradigma werden Probleme als eine Reihe von Funktionen gelöst. Zentrale Konzepte sind Unveränderlichkeit, Funktionen höherer Ordnung und reine Funktionen.
Was ist der Unterschied zwischen statischer und dynamischer Typisierung?::Bei statischer Typisierung muss der Datentyp einer Variable zum Zeitpunkt der Kompilierung bekannt sein und kann nicht verändert werden. Bei dynamischer Typisierung wird der Typ erst zur Laufzeit bestimmt.
Was ist der Unterschied zwischen starker und schwacher Typisierung?::Stark typisierte Sprachen erlauben keine Operationen zwischen inkompatiblen Typen ohne explizite Typkonversion. Schwach typisierte Sprachen erlauben implizite Typkonversionen, was zu unerwarteten Ergebnissen führen kann.