[GO] Ich habe versucht herauszufinden, in welcher Sprache die Software geschrieben ist, um die ich mich immer kümmere

Als Denkmaterial für "Welche Sprache soll ich als nächstes lernen?" Habe ich die Sprachen aufgelistet, in denen vertraute Software geschrieben ist. Die Liste liegt ganz in meinem Ermessen und ich habe nicht die Absicht, dies zu tun. Die Perspektive ist näher an der Middleware als an der Anwendung. Eine Genreklassifizierung ist ebenfalls angemessen.

Genre Name Sprache
OS Linux Kernel C
OS Windows C++
RDBMS MySQL C/C++
RDBMS PostgreSQL C
WebServer Apache C
WebServer Nginx C
WebServer h2o C
KVS redis C
KVS memcached C
KVS tokyotyrant/tokyocabinet C
KVS kyototycoon C++
DB MongoDB C++
DB ElasticSearch Java
Logger Fluentd Ruby
Tool Embulk Java
CI Jenkins Java
PackageManager yum python
PackageManager apt python
PackageManager homebrew ruby
Firewall firewalld python
Browser GoogleChrome C++
ImageManipulation ImageMagick C
VCS git C
Language Perl C
Language PHP C
Language Ruby C
Language HHVM/Hack C++
Language go go
Language node/v8 C++
Tool Gnu coreutils C
Tool AWS CLI python
DevTool peco go
DevTool ghq go
DevTool Vagrant Ruby
ProccessManager supervisord Python
Provisioning Ansible Python
Provisioning Chef Ruby
Provisioning Berkshelf Ruby
Provisioning ServerSpec Ruby
Container Docker go
Container kubernetes go
Container rkt go

Impressionen der Auflistung

Was ist über jede Sprache zu denken?

(Ich habe nicht die Absicht, eine bestimmte Sprache zu entlassen) C Der größte Teil der vorhandenen Middleware besteht aus C, daher sind für die Fehlerbehebung und das Patchen Kenntnisse der C-Sprache und ihrer peripheren Tools (make, gdb, ldd usw.) erforderlich. Die meisten Skriptsprachenmodule, die Geschwindigkeit erfordern, sind in C implementiert. (Perl XS, PHP-Erweiterung, Ruby Gem) Es ist sehr wichtig, dass der Linux-Kernel in C-Sprache geschrieben ist, und dies scheint vorerst dasselbe zu sein.

C++ Nicht jeder verwendet MongoDB, node.js, HHVM usw. Wenn Sie also keine C ++ - Tools im Feld verwenden, können Sie möglicherweise ohne Studium durchgehen. Es ist wahrscheinlich, dass es in Zukunft durch Go and Rust ersetzt wird.

Java Ich kann mir Jenkins nur als das beliebteste Java-Tool vorstellen. Es wurde angenommen, dass es in der guten alten Sprache etwas veraltet ist, aber es scheint, dass Java 8 sein glitzerndes Gefühl wiedererlangt hat, so dass es allmählich zu Ende gehen kann.

Perl Ich glaube, ich habe heutzutage nicht viel über Perl-Tools gehört. In der Vergangenheit gab es ein Bild von Sabakan = Perl, aber in den letzten Jahren scheint Ruby / Go den Markt weggenommen zu haben. Das ist wahr.

PHP Es gibt fast kein Tool / Middleware von PHP. Es gibt viele Dinge wie PhpMyAdmin, Wordpress und "Anwendungen". PHP-Programmierer können nicht ohne das Erlernen anderer Sprachen auskommen, aber andere Sprachprogrammierer können ohne das Erlernen von PHP auskommen. Deshalb kann niemand PHP mit Rebuildfm schreiben.

Ruby Wenn Sie Infrastruktur als Code verwenden, müssen Sie in der Lage sein, ein wenig zu lesen und zu schreiben. Mit dem Aufkommen von Chef / Vagrant / Fluentd scheint es sich als Infrastruktursprache etabliert zu haben. Die einfache Schreibweise von DSL und die einfache Erstellung eines Plug-in-Mechanismus scheinen die entscheidenden Faktoren für die Einführung in Infrastruktursystemen gewesen zu sein.

Python Python ist jetzt die einzige Skriptsprache, die mit den wichtigsten Linux-Distributionen vorinstalliert ist. Es funktioniert als unbesungener Held in dem Teil nahe dem Kern des Betriebssystems wie yum / apt / firewalld. ~~, aber ich habe das Gefühl, dass die Anzahl der kürzlich von Python erstellten Tools abnimmt. ~~ ~~ Es gibt aws-cli, das weit verbreitet ist, aber ich denke, dass es in Zukunft durch die Go-Sprache ersetzt wird. ~~ ~~ Python kann möglicherweise ohne Studium auskommen. ~~

Ursprünglich in Europa und den Vereinigten Staaten weit verbreitet, gab es zahlreiche wissenschaftliche Berechnungsbibliotheken, aber mit dem starken Rückenwind des maschinellen Lernens scheint es in Zukunft wichtiger zu werden.

