Heim  >  Artikel  >  Backend-Entwicklung  >  Die C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?

Die C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?

php是最好的语言
php是最好的语言Original
2018-08-01 16:39:591918Durchsuche

Die erste Sprache, die ich im College gelernt habe, war die Sprache C. Jeder, der die Sprache beruflich verwenden kann, sollte die Sprache C gelernt haben Das ist natürlich nicht der Fall. Viele Programmierer, die ich kenne, beschweren sich darüber, wie schwierig es ist, C zu lernen. Vielleicht ist die Syntax der C-Sprache auch sehr einfach Für den Einstieg geeignet. Wenn es jedoch in der Entwicklung verwendet wird, wird es in diesem Artikel ausführlich vorgestellt. Apache PHP MySQL

beginnen!

Die C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?

Basiswert == Okay?

Die C-Sprache bietet Operationen auf niedriger Ebene, wie z. B. Zeiger. Aber der größte Unterschied zwischen der C-Sprache und C++ besteht darin, dass die C-Sprache Zeiger nicht vermeiden kann, während C++ dies durch die Verwendung von STL und Smart-Pointer-Bibliotheken vollständig vermeidet. Mit anderen Worten, Zeiger in anderen Sprachen sind nur Typen, und Zeiger in der Sprache C sind Zeiger. Ich habe immer geglaubt, dass es für Anfänger ein Tabu ist, zu früh mit Zeigern in Berührung zu kommen. Anfänger müssen unterhaltsame Anwendungen erstellen, die sofortiges Feedback generieren, anstatt sich in Computersysteme zu vertiefen, die ihr Selbstvertrauen nur untergraben. Anfänger sollten sich auf die Codelogik konzentrieren und alles ausblenden, was mit der darunter liegenden Ebene zu tun hat. Lassen Sie uns eine Analogie verwenden, wenn ich Ihnen das periodische Gesetz der Elemente und das VSEPR-Modell beibringen würde, als Sie gerade Chemie lernten. Wären Sie interessiert?

Das Offenlegen der darunter liegenden Schicht ist auch aus einer anderen Perspektive schädlich, da dies eine manuelle Verwaltung des Speichers im Heap erfordert. Bei Computern geht es um einen Kompromiss. Man kann sagen, dass diese Methode eine hohe Ausführungseffizienz aufweist, aber in den meisten Fällen ist es falsch, übermäßig auf die Ausführungseffizienz zu achten und die Entwicklungseffizienz zu ignorieren. Die manuelle Speicherverwaltung ist eine Angelegenheit für erfahrene Programmierer. Wer den Speicher nicht verwalten kann, sollte sich ausschließlich auf die Funktionen der Sprache verlassen. Wenn Ihr Programm sonst in drei Tagen eine Nullzeiger-Ausnahme und in fünf Tagen einen Speicherverlust hat ? Aufleuchten? Daher ist die C-Sprache, egal aus welcher Sicht, nicht für den Einstieg geeignet.

Die C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?

Der Herausgeber empfiehlt einen Ort mit einer tollen Lernatmosphäre, C/C++ Exchange Penguin Rock: 341636727! Es eignet sich für Studenten und Berufseinsteiger, die sich beruflich verändern und über dieses Programm einen Job finden möchten. Es gibt viele Lernmaterialien im Rock, Experten beantworten Kommunikationsfragen und es gibt jeden Abend kostenlose Live-Kurse

Es gibt auch die Ansicht, dass nur die C-Sprache auf den Stapel zugreifen kann und Heap-Modelle. Es liegt mir sehr am Herzen, Ihnen mitzuteilen, dass alle nicht-skriptkompilierten Sprachen wie C++ und Swift sowie verwaltete Sprachen wie C# und Java Zugriff auf das Stack- und Heap-Modell haben können Automatischer Speicherverwaltungsmechanismus. Letzterer verwendet den Heap viel häufiger als C. Skriptsprachen verfügen auch über eigene variable Containermodelle, beispielsweise zval von PHP. Diese Schuld sollte nicht auf Programmiersprachen, sondern auf heimischen Schrottlehrbüchern lasten. Es ist auch ersichtlich, dass das Stapelmodell der C-Sprache nicht universell anwendbar ist. Wenn Sie es auf andere Sprachen anwenden, funktioniert es möglicherweise nicht. Aber einige Leute bestehen darauf, es als Grundlage für das Erlernen anderer Programmiersprachen zu verwenden, was wirklich lächerlich ist.

Der Preis der Einfachheit

Die C-Sprache bietet keine Kapselung und Abstraktion auf hoher Ebene einiger gemeinsamer Komponenten. Wenn Sie beispielsweise eine Hash-Tabelle verwenden, müssen Sie selbst eine erstellen oder online suchen, um zu sehen, ob es vorgefertigte Codes gibt. Dies ist für Entwickler sehr unfreundlich. Da es so etwas in der C-Sprachstandardbibliothek nicht gibt, wird es beim Lernen überhaupt nicht erwähnt. Dies hat dazu geführt, dass viele Leute nicht einmal wissen, dass so etwas existiert, und sie können nur starren, wenn sie auf Probleme stoßen. Die einzigen von der C-Sprache unterstützten Container sind native Arrays, und Zeichenfolgen werden mithilfe nativer Zeichenarrays implementiert, sodass die Verarbeitung von Zeichenfolgen sehr, sehr schwach ist. Wenn Sie einen Code für die Zeichenfolgenverkettung schreiben möchten, benötigt er eine Zeile in Java und mehrere Zeilen in der Sprache C. Dies ist der Preis für die „Einfachheit“ der C-Sprache.

