Warum Sie mehr Programmiersprachen lernen müssen

Bild

Von einem Übersetzer: Heute veröffentlichen wir für Sie einen Artikel des Entwicklers Akshat Giri , der seine Gedanken darüber teilt, warum es sich lohnt, immer mehr Programmiersprachen zu lernen.

Ich arbeite seit vier Jahren als Programmierer. Begann mit C #, entwickelte Spiele und wechselte dann zu Python und maschinellem Lernen. Dann habe ich JavaScript und TypeScript für das Frontend gelernt. Der nächste Schritt war die Entwicklung mobiler Anwendungen, daher habe ich mich mit Ionic, React und React Native befasst. Ich interessierte mich für das Backend und begann mit Go zu arbeiten. Wenig später wurden Dart, Java und PHP zur Liste meiner Sprachen und Frameworks hinzugefügt - alle drei wurden während meiner Arbeit auf Facebook benötigt.

Ich möchte nicht sagen, dass ich ein Experte in allen genannten Sprachen bin. Ich habe nur Erfahrung mit ihnen, mehr als mit anderen Sprachen und Frameworks. Warum fiel die Wahl auf sie? Nun, es schien mir, dass sie mehr bieten als die anderen, deshalb ist es so.

Skillbox empfiehlt: Zweijähriger Praktikumskurs "Ich bin ein PRO-Webentwickler . "

Wir erinnern Sie daran: Für alle Leser von „Habr“ - ein Rabatt von 10.000 Rubel bei der Anmeldung für einen Skillbox-Kurs mit dem Promo-Code „Habr“.



Aber warum rate ich Ihnen, mehr Sprachen zu lernen? Tatsache ist, dass Sie sich nicht einmal vorstellen können, was in ein paar Jahren dauern wird. Die Auswahl der richtigen Sprache oder des richtigen Frameworks kann bei der Lösung eines bestimmten Problems viel Zeit sparen.

Lösung für das erste Problem


Ich werde ein einfaches Beispiel geben. Vor einigen Monaten habe ich mich für Bluetooth-Kopfhörer entschieden. Bei AirPods angehalten. Ich habe viele andere ausprobiert, aber diese schienen mir so bequem wie möglich zu sein. Das Problem war, dass ich sie gleichzeitig mit einem Windows-Laptop und einem Android-Handy verwendete. Und wenn beide Geräte in der Nähe waren, waren die Kopfhörer mit dem Telefon verbunden, aber nicht mit dem Laptop. Daher musste ich sie manuell trennen und wieder verbinden. Täglich.

Das ist ziemlich anstrengend, und ich habe beschlossen, eine Taste zu erstellen, mit der das Problem gelöst werden kann, Kopfhörer bei Bedarf an einen Laptop anzuschließen.

Anfangs habe ich mich für Python entschieden, um dieses Problem zu lösen. Ich dachte, ich könnte leicht eine Bibliothek finden, mit der Sie Bluetooth-Geräte steuern können. Dies stellte sich als falsch heraus, es wurde keine gute Bibliothek gefunden.

Der nächste Schritt ist Node.js. Ich konnte eine JavaScript-Bibliothek finden, mit der die Bluetooth-Funktionen auf meinem Computer gesteuert werden konnten. Nachdem ich dieses Skript auf Node.js ausgeführt habe, habe ich das erreicht, was benötigt wird.
// App.js const device = new bluetooth.DeviceINQ(); const airpodsAddress = "18:81:0E:B2:6B:A6" const airpodsName = "Akshat's Airpods"; device.findSerialPortChannel(airpodsAddress, function (channel) { // make bluetooth connect to remote device bluetooth.connect(airpodsAddress, channel, function (err, connection) { if (err) return console.error(err); console.log('YAY! Airpods Connected'); // Don't need a communication stream between the two // so let's just exit the stream. setTimeout(() => process.exit(0), 5000); }); }); 

OK, aber jetzt brauchte ich eine Schaltfläche auf dem Bildschirm, mit der das Skript gestartet werden konnte. Am Ende habe ich beschlossen, es in der Windows-Taskleiste zu platzieren, damit es immer verfügbar ist. Ich habe ein anderes Skript erstellt, das mir bei der Ausführung dieser Aufgabe zu helfen schien. Aber nein, ich musste mich an Golang wenden. Er ermöglichte die Erstellung einer ausführbaren Datei, die wiederum das zuvor auf Node.js erstellte Skript ausführte.
 / main.go package main import ( "fmt" "os/exec" ) func main() { output, err := exec.Command("npm", "start").CombinedOutput() if err != nil { fmt.Println(err.Error()) } fmt.Println(string(output)) 

Es hat alles geklappt. Ich habe eine Verknüpfung für den Desktop erstellt und in die Taskleiste verschoben. Alles ist in Ordnung, alles funktioniert.



Ich dachte, dass ich in C # auch dieses Problem lösen könnte. Aber ich wollte Visual Studio und IDE wirklich nicht installieren.

Mein Beispiel zeigt, wie verschiedene Sprachen helfen, mit minimaler Zeit eine hybride Lösung für ein bestimmtes Problem zu finden. Es gibt Unmengen anderer Beispiele, aber der Punkt ist meiner Meinung nach klar.

Warum also andere Sprachen lernen?


Um ehrlich zu sein, ist das interessant. Außerdem erweitert es Ihren Horizont und bringt Sie aus der Komfortzone heraus (es verursacht keine Probleme, gibt aber einen Anstoß, den Wunsch, etwas Neues zu lernen).
Ein weiterer Grund ist, über die Fähigkeiten einer Sprache oder eines Frameworks hinauszugehen. Objektorientierte Sprachen sind in Ordnung, aber Sie sollten auch funktionale oder prozedurale Programmierung lernen.

Die erste Programmiersprache, die Sie lernen, ist die schwierigste. Die zweite wird höchstwahrscheinlich noch schwieriger erscheinen. Aber weiter wird das Studium neuer Produkte wie ein Spaziergang im Park erscheinen. Eine etwas andere Syntax, ein paar neue Dinge, und das war's. Darüber hinaus können Sie spezielle Bibliotheken und Frameworks bereits beherrschter Sprachen studieren.

Ein weiterer Grund, der meines Erachtens zum Erlernen anderer Sprachen führen kann, ist WASM. Mit Web Assembly können Sie die benötigte Sprache in einem Browser ausführen.

Wenn Sie ein JavaScript- oder Python-Programmierer sind, lohnt es sich, einfache Sprachen zu beherrschen. Sie können mit C ++ oder C beginnen, aber ich würde Golang raten. Damit können Sie alle Hochgeschwindigkeitsfunktionen von C ++ ohne die für die C-Familie charakteristischen Probleme nutzen.

Wenn Sie mit einfachen Sprachen arbeiten, versuchen Sie es mit JavaScript oder Python. Beide sind sehr beliebt und verbreitet. Beide können in Verbindung mit einfachen Sprachen verwendet werden. Sie können C ++ - Module für Node.js und Python schreiben.

Teilen Sie Ihre eigenen Erfahrungen in den Kommentaren mit: Welche Sprachen kennen Sie, was planen Sie zu lernen und warum?
Skillbox empfiehlt:

Source: https://habr.com/ru/post/de435414/


All Articles