Go Viele nach 2014 geschriebene CLI-Tools werden von Go erstellt. Im CLI-Bereich gibt es eine Dynamik, die Ruby übertrifft. Zum Beispiel wurde der Befehl hub ursprünglich von Ruby erstellt, aber er wird durch die Tatsache symbolisiert, dass er ab Version 2 in der Sprache Go neu geschrieben wurde. Da es häufig in Containersystemen verwendet wird, ist es unvermeidlich, tiefer in die Containertechnologie einzutauchen.

Rust Es gibt ein Konzept / eine Möglichkeit, die die Sprachen C und C ++ ersetzt. Es ist nicht bekannt, wie weit die Macht in Zukunft expandieren wird.

Fazit

Geht es um C / Go / Ruby / Rust, das ich von nun an lernen sollte? (Es ist auch notwendig, JS / Java / Swift als Anwendungssprache separat zu lernen.)

Recommended Posts

Ich habe versucht herauszufinden, in welcher Sprache die Software geschrieben ist, um die ich mich immer kümmere
Ich habe versucht herauszufinden, ob ReDoS mit Python möglich ist
Ich habe versucht herauszufinden, was ich tun kann, weil das Schneiden bequem ist
Ich habe versucht, das Umfangsverhältnis mit 100 Millionen Stellen zu ermitteln
Ich habe Python verwendet, um mich über die Rollenauswahl der 51 "Yachten" in der Welt zu informieren.
So finden Sie heraus, ob "irgendwo" von pandas DataFrame einen Wert enthält
[Verarbeitung natürlicher Sprache] Ich habe versucht, die Bemerkungen jedes Mitglieds in der Slack-Community zu visualisieren
Ich habe versucht, den Trend der Anzahl der Schiffe in der Bucht von Tokio anhand von Satellitenbildern zu ermitteln.
Ich habe versucht, die Umrisse von Big Gorilla herauszufinden
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Ich habe versucht, die Zeit und die Zeit der C-Sprache zu veranschaulichen
Ich habe versucht, das Blackjack of Trump-Spiel mit Python zu implementieren
Ich habe versucht herauszufinden, ob m in dem sogenannten Bereichstyp oder Bereich wie n..m und Bereich (n, m) enthalten ist.
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Ich habe versucht, in 3 Jahren 5 Muster der Analysebasis zu erstellen
Python-Anfänger versuchten es herauszufinden
Ich habe versucht, Deep Learning zu implementieren, das nicht nur mit NumPy tiefgreifend ist
Ich habe versucht, die Version 2020 mit 100 Sprachverarbeitung zu lösen [Kapitel 3: Reguläre Ausdrücke 25-29]
Ich habe versucht, die Bewegungen von Wiire-Playern automatisch mit Software zu extrahieren
Ich habe versucht, einen Formatierer zu entwickeln, der Python-Protokolle in JSON ausgibt
Ich habe versucht, die optimale Route des Traumlandes durch (Quanten-) Tempern zu finden
Ich habe versucht, verschiedene Muster von Datumszeichenfolgen in pandas.to_datetime einzugeben
Den Namen der Methode, die ihn aufgerufen hat, finden Sie in der Python-Methode
Ich habe versucht, den Höhenwert von DTM in einem Diagramm anzuzeigen
Ich habe versucht, Trumps Kartenspiel in Python zu implementieren
Ich habe versucht, den Ortsnamen zu wecken, der in den Texten von Masashi Sada auf der Heatmap erscheint
Ich habe versucht, die Anzahl der mit dem Coronavirus infizierten Personen unter Berücksichtigung der Auswirkung des Verzichts auf das Ausgehen vorherzusagen
Ich habe versucht, die Informationen der ASPX-Site, die mit Selenium IDE ausgelagert wird, so programmlos wie möglich abzurufen
Ich habe versucht, PLSA in Python zu implementieren
Ich habe versucht, Permutation in Python zu implementieren
Ich habe versucht, PLSA in Python 2 zu implementieren
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, PPO in Python zu implementieren
Ich habe gawk verwendet, um den Maximalwert für NF herauszufinden.
So finden Sie heraus, welche Art von Datei in S3 in Python gespeichert ist
Ich habe versucht, eine Klasse zu erstellen, mit der Json in Python problemlos serialisiert werden kann
Ein Programmieranfänger versuchte, die Ausführungszeit des Sortierens usw. zu überprüfen.
Ich habe versucht, die Pferde vorherzusagen, die mit LightGBM unter den Top 3 sein werden
[Azure] Ich habe versucht, eine virtuelle Linux-Maschine mit Azure von Microsoft Learn zu erstellen
So ermitteln Sie den Koeffizienten der ungefähren Kurve, die in Python durch die Scheitelpunkte verläuft
Entsprechung des Ereignisses, dass das Ergebnis von form.is_valid () im Django2-System immer falsch ist
Ich habe versucht, die 2020-Version von 100 Sprachverarbeitungsproblemen zu lösen [Kapitel 1: Vorbereitungsbewegung 00-04]
Ich habe versucht, die 2020-Version von 100 Sprachverarbeitungsproblemen zu lösen [Kapitel 1: Vorbereitungsbewegung 05-09]
Ich habe versucht, OneHotEncoder zu erstellen, der häufig für die Datenanalyse verwendet wird, damit er den juckenden Ort erreicht.
Ich habe versucht, die Texte von GReeeen zu visualisieren, die ich in meiner Jugend verrückt gehört habe, aber nicht mehr gehört habe.