Die Einfachheit der C-Sprache ist genau das Ergebnis des Weglassens der nativen Unterstützung von OO. Ich habe oben die native Unterstützung erwähnt, weil die Sprache C immer noch OO mithilfe von Kombinationen implementieren kann, z. B. Vererbung mithilfe von Kombinationen, virtuelle Funktionen mithilfe von Zeigerfunktionsmitgliedern usw. In Bezug auf OO ist die C-Sprache viel schwieriger zu implementieren als C++. Ein Schlüsselwort in C++ entspricht einigen Codezeilen in der C-Sprache. Wie kann man es als einfach bezeichnen? Unabhängig davon, ob OO gut oder schlecht ist, ist es mittlerweile ein gängiges Sprachparadigma in der Branche und spielt genau wie Englisch in natürlicher Sprache eine entscheidende Rolle. Wenn Sie sich nicht damit in Verbindung setzen, werden Sie in Zukunft bei der Jobsuche benachteiligt sein. Aber ist OO wirklich kompliziert? Wenn Sie ein Java-Buch lesen, werden Sie höchstens zwei Kapitel damit verbringen, diese Dinge vorzustellen, eines über Klassen und das andere über Schnittstellen. Andere Sprachen, die nicht so OO sind, verbringen einfach ein Kapitel, nur um Ihnen zu sagen, dass es eine Klasse gibt, und diese Länge entspricht fast der Struktur und Aufzählung im C-Sprach-Tutorial.

Die „Einfachheit“ der C-Sprache bedeutet, dass Sie in der tatsächlichen Entwicklung mehr manuelle Vorgänge anstelle eines Compilers ausführen müssen. Ich denke, Gott ist fair. Wenn er anderen Sprachen mehr Sprachfunktionen gibt, wird er ihnen auch eine höhere Entwicklungseffizienz verleihen.

Die C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?

Sprechen wir über die Standardbibliothek

Der Grund, warum das C-Sprachbuch dünn ist, liegt nicht darin, dass es keine OO-Dinge gibt , aber der Standardbibliothek fehlen einige moderne Komponenten, diese Dinge sind alle in Posix. Über C-Sprache ohne Posix-API zu sprechen, ist nur ein Rowdy. Es gibt keinen Mangel an gemeinsamen Komponenten oder Einrichtungen, wenn es um die C-Sprache geht. Aufgrund der modernen Programmausführungsumgebung und -anforderungen kann man ohne diese Dinge nichts schreiben. Von den fünf großen Bibliotheken moderner Programmiersprachen (Strings, Container, IO, Threads und Netzwerke) fehlen in der Sprache C nur zwei. Was die beiden letztgenannten betrifft, müssen C-Sprachentwickler die Posix-API verwenden und dann das API-Inkompatibilitätsproblem lösen. Die Vorteile der C-Sprachstandardbibliothek werden ohne Posix zur Hälfte deaktiviert. Und wer Posix verstehen will, muss „apue“ lesen. Wenn Sie mir sagen, dass die C-Sprache einfach ist, sagen Sie mir, dass sie einfach ist, nachdem Sie das dicke Buch „Apue“ gelesen haben.

Kein Nachtrag

Wir lernen eine Programmiersprache nicht, um uns auf Prüfungen vorzubereiten, sondern um tatsächlich Dinge zu machen. Eine Sprache wie C, die keine Container, keine Strings, keine Vorlagen, keine Ausnahmen und kein RAII hat. Sie stellt alle ihre eigenen Räder her und verfügt über keine Funktionen moderner Programmiersprachen. Sie ist äußerst kompliziert, wenn sie tatsächlich verwendet wird. Leider habe ich keine Zeit, die Implementierung der einzelnen Funktionen oder Klassen in der C-Sprache zu untersuchen. Ich verwende dennoch gerne kürzeren Code, um meine Logik auszudrücken.

Ende:

Nachdem Sie dies gelesen haben, können Sie sehen, wo einfach ist? Ist es einfach, Spielzeugprogramme zu schreiben? Wie auch immer, ich denke, es sieht sehr kompliziert aus, nicht so, wie es aussah, als ich auf dem College war. Vielleicht habe ich damals eine falsche C-Sprache gelernt.

Verwandte Artikel:

10 C-Sprachressourcen, die Sie zu einem besseren Programmierer machen können

C-Sprache 10 Ein klassischer Kleiner Programm

Ähnliche Videos:

C-Sprach-Tutorial

Das obige ist der detaillierte Inhalt vonDie C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn