Einführung

Einführung

Da wir in unserem ersten Teil dieses Artikels erwartet haben, dass Sie, der Leser, ein Programmierkenntnis haben, möchten wir Ihnen helfen. Die Wahl dieser Sprachen war aufgrund verschiedener Kriterien ziemlich schwierig, aber am Ende haben wir bei C ++, Perl und Python angehalten. Da Programmiersprachen auf viele Arten klassifiziert werden können (abhängig von Paradigma, Syntax oder Stil), haben wir nicht versucht, Sprachen zu finden, die in derselben Kategorie wie c sind. Stattdessen haben wir sie ausgewählt, da die oben genannten Sprachen in der Linux -Welt ziemlich beliebt sind, und erwähnen, was der Platz jeder Sprache im großen Schema ist, was sie im Allgemeinen benutzt und natürlich die Unterschiede zwischen ihnen und c. Dieser Artikel wird wie folgt strukturiert: Wir beginnen mit wichtigen Elementen jeder Sprache, z. So hoffen wir, Ihnen eine Vorstellung von der Sprache zu geben, bevor wir anfangen. Die Teile, aus denen dieser Artikel besteht.

Der Vergleich

Typen, Operatoren, Variablen

C++

C ++ wurde ursprünglich „C mit Klassen“ bezeichnet, was viel über seine Beziehung zu C aussagt. Es wird weithin als Superset von C (somit C ++ als Unary Increment Operator ++) angesehen, wodurch objektorientierte Programmierfunktionen eingeführt werden. Typen werden im Wesentlichen gleich verwendet, mit bool Einführung in C ++ für Boolesche Operationen. Grundsätzlich stammen die meisten von den OOP. Zum Beispiel hat C ++ Bedienerüberlastung, einen oop-spezifischen Term, was bedeutet, dass ein Bediener möglicherweise unterschiedliche Implementierungen hat, abhängig von den von ihm betriebenen Daten. In C ++ können Sie beispielsweise Folgendes tun:

 A << 2 

Wenn a eine Ganzzahl ist, wird dies eine bitgewiäre Operation an ihm erledigen. Diese Art von Verhalten ist einer der Gründe, warum C ++ dafür kritisiert wird, schlechte Programmierpraktiken zu ermöglichen. Variablen und Konstanten werden genauso deklariert wie in C.

Perl

Mit Perl ist es einfacher: Es gibt nur drei Datentypen. Dies sind Skalare, Arrays und Hashes oder assoziative Arrays. Skalare werden mit einem Dollar -Schild vorangestellt, Arrays sind mit einem @ vorangestellt und Hashes sind mit %s vorangestellt. Der Unterschied in Bezug auf Typen besteht darin, dass Perl eine dynamische Programmiersprache ist, während C schwachig ist, was bedeutet, dass Sie in C mit ordnungsgemäßen Variablenerklärungen zu tun haben, wie „diese Variable ist eine Ganzzahl“ oder „diese andere Variable ist ein Zeiger auf ein Float “. Die Unterschiede in Bezug auf arithmetische Operatoren sind nur so, dass Perl für die Exponentiation '**' hat, während C eine Funktion benötigt, um dies zu erreichen.

Python

Die variable Erklärung von Python ist kontextbasiert. Zum Beispiel möchten wir eine Zeichenfolge, eine Ganzzahl und einen Float deklarieren:

var1 = "String" var2 = 100 var3 = 100.98

Mit C wäre dies so gewesen

char* var1 = "String"; int var2 = 100; float var3 = 100.98;

C hat keinen String -Typ wie andere Sprachen.

Ablaufsteuerung

Alle vier hier beschriebenen Sprachen haben viele Dinge gemeinsam, wenn es um die Flusskontrolle geht. Zum Beispiel beim Starten eines Wenn Block, keiner erfordert ein endendes Keyword, wie fi in Bash oder Algol68. Apropos, ob Blöcke, die Syntax ist ähnlich. Wenn Sie also in C ++, Perl oder Python programmiert haben. Das Gleiche gilt für den Rest der Flusssteuerungsvorgänge: für, während, wechseln/fällen oder brechen/fortfahren. Wenn Sie sich an die Art und Weise gewöhnt haben, wie die drei Sprachen fließen, benötigen Sie einige Minuten, um sich an C zu gewöhnen. Einige Hauptunterschiede könnten sein: Perl hat mehr Keywords, um damit umzugehen als C, wie Wiederholen, zuletzt oder nächste. Python hat das passieren Schlüsselwort für… im Grunde nichts tun, aber es ist nützlich, wenn man eine leere Klasse braucht. Zum Beispiel:

