Heim > Artikel > Backend-Entwicklung > Fünf Programmiersprachen, die jeder Entwickler lernen sollte (Teil 1)
Es gibt viele allgemeine Programmiersprachen, in denen Programmierer Code schreiben, und die meisten Programmierer, die Unternehmenssoftware verwenden, verwenden normalerweise nur eine Programmiersprache, bevor sie in den Ruhestand gehen. Allerdings gibt es auch Programmierer, die die Möglichkeit haben, in ihrer täglichen Arbeit mehrere Programmiersprachen zu nutzen. Wenn ein Programmierer beispielsweise native Flatter-Module verwendet, besteht die Möglichkeit, Dart, Kotlin (oder Java), Objective-C (oder Swift), C/C++ usw. zu verwenden.
Die meisten Programmierer haben jahrzehntelang in einer Sprache gearbeitet, was ihre technischen Fähigkeiten einschränkt. Wir sehen oft viele .NET- und Java-Experten. Aber es ist selten, Programmierer zu sehen, die mehrere Sprachen beherrschen. Das Erlernen mehrerer Programmiersprachen bringt noch mehr Vorteile. Es ist jedoch keine kluge Entscheidung, jede gängige Programmiersprache zu lernen.
In dieser Story zeige ich dir fünf Programmiersprachen, die jeder Programmierer lernen sollte. Und veranschaulichen Sie anhand von Beispielen die Vorteile des Erlernens dieser Programmiersprachen.
Die C-Sprache ist die Grundsprache für fast alle zugrunde liegenden Softwarekomponenten. Die Abstraktion von C ist näher an der Hardware und C bietet dem Programmierer eine minimale Syntax (32 Schlüsselwörter reserviert). Im Vergleich zu anderen modernen, populären Programmiersprachen ähnelt die Syntax von C eher der Assemblersprache. Dadurch können C-Compiler C-Quellcode effizient in Maschinensprache umwandeln und leichte und extrem schnelle ausführbare Binärdateien erstellen.
C++ ist eine Erweiterung von C, sodass Sie C++-Funktionen verwenden können, die der C-Sprache fehlen (z. B. Klassen, Namespaces usw.). Das Erlernen von C/C++ hat für jeden Programmierer viele Vorteile. C/C++ zwingt Sie dazu, optimierten Code zu schreiben, da C/C++ keine automatische Speicherbereinigung bietet.
C verbessert Ihre Fähigkeiten zur Problemlösung und Ihre grundlegenden Informatikkenntnisse, da es keine vorgefertigten Datenstrukturen und keine Standardbibliothek mit vollem Funktionsumfang bereitstellt. Wenn Sie beispielsweise einen Stack in C benötigen, müssen Sie Ihren eigenen erstellen.
In ähnlicher Weise trägt das Erlernen von C/C++ dazu bei, Informatikkenntnisse und -fähigkeiten zu verbessern. Die folgende Geschichte erklärt, warum Programmierer zuerst C lernen sollten.
Das C-Sprachprogramm Miming Language wird immer noch häufig in hardwarebezogenen Softwareprojekten verwendet.
Aber Sprachen wie Java, C#, JavaScript, Go, Python, Ruby, PHP und Kotlin dominieren die moderne Softwareindustrie. Das liegt an ihrer:
menschenfreundlichen Syntax und Semantik. Voll funktionsfähige Standard-API.
Community-Unterstützung. Reichhaltiges Ökosystem an Frameworks und Bibliotheken.
Andererseits wird C von der modernen Community nicht oft verwendet – andere beliebte Sprachen bieten eine freundlichere, einfachere und flexiblere Umgebung als C. Ja, C ist die bessere Wahl für Hardware-Projekte, aber die meisten Entwickler arbeiten an Web- und Mobilprojekten.
Lassen Sie mich erklären, warum das Erlernen von C die beste Wahl ist.
Fast alle Programme bieten integrierte Methoden oder Bibliotheksmethoden zur Lösung von Codierungsproblemen, die logische Algorithmen erfordern. Wenn Sie beispielsweise bestimmte Elemente in ein zweites Array kopieren müssen, können Sie die integrierten Filtermethoden in JavaScript verwenden. Wenn Sie Java verwenden, können Sie die Filtermethode aus dem Paket java.util.stream verwenden. Im wahrsten Sinne des Wortes verfügt jede gängige Programmiersprache über eine integrierte oder Bibliotheksmethode zum Filtern von Arrays. Wenn Sie jedoch C verwenden, müssen Sie es selbst implementieren, da es in C keine integrierte Filtermethode oder Bibliotheksfiltermethode gibt.
Wenn Sie diese Szenen finden, stehen Sie vor einem Problem, das gelöst werden muss. Das Üben algorithmischer Probleme ist eine großartige Möglichkeit, ein guter Problemlöser zu werden. Wir bewältigen nicht immer einfache Aufgaben, die nur die Standardbibliotheken und integrierten Funktionen Ihrer bevorzugten Unternehmensprogrammiersprache erfordern. Wir beschäftigen uns häufig mit Aufgaben, bei denen es um Problemlösungsfähigkeiten geht. Wenn Sie also Ihren ersten Code in C schreiben, werden Sie ein besserer Problemlöser.
Außerdem verwenden Entwickler, die an kompetitiven Programmier-Hackathons teilnehmen, häufig C, um Probleme zu lösen.
Programmiersprachen wie Python, C# und Java sind sehr benutzerfreundliche Sprachen. Diese Sprachen sind jedoch sehr abstrakt von physischer Hardware. Mit anderen Worten: Sie können das Verhalten Ihrer Computerhardware erst erleben, wenn Sie mit der Programmierung in C beginnen. Moderne Programmiersprachen verbergen das gesamte Hardware-Erlebnis und bieten eine völlig neue Sandbox-Umgebung. In den meisten Fällen wird diese Sandbox-Umgebung mithilfe einer virtuellen Maschine erstellt.
Leider überspringen Entwickler wichtige Hardware-bezogene Themen wie Speicherverwaltung, Dateihandhabung und Codeoptimierung – weil sie nicht in C beginnen. Moderne Programmiersprachen übernehmen die Speicherzuweisung und -freigabe durch den Garbage Collector automatisch. In der Programmiersprache C hingegen verwalten Entwickler den Speicher, indem sie hochoptimierten Code schreiben.
Das Schreiben des ersten Codes in C beschert Ihnen eine unvergessliche Hardware-Reise, die jeder Informatiker erleben sollte.
Wenn eine Programmiersprache sehr menschenähnliche Abstraktionen bietet, wird eine bestimmte Programmiersprache weniger flexibel. Jede Standardbibliotheksmethode und integrierte Methode Ihrer bevorzugten Programmierbibliothek fungiert als hartcodierte Blackbox. Mit anderen Worten: Moderne Programmiersprachen verbergen Low-Level-Code und bieten Entwicklern saubere, aber begrenzte Schnittstellen. Bei modernen Programmiersprachen ist eine direkte dynamische Speicherzuweisung praktisch unmöglich. Gleichzeitig gibt Ihnen C echte Freiheit, indem es den gesamten Codezugriff auf niedriger Ebene offenlegt.
Der C-Compiler generiert extrem schnellen Assembler-Code. Daher motiviert Sie die C-Entwicklungsumgebung selbst, leistungsstarken Code zu schreiben. In C müssen wir Variablen sorgfältig deklarieren, Speicher zuweisen, Speicher bereinigen, auf Ressourcen zugreifen und Ressourcen freigeben. Wenn Sie mit C begonnen haben, verbrauchen Sie möglicherweise nicht zu viel Speicher, unnötige Ressourcen und falsche Datenstrukturen mit der Programmiersprache, die Sie derzeit verwenden.
Im Gegensatz zu modernen Programmiersprachen müssen Sie in C viele Codezeilen schreiben. Dies liegt daran, dass C einen Low-Level-Zugriff auf alles bietet, was Sie benötigen – es stellt Ihnen also keine hochabstrakte Standardbibliothek zur Verfügung. Wenn die Anzahl der Zeilen im Code zunimmt, nimmt auch die Komplexität des Codes zu. Daher müssen wir sauberen und selbsterklärenden Code schreiben, um überfüllten Code loszuwerden.
Das Schreiben von sauberem Code ist eine dringend benötigte Fähigkeit, wenn wir an Softwareprojekten auf Branchenebene arbeiten. Wenn wir an C-basierten Projekten gearbeitet haben, ist das Schreiben von sauberem Code tatsächlich ein Kinderspiel.
Mit der aktiven Entwicklung von C++-Projekten ist C zu einer Teilmenge von C++ geworden. C++ ist in der Tat eine moderne Programmiersprache mit einer voll ausgestatteten Standardbibliothek. Daher unterscheidet sich das Erlernen von C++ vom Erlernen von C. Es stehen jedoch weiterhin direkte Speicheroperationsfunktionen und Low-Level-Zugriffsfunktionen zur Verfügung. Fast alle modernen Programmiersprachen konkurrieren miteinander, indem sie neue Syntax, Semantik und Standardbibliotheksmethoden einführen. Sprachen wie Go erweitern jedoch nur die Standardbibliothek und Community-gesteuerte Bibliotheken.
Wenn Entwickler sofort in eine moderne Programmiersprache wie Python, JavaScript, C# oder Java einsteigen, verpassen sie die wertvollen Erfahrungen, die die Programmiersprache C bietet. Der Einstieg in die Programmierung in C ist eine großartige Möglichkeit, zu lernen, wie eine Programmiersprache mit Hardware interagiert.
Wählen Sie zuerst den schwierigen Weg mit der Sprache C. Es wird Ihnen helfen, ein Experte für Ihre bevorzugte Programmiersprache zu werden.
*Originallink: https://betterprogramming.pub/why-every-developer-should-start-programming-with-c-39b3a87392bf.
Bash ist eine Befehlssprache und ein Befehlszeileninterpreter, die für Unix-ähnliche Betriebssysteme entwickelt wurden. Das Bash-Interpreterprogramm ist auf fast allen Unix-ähnlichen Betriebssystemen vorinstalliert. Darüber hinaus verwenden viele GUI-Terminalsoftware häufig Bash als Standardbefehlsinterpreter. Daher können wir portable Bash-Skripte für verschiedene Unix-ähnliche Betriebssysteme schreiben.
Programmierer befolgen verschiedene Vorgehensweisen, um ihre tägliche Programmiereffizienz zu verbessern. Viele Programmierer schreiben oft ihre eigenen Bash-Skripte für sich wiederholende manuelle Prozesse. Ich habe beispielsweise ein einfaches Bash-Skript geschrieben, um die Ausgabe eines TypeScript-Projekts zu erstellen und zu kopieren. Das Erlernen von Bash ist zweifellos der erste Schritt zur Automatisierung des Lernprozesses. Prozessautomatisierung ist in der Tat eine Möglichkeit, die Produktivität zu steigern.
Bash unterstützt Prozesse nativ. Mit anderen Worten: Sie können ein anderes Programm ausführen, indem Sie einfach seinen Namen erwähnen. Daher können Sie schnell Automatisierungsskripte schreiben, um die Programmiereffizienz zu steigern. Die folgende Geschichte erklärt, wie man GUI-Elemente zu einem Bash-Skript hinzufügt.
Ein Bash-Skript besteht aus einer Reihe von Anweisungen, die in der Bash-Befehlssprache geschrieben sind und in einem Unix-Shell-Interpreter ausgeführt werden können. Wir verwenden Bash-Skripte, um verschiedene Aufgaben zu automatisieren, die bei manueller Ausführung natürlich zeitaufwändig wären. Aber wenn wir es mit modernen Computern vergleichen, sind Bash-Skripte altmodische Dinge, da die gesamte Interaktion mit dem Benutzer über die Befehlszeilenschnittstelle erfolgt. Wir wissen, dass einige Entwickler auffällige Logos und Farben verwenden, um wichtige Inhalte in der Konsolenoberfläche hervorzuheben. Wenn ein bestimmtes altes Bash-Skript von einer sehr technisch versierten Zielgruppe verwendet wird, ist das kein Problem. Aber wenn es von einem breiten Publikum genutzt wird, wäre eine benutzerfreundliche Interaktion natürlich eine gute Sache.
Tatsächlich können Sie GUI-basierte Eingabe-/Ausgabekomponenten (Graphical User Interface) in Ihr nächstes Bash-Skript einbinden, indem Sie das Zenity-Befehlszeilentool verwenden, das uns bei der Anzeige von GTK-Dialogfeldern hilft. Darüber hinaus können native GUI-Benachrichtigungen mit dem Befehlszeilentool notify-send angezeigt werden. Diese beiden Tools sind normalerweise in gängigen Linux-Distributionen enthalten, sodass keinerlei Vorinstallation erforderlich ist.
Natürlich ist die Verwendung eines nativen Meldungsfelds, um den Abschluss der Benutzeraufgabe anzuzeigen, besser als das Drucken von Rohtext in der Konsole. Mit Zenity ist es einfach, Meldungsfelder für Fehler, Informationen, Probleme und Warnungen zu generieren.
Informationsmeldungsfeld: zenity --info.
Warnmeldungsfeld: zenity --info.
Fehlermeldungsfeld: zenity --error.
Fehlermeldungsfeld: zenity --question.
Eine Nachricht vom Typ Frage kann verwendet werden, wenn eine Reihe von Anweisungen mit der Erlaubnis des Benutzers ausgeführt werden müssen. Löschen Sie beispielsweise Dateien von der Festplatte. Dies kann durch die Verwendung einer einfachen if-Bedingung oder $? erfolgen. Eine spezielle Variable, die den letzten Rückgabewert speichert.
Benachrichtigungen eignen sich hervorragend zum Anzeigen des Status lang laufender Batch-Anweisungen. Dies ist sehr wichtig, damit Benutzer Benachrichtigungen erhalten, auch wenn sie gerade einer anderen Arbeit nachgehen, anstatt auf die Konsole zu schauen, um zu sehen, was gerade passiert. Native Benachrichtigungen können einfach mit dem Befehlszeilentool notify send generiert werden.
Betrachten Sie das einfache Beispiel unten...
Zenity hat auch die Möglichkeit, Benachrichtigungen zu senden, aber das Senden von Benachrichtigungen gibt uns mehr Freiheit bei der Anpassung.
Zenity bietet eine gute Unterstützung beim Sammeln von Benutzereingaben durch die Bereitstellung verschiedener Eingabeelemente. Es verfügt über die folgenden Arten von Eingabefeldern.
Kalender-Eingabefeld zenity --calendar.
Dies ist eine bessere Möglichkeit, das vom Benutzer eingegebene Datum zu erfassen, anstatt den Benutzer aufzufordern, das erforderliche Datum im Format JJJJ-MM-TT über die Konsole einzugeben.
String-Eingabefeld zenity --calendar.
Wir verwenden normalerweise den Lesebefehl, um eine Zeichenfolgeneingabe von der Konsole zu erhalten. Die Benutzerfreundlichkeit von Bash-Skripten für technisch nicht versierte Personen kann durch die Bereitstellung eines GUI-Textfelds verbessert werden, das auch gängige Tastenanschläge (Pos1-/Ende-Tasten usw.) und einfache Funktionen zum Kopieren und Einfügen akzeptiert.
Mit dem sehr ähnlichen zenity --password kann die geheime Zeichenfolge eines Benutzers erfasst werden, beispielsweise ein Passwort oder eine PIN. Darüber hinaus können Sie über die Passworteingabe das Feld „Benutzername“ aktivieren. Dann werden der Benutzername und das Passwort, getrennt durch das Zeichen |, zurückgegeben.
Dateiauswahldialog zenity --file-selection.
Der native Dialog zum Speichern/Öffnen wird reibungslos angezeigt. Ich verwende diese Funktion auch in Neutralinojs.
Wenn wir normale Konsoleneingaben verwenden, um den Benutzer nach einigen Auswahlmöglichkeiten zu fragen, können wir mehrere verkürzte Tasteneingaben für die gewünschten Auswahlmöglichkeiten des Benutzers implementieren. Beispielsweise wird der Benutzer aufgefordert, den Buchstaben A einzugeben, um eine Option zu akzeptieren, andererseits wird der Benutzer aufgefordert, den Buchstaben B einzugeben, um eine andere Option zu aktivieren. Aus Benutzersicht kann dieser Ansatz durch die Anzeige einer GUI-basierten Listenauswahl leicht verbessert werden.
Angenommen, Sie erstellen ein Installationsskript, in dem Sie fragen müssen, welches Hilfs-Plugin für die Zwei-Faktor-Authentifizierung mit dem Hauptsoftwareprogramm installiert werden muss.
Wie oben erwähnt, gibt es mehrere GUI-Eingabeelemente, die mit Bash-Skripten verwendet werden können, anstatt ständig Rohtext zu verwenden. Darüber hinaus zeige ich Ihnen ein fortgeschritteneres Beispiel, das mit diesen nativen GUI-Elementen implementiert wurde.
*Originallink: https://medium.com/swlh/how-to-modernize-your-bash-scripts-by-adding-gui-cba613a34cb7.
Das obige ist der detaillierte Inhalt vonFünf Programmiersprachen, die jeder Entwickler lernen sollte (Teil 1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!