Über diesen Artikel
Auf der anderen Seite, wenn ich Python sagte! Python!
Während einer Lernsitzung wurde ich gebeten, über Python zu sprechen, da dies keine Rolle spielt, und ich fasste das Material zusammen.
Es ist mein erstes Mal, dass ich einen langen Blog schreibe, daher tut mir die Verbindung von Sätzen leid.
Warum wolltest du Python machen?
Ich mache Java seit ungefähr 15 Jahren und habe mir Sorgen gemacht, dass es in Bezug auf die Umgebung und die Erstellungsmethode in Java einige Zeit dauern wird.
Da ich mich im Auftrag eines kleinen Unternehmens weiterentwickeln möchte, muss ich es schnell und mit geringem Budget schaffen.
Ich fand es nicht effizient, nur die Build-Umgebung vorzubereiten und angemessene Kosten zu verwenden.
Es macht keinen Sinn, alles in Java zu schreiben
Wir Ingenieure versuchen, das vorliegende Problem mit den Methoden zu lösen, die wir können.
Dies wird einen großen Einfluss auf die Auswahl einer Programmiersprache haben.
Wir versuchen, nicht nur umfangreiche Systemkonstruktionen, sondern auch einfache Funktionen in die vorhandene Entwicklungsumgebung und die uns bekannten Sprachen zu implementieren.
Sicherlich ist es rational, und jetzt, da es viele Java-Ingenieure gibt, ist es einfach, Ingenieure zu beschaffen und aufgrund der einheitlichen Technologie leicht zu warten.
Aufgrund der statischen Typisierung kann die Reduzierung von Laufzeitfehlern so weit wie möglich einer der Gründe sein, warum es in großen Systemen verwendet wird.
Aber was ist mit Java, nur weil Sie es jetzt schreiben können?
Sollte Ihr System in Java gebaut sein, weil Sie es schreiben können?
Soll ich noch in Java schreiben? (Was ich Java hasse)
Entwicklungsumgebung ist kompliziert
Es gibt Ameisen-, Maven-, Gradle- und andere Build-Hilfsmittel, aber je größer das System, desto komplizierter wird es mit esoterischen Definitionsdateien.
Ich verstehe den Mechanismus für die lose Kupplung, aber je lockerer die Kupplung, desto komplizierter wird sie.
Ich mache das seit über einem Dutzend Jahren und ich kann sehen, dass es jetzt bequemer ist als die Blütezeit von Struts.
Aber es ist nicht leicht für jeden im Projekt zu verstehen.
schwer
Für Webanwendungen Bei der Bereitstellung auf einem Anwendungsserver wie Tomcat oder Weblogic sind die abhängigen Bibliotheken alle Jars und Wars, die sich im Speicher befinden.
Wenn Sie einen Stapel implementieren, der in Java parallel ausgeführt wird, ist es schwierig, ihn als einzelnen Prozess auszuführen.
Wenn Sie für jeden Prozess Speicher in Gigabyte-Größe verwenden, müssen Sie ihn auch im Stapel auf dem Anwendungsserver ablegen.
In einem großen System, das parallel ausgeführt wird, wäre es in der Realität schwierig, Speicher zu sparen, indem die Abhängigkeiten für jeden Stapel berücksichtigt und die JAR-Abhängigkeit durch Ausführen verringert werden.
Es braucht Zeit, um den Betrieb zu überprüfen
Das Erstellen und Bereitstellen dauert nur einige Zeit, bis ein Ort festgelegt ist.
Viele Ingenieure erstellen und überprüfen den Betrieb wiederholt, wenn sie die Funktion implementieren.
Es ist ziemlich viel Arbeit, Builds zu erstellen und für einige Sekunden bis einige zehn Sekunden bereitzustellen.
Es ist eine Schande, dass es wegen der Wartezeit viel Arbeit kostet.
Es ist auch stressig für Ingenieure, sich Zeit zu nehmen.
Bereitstellung Die Bereitstellung kann etwas schneller erfolgen, befindet sich jedoch nicht im selben Zustand wie zum Zeitpunkt der Veröffentlichung, sodass ein weiteres Problem auf Sie wartet.
Erwartungen an eine Skriptsprache
Ich erinnerte mich, dass ich bei der Entwicklung eines Systems mit PHP mit hoher Geschwindigkeit debuggen konnte.
Ich wünschte, ich könnte eine Skriptsprache reibungsloser entwickeln. Das war der Grund, warum ich das dachte.
Daher habe ich die zu vergleichenden Sprachen eingegrenzt.
- PHP (Skriptsprache)
- JavaScript (Skriptsprache)
- Python (Skriptsprache)
- Ruby (Skriptsprache)
Funktionen jeder Programmiersprache (aus Sicht des Java-Shops)
Java
- Viel Arbeit (jetzt).
- Es gibt viele große Projekte.
- Ich kann der Abordnung nicht entkommen.
- Junge Leute meiden Java.
- Wird die Anzahl junger Java-Ingenieure in Zukunft sinken?
- Schwierig, interne Humanressourcen zu entwickeln.
- Ich mag keine Paketverwaltungstools.
- ant, maven, gradle
- Soll ich jEnv verwenden?
- Problematisches Debuggen
- Erstellen und Bereitstellen von Kriegen nacheinander
- Bereitstellung Die Bereitstellung ist jedoch in Ordnung.
PHP
Es ist nicht schlecht. Aber. .. Es ist ein Bild einer Erweiterung einer Webseite.
Ich möchte es nur für die HTML-Generierung verwenden.
PHP: Es ist ein Hypertext-Präprozessor, nicht wahr?
Es ist nicht schlecht. ..
<?php
//Diese Art des Einschließens scheint eine Voraussetzung für das Mischen von HTML und Logik zu sein und reagiert ein wenig.
?>
- Beim Schreiben einer Klasse erscheint es seltsam, eine Klasse in JSP zu deklarieren.
- Es fühlt sich seltsam an, dass das Scriptlet wichtig ist.
- Es gibt viele Schreibstile, in denen Tags und Verarbeitung gemischt werden.
- Ein Bild mit wenig Bewusstsein, um schön zu schreiben (egoistisch).
- Stellen Sie sich vor, dass es viele (egoistische) Ingenieure gibt, die sich nur bewegen müssen.
- Für Anfänger scheint es einfach zu sein, sich vorzustellen, aber ehrlich gesagt ist es schwer zu schreiben.
- Aus irgendeinem Grund ist der Stückpreis niedrig (obwohl sich nicht viel ändert)
- Da der Stückpreis niedrig ist, muss er schnell hergestellt werden, damit die Qualität niedrig ist.
- Verwenden Sie eine Template-Engine?
- Ich denke, Leute mit hohem Bewusstsein und dem Feld nutzen es
(Bonus) Warum PHP gut läuft
Es gibt die stärkste Bibliothek in der CMS-Welt namens WordPress
JavaScript
Anfangs war es der vielversprechendste Kandidat. Ist es ein Fluch des Websystems? Es ist JavaScript, aber wenn Sie es beherrschen, können Sie endlich ein Websystem in einer Sprache erstellen. Ich möchte jedoch nicht schreiben oder lesen.
- Eine Sprache, die beim Erstellen von Webanwendungen fast unverzichtbar ist.
- Wurde früher für die Front-End-Verarbeitung verwendet.
- Um ehrlich zu sein, ist es schwer zu lesen und ich möchte nicht schreiben.
- Es ist wunderbar, die Sprache zwischen dem Frontend und dem Backend mithilfe von Node.js vereinheitlichen zu können.
- Gut in der Verarbeitung von harten E / A mit einer großen Anzahl von Anforderungen
- 1 Ich bin nicht gut in der Verarbeitung, bei der für jede Anforderung eine schwere CPU verwendet wird
- Sie können auch Fensteranwendungen mit Electron erstellen
- Mit Chromium und Node.js können Sie Windows-Anwendungen mithilfe der Webtechnologie erstellen
- Typisches Beispiel: Atom (Texteditor)
Python
Es ist gerade mein Favorit. Mir gefällt, wie einfach es ist zu lesen.
Programme werden überwiegend gelesen und nicht geschrieben.
Abgesehen davon mag ich die Tatsache, dass es stark im maschinellen Lernen ist, das jetzt populär ist.
- Leicht zu lesen (leicht zu pflegen)
- Gut im maschinellen Lernen.
- Ausgewählt aufgrund des Programmierlernens
- Im Bildungsbereich Python nach dem Abschluss von Scratch
- Linux-Standard
- centos(python 2.7)
- Einfach, eine kleine Charge zu machen
- Weltweite Popularität
- Nur Tokio-Projekte im Jahr 2018 (voraussichtlich 2019)
- Kein Schalter (das ist ein wenig überraschend)
- Schwache Zugriffsbeschränkungen
- nicht geschützt
- Auf Private kann auch durch Schreiben des Klassennamens zugegriffen werden
Ruby
Ich habe Ruby als Kandidaten für Python in Betracht gezogen.
Je mehr ich nachforschte, desto subtiler schien es.
- Rails ist wirklich unglaublich
- Mehrzeilige Kommentare sind etwas subtil
=begin
Das wäre Nai ...
ich dachte
Ist es möglich, dies mit einer Tastenkombination in der IDE zu tun?
=end
- Ich mag es nicht, das Ende des Blocks mit end zu schließen.
- Lua Sprache oder vb-ähnlich
- Dies kann für Anfänger leichter zu sehen sein
- Ich hatte eine Weile eine gute Übereinstimmung mit Python
- Viele japanische Artikel und Bücher (hergestellt in Japan)
- Eines der Verkaufsargumente ist die Sprache des Japanischen
- Hohe Nutzungsrate nur in Japan.
- Eine Warnung wird ausgegeben, wenn die Konstante überschrieben wird.
- Wenn die englische Hauptstadt beginnt, wird sie als Konstante behandelt
*Mit anderen Sprachen buchstäblich außer Betrieb(10.times do |num|)
- Viele Arten zu schreiben (oft kann man so schreiben)
list.times{|num|
p "test"
}
list.times do |num|
p "Diese Schreibweise ist auch in Ordnung"
end
puts "hello"
puts "Sie können ein Semikolon anhängen";
for i in 0..4 do
puts "zur Aussage"
end
for i in 0..4
puts "kann ausgelassen werden"
end
Sprachvergleich (aus Python-Sicht)
- Am besten lesbar (persönlich)
- Ist der Stückpreis ziemlich hoch?
- Wird voraussichtlich in den nächsten 10 Jahren die Anzahl der Personen erhöhen, die Python verwenden können
- Weil Leute, die Programme als Kultur studieren, Python studieren.
- Rang 1 oder 2 (definitiv 1. in Skriptsprache)
Sprachranking
Werfen wir einen Blick auf das Sprachranking.
Sprachvergleich
Nachteile der Verwendung von Python
- Langsame Geschwindigkeit (sollte beim Beschleunigen mit Pypy usw. berücksichtigt werden)
- Es gibt nur wenige japanische Artikel (geben Sie Ihr Bestes)
Was ich mit Python gemacht habe
micro web-framework (RESTful framework)
Webanwendung mit Flasche.
DB verwendet SQLite.
Das Frontend wurde in vue.js implementiert.
** Tippspiel **