Klasse Leer: passieren

Funktionen

Eine einfache Funktionserklärung in C wäre so:

int sum (int a, int b)  zurückkehren A + B; 

Dies wäre eine Funktion namens Sum, die eine Ganzzahl aus der Berechnung der Summe seiner Argumente zurückgibt, A Und B, Auch Ganzzahlen. Beachten Sie das Blöcke Das macht eine klare Abgrenzung darüber, wo der Körper der Funktion beginnt und wann sie endet. In Perl wird die Begriffsfunktion austauschbar mit Unterroutine verwendet. Sie können, wie in C. Sie müssen die verwenden Sub Schlüsselwort, um dem Perl -Interpreter mitzuteilen, was Sie tun möchten. In Python würde unser Summenbeispiel so aussehen:

def Summe (a, b): zurückkehren A + B

Sie haben vielleicht bemerkt, dass wir nichts über C gesagt haben++. In diesem Hinsicht gibt es in dieser Hinsicht keinen Unterschied zwischen C und C ++.

Zeiger und Arrays

Ein Zeiger ist eine Variable, die den Speicherort einer anderen Variablen enthält. Wie in C sind Zeiger und Arrays ziemlich eng zusammengebunden und bieten dem C ++ - Programmierer viele erweiterte Funktionen. Auch hier gibt es keinen wichtigen Unterschied zwischen den beiden. Perl hat Verweise das bietet die gleiche Funktionalität. Beispielsweise definiert dieses Code -Stück eine Variable namens Var und einen Verweis auf sie mit dem Namen Refvar:

$ var = 20; $ refvar = \ $ var;

In C hätten wir so etwas getan

int var; var = 20; int *refvar; Refvar = &var;

Perl erlaubt dem Programmierer wie Python nicht, eine direkte Speichermanipulation durchzuführen. Einige sehen dies als eine gute Sache, andere nicht. Python bietet CTYPES an, eine Bibliothek, die die Funktion pointer () für die Verwendung von Zeigern anbietet. Die Kurzgeschichte lautet: Python verwendet keine Zeiger. Die lange Geschichte ist, dass Pythons Weg zur Referenzvariablen, das nur nach Wert ist, anders ist als ein Programmierer, der bis c verwendet wird.

Wenn Sie Arrays auf C ++ oder Perl verwendet haben, ist das Konzept meistens das gleiche. Perl hat eine andere Syntax, aber wenn Sie bereits wissen, was ein Array ist, werden Sie in C in Ordnung sein. Python bietet die an Array Modul, das diese Funktionalität bietet, da es bereits Listen als Grundtyp enthält, außer dass Arrays restriktiver sind.

Strukturen

In C ist eine Struktur ein Datensatz, der einen festen, gekennzeichneten Satz von Objekten enthält, die alle in einen eingewickelt sind. Zum Beispiel:

Struktur Kunde int Account; Char *Name; Schwimmerbalance; ;

Wikipedia zitieren, “in C ++, a Struktur ist eine Klasse, die mit dem definiert ist Struktur Stichwort. Die Mitglieder und Basisklassen sind standardmäßig öffentlich öffentlich. Eine Klasse mit dem definiert Klasse Das Schlüsselwort hat standardmäßig private Mitglieder und Basisklassen. Dies ist der einzige Unterschied zwischen Strukturen und Klassen in C++.”. In Perl bis Version 5 waren Strukturen ein Problem (oder das Fehlen davon), aber jetzt gibt es da PERLDSC (Perl Data Structures Cookbook), verfügbar bei Perldoc.Org. In Python können Sie (fast) Tupel oder Wörterbücher dafür immer verwenden.

Einschließlich Dateien

Wie Sie im ersten Teil gesehen haben, verwendet in C man Precessor -Direktiven, um Definitionen aus anderen Dateien einzuschließen. Diese Funktionalität wird auch von C ++ mit derselben Syntax angeboten, außer dass Header -Dateien als $ name bezeichnet werden.HPP und dass Sie die Dateierweiterung nicht benötigen:

