Datei.wiki Q&A > A > Ist Das Erlernen Von C++ Im Gegensatz Zu Python Gut Geeignet, Um Zu Verstehen, Wie Ein Computer Code Verarbeitet?
Frage

Ist das Erlernen von C++ im Gegensatz zu Python gut geeignet, um zu verstehen, wie ein Computer Code verarbeitet?

Antworten
11/15/2021
Mendelson

Diese Frage ist ziemlich interessant.

Python wurde unter der Prämisse entwickelt, eine einfache und zugängliche Sprache zu sein. Es gibt viele Python-Konzepte, bei denen es um Vereinfachungen der Funktionsweise eines Computers geht. Software-Ingenieure nennen dies Abstraktion.

Zum Beispiel ist die Synchronisierung von Threads und die gleichzeitige Programmierung in Python ein Witz im Vergleich zu C oder Assembly.

Python hat vorgefertigte Lösungen für häufige Probleme. In dieser Hinsicht ist Python eine viel höhere Sprache als C/C++.

C wurde seinerseits als vereinfachte Notation von Assembly entwickelt. Assembly ist die Sprache, die der CPU am nächsten ist. Man könnte sagen, dass Assembly mehr oder weniger direkte Anweisungen an die CPU gibt.

C++ wurde in Anlehnung an C entwickelt, ist aber viel abstrakter. In der Tat sind die C++-Standards auf das Design der abstrakten Maschine zugeschnitten. Die abstrakte Maschine ist ein allgemeines Modell für jeden modernen Computer und ist Turing-komplett.

Die C++ Standardbibliothek ist ein Wunderwerk mit vorgefertigten Lösungen. Aber wenn man kreativ wird, kann man Low-Level-Programme mit C++ als Treiber entwerfen.

Der Hauptunterschied besteht darin, dass das Speichermodell von Python sich von dem der abstrakten Maschine unterscheidet. Das abstrakte Maschinenmodell ist identisch mit dem Speichermodell eines jeden modernen Computers.

Python ist eine interpretierte Sprache, d.h. ein Interpreter mit einer Basisumgebung liest den Code und führt ihn aus. C++ ist eine native Sprache, d. h. es gibt einen Compiler, der Ihren C++-Code in Einsen und Nullen umwandelt, die die CPU direkt versteht.

Da man in Python auf dem Interpreter und seinem Speichermodell und den Threads läuft, und da man in C direkt auf der CPU läuft; und in C++ auf der abstrakten Maschine, die zufällig auch die CPU ist, lautet die Antwort ja: C++ ist ein besserer Weg, um zu verstehen, wie Code läuft, als Python.

Es gibt Dinge in C++, die ein Kinderspiel sind, die in Python eine Sünde sind. Der Rohzugriff von C++ auf den Speicher ermöglicht es Ihnen zum Beispiel zu verstehen, wie die CPU Daten im Speicher verschiebt und interpretiert.

01/08/2022
Leanora

Absolut nicht! C++ oder C haben nichts mit Assembler zu tun, obwohl sie teurer sind als andere Sprachen, ist es wirklich eine andere Welt, sogar der Assembler einer x86-Architektur unterscheidet sich sehr von einem ARM, der normalerweise in Handys verwendet wird.

Ich war immer der Meinung, dass man Maschinencode / Assembler lernen muss, um zu verstehen, wie ein PC wirklich funktioniert, ich habe das im Jahr 85 mit dem Micro 6510 eines Commodore 64 gemacht, heutzutage wird an einigen Universitäten Maschinencode für diese alten Computer gelehrt, wie im Fall der Universität von Alicante, ich empfehle den Retroman-Kanal für Interessierte.
Professor Retroman

Beantworte die Frage
Was ist der Unterschied zwischen einem Computermonitor und einem modernen LED-Fernseher? :: Wie lange ist die Lebensdauer eines Computers?
Nützliche Links