Warum ich ein Java-Shop bin und Python starte

Ü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.

Funktionen jeder Programmiersprache (aus Sicht des Java-Shops)

Java

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.
?>

(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.

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.

Ruby

Ich habe Ruby als Kandidaten für Python in Betracht gezogen. Je mehr ich nachforschte, desto subtiler schien es.

=begin
Das wäre Nai ...
ich dachte
Ist es möglich, dies mit einer Tastenkombination in der IDE zu tun?
=end
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)

Sprachranking

Werfen wir einen Blick auf das Sprachranking.

Sprachvergleich

Nachteile der Verwendung von Python

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 **

pluplu.png

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 **

invader.png

Excel-Ausgabe

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

Rechnung

seikyu.png

Über Branchentrends nachdenken

Java-Shop kann in Zukunft abnehmen?

(Übrigens) Viele Anfänger machen Ruby

Bild der Verwendung von Ruby, weil Rails gut ist.

Zukunft des Web-Systems (persönliches Denken)

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ß.

Andere besorgniserregende Sprachen

Go

Punktetabelle ohne Erlaubnis (von 5 Punkten)

- 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

  1. In Bezug auf die Beliebtheit sollte der Java-Shop auf jeden Fall als nächstes Python wählen
  1. Die Verwendung von Python Live ist nicht schnell genug
  1. Ruby ist jetzt in Japan beliebt, aber es ist empfindlich, weil sein Wert ohne Rails halbiert wird.
  1. Kann CMS WordPress schlagen?
  1. Ruby hat auch "Ja" als Option, wenn man die Entwicklungsgeschwindigkeit berücksichtigt
  2. Sollten wir am Ende in der Lage sein, die Technologie gemäß den Anforderungen auszuwählen, anstatt aus der Technologie zu wählen?

Recommended Posts

Warum ich ein Java-Shop bin und Python starte
Ich habe eine Klasse in Python3 und Java geschrieben
[Python] Starten Sie eine Batchdatei aus Python und übergeben Sie Variablen.
Lösen mit Ruby, Perl, Java und Python AtCoder ATC 002 A.
Python a + = b und a = a + b sind unterschiedlich
Unterschied zwischen Java und Python (Memo)
Vergleich der grundlegenden Grammatik zwischen Java und Python
[Python] gibt A [oder / und] B zurück
[Python] Jetzt ein grüner Codierer ~ [AtCoder]
Ein bisschen mehr über Referenzen ~ Verwenden von Python und Java als Beispiele ~
Überlappende reguläre Ausdrücke in Python und Java
Unterschiede zwischen Python- und Java-Syntax
Lösen mit Ruby, Perl, Java und Python AtCoder AGC 033 Eine Suche mit Breitenpriorität
Verbinde viel Python oder und und
Starten Sie Python
Eine Geschichte über Python Pop und Append
Ich verwende Tox und Python 3.3 mit Travis-CI
Erstellen Sie ein Django-Projekt und eine Django-Anwendung in einer virtuellen Python-Umgebung und starten Sie den Server
Warum Python Slicing durch einen Doppelpunkt (:) dargestellt wird
Organisieren Sie Python-Module und -Pakete in einem Chaos
MessagePack-Versuchen Sie, Java und Python mit RPC zu verbinden
Erstellen einer Python-Umgebung mit virtualenv und direnv
Ein Java-Programmierer studierte Python. (Über Dekorateure)
Ein netter Nimporter, der Nim und Python verbindet
ffmpeg-Erstellen Sie eine Python-Umgebung und teilen Sie das Video
Starten Sie mit Docker einen einfachen Python-Webserver
Erstellen Sie eine Webmap mit Python und GDAL
[Aktualisierung] Python Syntax Spickzettel für Java Shop
Warum muss Python einen Doppelpunkt schreiben?
Starten Sie einen Webserver mit Python und Flask
Schreiben wir ein Python-Programm und führen es aus
Python-Memo- "wenn nicht A und B" war "wenn (nicht A) und B"
Eine Geschichte über das Ändern von Python und das Hinzufügen von Funktionen
[Python] Ein grobes Verständnis von Iterablen, Iteratoren und Generatoren
Berücksichtigung der Stärken und Schwächen von Python
Python-Schnellstart
[Python] Beginne zu lernen
Versuchen Sie, Schedule auszuführen, um Instanzen in AWS Lambda (Python) zu starten und zu stoppen.
Python: Erstellen einer virtuellen Umgebung (venv), Starten und Stoppen
Versuchen Sie, eine komprimierte Datei mit Python und zlib zu erstellen
Erstellen einer R- und Python Docker-Arbeitsumgebung
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
C-Sprache, Java, Python-Benchmarks mit Primfaktorisierung
Warum nicht einfach mit Python eine stilvolle Tabelle erstellen?
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Ein schneller Vergleich der Testbibliotheken von Python und node.js.
Implementieren eines Generators mit Python> Link> Yield und next ()> Yield
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Starten Sie die numerische Berechnung mit Python (mit Homebrew und Pip).
Untersuchen Sie den Java- und Python-Datenaustausch mit Apache Arrow
Ein Java-Programmierer studierte Python. (für, if, while-Anweisung)
Aufgaben zu Beginn eines neuen Python-Projekts
Erstellen Sie unter Windows eine anständige Shell- und Python-Umgebung
Installieren Sie django auf Python + Anaconda und starten Sie den Server
Python: Ich habe es mit Lügner und Ehrlichkeit versucht
So starten Sie einen einfachen WEB-Server, der CGI von PHP und Python ausführen kann
So starten Sie den PC jeden Morgen zu einer festgelegten Zeit und führen das Python-Programm aus