#enthalten 

iostream ist das c ++ äquivalent von stdio.H. In Perl haben wir das verwenden Schlüsselwort dafür und kann so verwendet werden:

verwenden Modul;

In Python ist das Äquivalent der Verwendung importieren, genauso verwendet wie in Perl, außer dass am Ende kein Semikolon erforderlich ist.

Andere Überlegungen

Viele von Ihnen haben festgestellt, dass alle für unseren Vergleich ausgewählten Sprachen objektorientiert sind, während C nicht ist. Dies ist kein unfairer Vergleich, denn wenn wir Forran oder Prolog als Vergleichsbedingungen ausgewählt hätten, besteht die Chancen, dass unser Artikel nicht sehr beliebt gewesen wäre, da viele Programmierer heute nicht sehr beliebt gewesen wären. Auf der anderen Seite haben wir dies als einen Weg betrachtet, um Ihre Füße nass zu machen, weil Gewohnheit Teil der menschlichen Natur ist und wenn Sie jemals einen oder mehrere dieser Sprachen verwendet haben, ist es für Sie einfacher, wenn Sie anfangen, C zu lernen,. Dieser Teil des Artikels ist also als helfende Hand gedacht, und wenn wir das geschafft haben, ist es in Ordnung, dass es in Ordnung ist.

C und c++

Einige von Ihnen fragen sich vielleicht: Wenn C ++ C so ähnlich ist, aber es ist komplexer und bietet mehr, warum sich mit C beschäftigen? Dies war ein Thema, das mehr besprochen wurde, als es hätte sein sollen, und wir werden versuchen, eine eigene Antwort zu geben. Zunächst ist C einfacher. K & R hat 266 Seiten, während „die C ++ - Programmiersprache“ des Schöpfers Bjarne Stroustrup 1090 hat. Sagte Nuff. Zweitens vorhandener Code. Unabhängig von Hardwarearchitektur, Betriebssystem oder Zweck ist C weit verbreitet und noch einige andere. Von OS -Kerneln bis zu GUI -Bibliotheken ist C da und hat keine Absicht, irgendwohin zu gehen. Das heißt nicht, dass C ++ von vielen Entwicklern nicht verwendet wird. Wir sagen nur, dass Sie früher oder später mit C-Code arbeiten oder eine von ihr beeinflusste Sprache verwenden müssen. Drittens, wenn Sie C und C ++ lernen möchten, sind Sie aufgrund seiner oben genannten Einfachheit besser damit, mit C zu beginnen, und denn sobald Sie die Grundlagen haben, sieht C ++ einfacher aus. Schließlich dreht sich alles um das richtige Werkzeug für den Job. Wenn Sie einen schnellen Code benötigen, die Fähigkeit, niedrigem Niveau und eine einfache Sprache zu gehen, gehen Sie mit C.

Abschluss

Nach diesem zweiten Teil dieses Artikels werden wir mit dem Lernen von C -Programmieren unter Linux beginnen, da wir glauben, dass zu viele einführende Teile keinen Sinn ergeben. Wir werden Ihnen aber gerne Ihnen dort helfen.

Hier ist, was Sie als nächstes erwarten können:

  • ICH. C Entwicklung unter Linux - Einführung
  • Ii. Vergleich zwischen C und anderen Programmiersprachen
  • III. Typen, Operatoren, Variablen
  • Iv. Ablaufsteuerung
  • V. Funktionen
  • Vi. Zeiger und Arrays
  • Vii. Strukturen
  • Viii. Grundlegende I/O
  • Ix. Codierungsstil und Empfehlungen
  • X. Ein Programm erstellen
  • Xi. Verpackung für Debian und Fedora
  • Xii. Ein Paket in den offiziellen Debian -Repositories erhalten

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Bester PDF -Leser für Linux
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Dinge zu installieren auf Ubuntu 22.04
  • So installieren Sie Adobe Acrobat Reader auf Ubuntu 22.04 Jammy…
  • Einführung in Vagrant
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Ubuntu 20.04 Leitfaden
  • Hung Linux System? Wie man zur Befehlszeile entkommt und…