Klicken Sie hier für Puru Puru Typing
Spiel
Ich habe ein Spiel mit Pygame erstellt.
Ich habe es mir selbst gemacht, Kindern das Spielen beizubringen.
Ich habe es gemäß dem folgenden Artikel gemacht.
** Invader-Spiel **

Excel-Ausgabe
Ich habe versucht, die Rechnung mit xlsxwriter in Excel auszugeben.
Rechnung

Über Branchentrends nachdenken
Java-Shop kann in Zukunft abnehmen?
- Es besteht eine hohe Wahrscheinlichkeit für einen schwierigen Job in einem großen Projekt, wenn Sie nur Java auswählen
- Fast keine Fernarbeit
- Das heißt, junge Leute meiden
- Müssen Sie mutig Java wählen, was Zeit braucht? Ist es nicht genug, nur einen Teil zu haben?
- Wenn Sie ein Formular mit SVF fest ausgeben möchten, Java
- Wenn die Geschwindigkeit in der Skriptsprache Java etwas ist? (Gibt es noch etwas Gutes?)
- Mir fällt nichts anderes ein
(Übrigens) Viele Anfänger machen Ruby
- Ist das einfach, weil es viele japanische Dokumente gibt?
- Sie müssen kein SQL schreiben? (Schienen)
- Einfach eine Webanwendung zu erstellen? (Schienen)
Bild der Verwendung von Ruby, weil Rails gut ist.
Zukunft des Web-Systems (persönliches Denken)
- Skriptsprache für die schnelle und schnelle Erstellung
- Vor allem, wenn Sie Mikrodienste ausführen
- Die Python-Welle der Welt wird voraussichtlich nach Japan kommen
- Der Trend in Tokio wird ein Jahr später nach Osaka kommen (egoistische Theorie)
- Ich mache mir Sorgen um die Zukunft, wenn ich Java oder Ruby mache
- Go sollte aufholen
- Es scheint die Top 2 von Python und Go zu sein
Sprachspezifische Technologie
~~ Entschuldigung für den Mangel an Informationen zu PHP und Ruby. ~~
Ich habe die Informationen in den Kommentaren hinzugefügt. Vielen Dank an alle.
| - |
PHP |
Python |
Ruby |
Java |
| CMS |
WordPress,Drupal |
Mezzanine,django-cms,Wagtail |
Refinery,CMSderPräfekturShimane,Joruri,Zomeki,Shirasagi |
Liferay |
| Web Framework |
Laravel,CakePHP |
django,Bottle,Flask |
Rails,Sinatra |
Play,Jersey,Spring |
| package manager |
composer |
pip, Pipenv |
gem |
maven, gradle |
| IDE |
PhpStorm |
PyCharm |
Welchesistberühmt? |
Eclipse |
| code checker |
PHPStan |
pycodestyle,autopep8 |
Welchesistberühmt? |
CheckStyle(inEclipse) |
Ich bin noch neu in Python. Was ist also mit Python? Was zum denken
Python fängt gerade erst an, also gibt es so viele Dinge, von denen ich nichts weiß.
- Einfache Paketverwaltung?
- Verwenden Sie Nexus in Python?
- Bist du jetzt Pipenv?
- Ich habe das Gefühl, dass Anaconda einen anderen Zweck hat
- Installieren Sie Anaconda, um eine Webumgebung zu erstellen?
- Was ist gut an IDE (derzeit in Atom implementiert)
- PyCharm
- Monatlich 8,90 USD (ca. 1.000 Yen)
- Kann ich Django einen Haltepunkt setzen?
- Jupyter
- Wing
- PyScripter
- Eclipse (mit Plugin PyDev)
- Ich mag es nicht, weil ich Java brauche, um es auszuführen
- Was ist gut für die Protokollausgabe?
- Wie wäre es mit Speichernutzung
- Sind Ereignisse wie Django, Flasche, Flasche usw. Threads?
- Ist der Prüfer des Codierungsstandards hier?
- pep8 → Es scheint, dass es Pypy-Stil wurde
- pep257 → Es scheint, dass es Pydoc-Stil wurde
Andere besorgniserregende Sprachen
Go
- schnelle Geschwindigkeit!
- Verwenden Sie Struktur / Zeiger
- Gut im Multithreading
- Hohe Lernkosten (ähnlich der C-Sprache)
Punktetabelle ohne Erlaubnis (von 5 Punkten)
- Andere Go-Sprachen, die Ihnen wichtig sind, nehmen ebenfalls teil
| - |
Python |
Ruby |
PHP |
Java |
Go |
Bemerkungen |
| Geschwindigkeit |
3 |
3 |
3 |
5 |
5 |
GoのGeschwindigkeitはJava並み? |
| Einfach zu lesender Code |
5 |
4 |
1 |
3 |
3 |
Python ist leicht zu sehen und ich möchte PHP nicht pflegen |
| Leicht zu lernen |
5 |
4 |
4 |
3 |
2 |
Go ist etwas schwierig |
| Objektorientierung |
3 |
5 |
4 |
5 |
2 |
純ObjektorientierungならRuby。Goでは構造体。 |
| Maschinelles Lernen |
5 |
2 |
2 |
3 |
2 |
R-Sprache außer Python |
| Weltrangliste der Popularität |
5 |
2 |
4 |
5 |
3 |
Go explodiert. |
| Inländisches Beliebtheitsranking |
2 |
4 |
5 |
5 |
1 |
Es scheint, dass Japan es immer noch mit PHP schaffen wird. |
| jährliches Einkommen |
4 |
3 |
1 |
4 |
5 |
Hoch für maschinelle Lernprojekte. Python und Go haben nur wenige Webprojekte. |
| Bereich |
Nur in Tokio |
Nur in Tokio |
Auch in Osaka |
Auch in Osaka |
Nur in Tokio |
Osaka neue Motivation. |
| Einfache Punktzahl insgesamt |
32 |
27 |
24 |
33 |
23 |
Es ist nicht etwas, das einfach durch Summieren beurteilt werden kann, sondern als Leitfaden. |
Zusammenfassung
- In Bezug auf die Beliebtheit sollte der Java-Shop auf jeden Fall als nächstes Python wählen
- Java ist bereits verfügbar. Wenn Sie also Java benötigen, verwenden Sie es einfach
- Python ist die zweite Sprache der Wahl
- Die Verwendung von Python Live ist nicht schnell genug
- Ruby ist jetzt in Japan beliebt, aber es ist empfindlich, weil sein Wert ohne Rails halbiert wird.
- Lassen Sie uns stärken, während die Leute um uns herum Ruby ansehen (glaube ich)
- Kann CMS WordPress schlagen?
- Wenn Sie ein "gutes" CMS von Python haben, ist es definitiv die Nummer 1 in der Web-Welt.
- Ruby hat auch "Ja" als Option, wenn man die Entwicklungsgeschwindigkeit berücksichtigt
- Sollten wir am Ende in der Lage sein, die Technologie gemäß den Anforderungen auszuwählen, anstatt aus der Technologie zu wählen?