Wie funktionieren Programmiersprachen??

10 Antworten

Die Programmiersprache ist nicht für den Computer, sondern für den Programmierer.

Mit Hilfe der Programmiersprache kann der Programmierer relativ einfach Algorithmen formulieren, später kontrollieren und auch wieder ändern.

Damit der Computer damit etwas anfangen kann wird die Programmiersprache entweder mit einem Compiler oder Interpreter in die Maschinensprache des Computers übersetzt. Für Dich sind das nur noch sinnlose Buchstaben und Zahlen, aber für den Computer sind es die Anweisungen die er versteht.

Ein Compiler übersetzt dabei z.B. das C-Programm komplett in das Ausführbare Format (bei Windows eine Datei mit der Endung EXE).

Ein Interpreter übersetzt das Programm Zeile für Zeile zur Laufzeit des Programms. Das ist recht langsam, ermöglicht aber Anfängern sich auf einfache Weise in die Programmierung einzuarbeiten (z.B. Basic Interpreter).

Woher ich das weiß:Berufserfahrung

Du Schreibst ein Programm in Programmiersprache, mit den jeweiligen befehlen.

Ein Compiler "übersetzt" die Programmiersprache in einen Binärcode, welchen der Pc versteht und ausführen kann

Woher ich das weiß:Berufserfahrung – Jahrelange Berufserfahrung
evermore90  01.06.2021, 14:10

Genau. Viel schöner formuliert als bei meinem beitrag

1

Hey natürlich basieren alle Programmiersprachen auf einer anderen Programmiersprache. Ein Beispiel wäre hier Python, welches auf C basiert. Selbiges gilt für JavaScript (die V8 Engine).

C selber wurde als Sprache für den Unix Kernel entwickelt und in der Assembler Sprache geschrieben. Von dieser gibt es hunderte verschiedene Varianten (bspw. x86 Assembler). Die meisten wurden in Maschinensprache (ML) programmiert.

Maschinensprache selber sind eigentlich nur Hexadezimalzahlen, die einfach ins Binärsystem, also 0 und 1 umgewandelt werden.

Wenn man jetzt also z.B. Python schreibt, interpretiert ein in C geschriebenes Programm das und führt das aus.

Es gibt quasi je nach Sprache verschiedene Layer die Anweisungen übersetzen, optimieren oder ausführen.

Grob unterteilen kann man das in Source Code, also Code den ein Mensch schreibt, Bytecode, also irgendein Binärformat welches vom Computer gelesen wird und nativer Byte/Maschinencode der direkt vom Prozessor ausgeführt wird.

Des weiteren gibt es verschiedene Konzepte zur Übersetzung, so gibt es ahead of time compilation, dort kompilierst du den Code bevor er ausgeführt wird und interpretierter und "just in time" kompilierter Code der erst kurz vor oder während dem ausführen von einem Programm in Maschinencode übersetzt wird.

Bei manchen Sprachen gibt es zusätzliche Layer wie bei Java, welches erst in einen Java spezifischen Bytecode kompiliert wird welcher dann beim ausführen noch mal in Maschinencode übersetzt wird, aber am Ende hast du immer Plattformspezifischer Code der von der CPU ausgeführt wird.

In der CPU selber gibt es aber eventuell sogar selber noch low level Code der komplexe Instructions weiter verarbeitet. Aber da bist du halt schon in der CPU drinnen.

An sich ist die Frage zu umfangreich um richtig beantwortet zu werden aber die Themen nach denen du vermutlich suchen möchtest wären Compiler, Interpreter, Bytecode und Assembly. Ich bin sicher wenn du die Themen auf Wikipedia anschaust wirst du das schon besser verstehen.

Woher ich das weiß:Berufserfahrung – Software Entwickler / Devops

Das weiß der im ersten Moment nicht.

Willst du Java Programmieren musst du dir Java auf den PC laden,

für Python Python und für C glaube ich ma Visual Studio weiß aber net genau.

Sobald du folgendes Installiert hast kannst du dir ein Python Programm erstellen und der PC kann es ausführen da er die Sprache installiert hat.

evermore90  01.06.2021, 14:09

Auch richtig. Du kannst dennoch command öffnen und dort eingaben in maschienenaher sprache tätigen. Was du meinst sind ja die hochsprachen. Hab mich damit aber seit 2013 nicht mehr beschäftigt. Kann auch falsch sein.

0
NivenMusics  01.06.2021, 14:11
@evermore90

Ja klar kann mann noch über die CMD mit der Basis Programmiersprache Arbeiten diese wird aber zumindest von mir und meinem Bekanntenkreis nicht genutzt da bringt mir diese eigentlich nie was ich mache sowieso alles über die Python CMD

0