À propos de cet article
Par contre, si je disais Python! Python!
Lors d'une session d'étude, on m'a demandé de parler de Python parce que cela n'a pas d'importance, et j'ai résumé le matériel.
C'est la première fois que j'écris un long blog, donc je suis désolé pour la connexion des phrases.
Qu'est-ce qui vous a donné envie de faire Python
Je fais Java depuis environ 15 ans et je craignais que cela prenne du temps en termes d'environnement et de méthode de construction en Java.
Aussi, comme je souhaite développer en contrat avec une petite entreprise, je dois le faire rapidement et avec un petit budget,
J'ai senti qu'il n'était pas efficace de simplement préparer un environnement de construction et d'utiliser un coût raisonnable.
Il ne sert à rien d'écrire tout en Java
Nous, ingénieurs, essayons de résoudre le problème en utilisant les méthodes que nous pouvons.
Cela aura un impact important sur le choix d'un langage de programmation.
Nous essayons de mettre en œuvre non seulement la construction de systèmes à grande échelle, mais également des fonctions simples dans l'environnement de développement existant et les langages que nous connaissons.
Certes, c'est rationnel, et maintenant que les ingénieurs Java débordent, il est facile de recruter des ingénieurs et c'est facile à maintenir grâce à une technologie unifiée.
En outre, en raison du typage statique, réduire autant que possible les erreurs d'exécution peut être l'une des raisons pour lesquelles il est utilisé dans les systèmes à grande échelle.
Mais qu'en est-il du choix de Java simplement parce que vous pouvez l'écrire maintenant?
Votre système doit-il être construit en Java parce que vous pouvez l'écrire?
Dois-je encore écrire en Java? (Ce que je déteste Java)
L'environnement de développement est compliqué
Il existe des aides à la construction fourmi, maven, gradle et autres, mais plus le système est grand, plus il devient compliqué avec les fichiers de définition ésotériques.
Je comprends le mécanisme du couplage lâche, mais plus le couplage est lâche, plus il devient compliqué.
Je le fais depuis plus d'une douzaine d'années et je peux voir que c'est plus pratique maintenant que les beaux jours de Struts.
Mais ce n'est pas facile à comprendre pour tout le monde dans le projet.
lourd
Pour les applications Web Lors du déploiement sur un serveur d'applications tel que Tomcat ou Weblogic, les bibliothèques dépendantes sont tous les fichiers jars et wars qui sont en mémoire.
Lors de l'implémentation d'un lot qui s'exécute en parallèle en Java, il est difficile de s'exécuter en tant que processus unique.
Si vous utilisez une mémoire de la taille d'un gigaoctet pour chaque processus, vous devrez la placer sur le serveur d'applications, même par lots.
Dans un système à grande échelle qui s'exécute en parallèle, il serait difficile d'économiser de la mémoire en tenant compte des dépendances pour chaque lot et en réduisant la dépendance jar en exécutant.
Il faut du temps pour vérifier le fonctionnement
Il faut du temps pour construire et déployer juste en fixant un endroit.
De nombreux ingénieurs construisent et vérifient à plusieurs reprises le fonctionnement lors de la mise en œuvre de la fonction,
C'est beaucoup de travail d'accumuler build et déployer pendant plusieurs secondes à plusieurs dizaines de secondes.
C'est dommage que cela demande beaucoup de travail à cause du temps d'attente.
Il est également stressant pour les ingénieurs de prendre du temps.
Déploiement Le déploiement peut être effectué un peu plus rapidement, mais il n'est pas dans le même état que lors de sa sortie, donc un autre problème attend.
Attentes pour un langage de script
Je me suis souvenu que lorsque j'ai développé un système avec PHP, je pouvais déboguer à grande vitesse.
J'aimerais pouvoir développer un langage de script plus facilement. C'était la raison pour laquelle je le pensais.
Par conséquent, j'ai réduit les langues à comparer aux suivantes.
- PHP (langage de script)
- JavaScript (langage de script)
- Python (langage de script)
- Ruby (langage de script)
Caractéristiques de chaque langage de programmation (du point de vue de la boutique Java)
Java
- Beaucoup de travail (maintenant).
- Il existe de nombreux grands projets.
- Je ne peux pas échapper au détachement.
- Les jeunes évitent Java.
- Le nombre de jeunes ingénieurs Java diminuera-t-il à l'avenir?
- Difficile de développer les ressources humaines en interne.
- Je n'aime pas les outils de gestion de paquets.
- ant, maven, gradle
- Dois-je utiliser jEnv?
- Débogage gênant
- Créez et déployez la guerre un par un
- Le déploiement de déploiement est bien, cependant.
PHP
Ce n'est pas mauvais. Mais. .. C'est une image d'une extension d'une page Web.
Je ne veux pas l'utiliser pour autre chose que la génération HTML.
PHP: C'est un préprocesseur hypertexte, n'est-ce pas?
Ce n'est pas mauvais. ..
<?php
//Cette façon d'enfermer ressemble à une prémisse de mélange de HTML et de logique, et elle réagit un peu.
?>
- Lors de l'écriture d'une classe, il semble étrange de déclarer une classe dans JSP.
- Il semble étrange que le scriptlet soit essentiel.
- Il existe de nombreux styles d'écriture dans lesquels les balises et le traitement sont mélangés.
- Une image avec peu de conscience pour écrire magnifiquement (égoïste).
- Image qu'il y a beaucoup d'ingénieurs (égoïstes) qui ont juste besoin de bouger.
- Cela semble facile à présenter pour les débutants, mais honnêtement, c'est difficile à écrire.
- Pour une raison quelconque, le prix unitaire est bas (bien qu'il ne change pas beaucoup)
- Parce que le prix unitaire est bas, il doit être fait rapidement, donc la qualité sera faible.
- Utilisez-vous un moteur de template?
- Je pense que les gens avec une grande conscience et le terrain l'utilisent
(Bonus) Pourquoi PHP se porte bien
Il existe la bibliothèque la plus puissante du monde CMS appelée WordPress
JavaScript
Au début, c'était le candidat le plus prometteur. Est-ce une malédiction du système Web? C'est du JavaScript, mais si vous pouvez le maîtriser, vous pouvez enfin créer un système Web dans une seule langue. Cependant, je ne veux ni écrire ni lire.
- Un langage presque indispensable lors de la création d'applications Web.
- Auparavant utilisé pour faire le traitement frontal.
- Pour être honnête, c'est difficile à lire et je ne veux pas écrire.
- C'est merveilleux de pouvoir unifier le langage entre le front-end et le back-end en utilisant Node.js.
- Bon pour traiter les E / S matérielles avec un grand nombre de demandes
- 1 Je ne suis pas doué pour le traitement qui utilise un processeur lourd pour chaque requête
- Vous pouvez également créer des applications Windows avec Electron
- Chromium et Node.js vous permettent de créer des applications Windows à l'aide de la technologie Web
- Exemple typique: Atom (éditeur de texte)
Python
C'est mon préféré en ce moment. J'aime la facilité de lecture.
Les programmes sont largement lus plutôt qu'écrits.
À part cela, j'aime le fait qu'il soit fort dans l'apprentissage automatique, qui est maintenant populaire.
- Facile à lire (facile à entretenir)
- Bon en apprentissage automatique.
- Sélectionné sur la base de l'apprentissage de la programmation
- Dans le domaine de l'éducation, Python après avoir obtenu son diplôme de Scratch
- Norme Linux
- centos(python 2.7)
- Facile à faire un petit lot
- Popularité mondiale
- Seuls les projets de Tokyo en 2018 (attendus en 2019)
- Pas d'interrupteur (c'est un peu surprenant)
- Faibles restrictions d'accès
- non protégé
- Privé est également accessible en écrivant le nom de la classe
Ruby
Je considérais Ruby comme un candidat équivalent à Python,
Plus j'enquêtais, plus cela me paraissait subtil.
- Rails est vraiment incroyable
- Les commentaires sur plusieurs lignes sont un peu subtils
=begin
Ce serait Nai ...
j'ai pensé
Est-il possible de le faire avec une touche de raccourci dans l'IDE?
=end
- Je n'aime pas fermer la fin du bloc avec la fin.
- Langue Lua ou vb-like
- Cela peut être plus facile à voir pour les débutants
- J'ai eu un bon match avec Python pendant un moment
- De nombreux articles et livres japonais (fabriqués au Japon)
- L'un des arguments de vente est la langue du japonais
- Taux d'utilisation élevé uniquement au Japon.
- Un avertissement sera émis si la constante est écrasée.
- Si la capitale anglaise démarre, elle est traitée comme une constante
*Littéralement en panne avec d'autres langues(10.times do |num|)
- De nombreuses façons d'écrire (souvent vous pouvez écrire comme ça)
list.times{|num|
p "test"
}
list.times do |num|
p "Cette façon d'écrire est également OK"
end
puts "hello"
puts "Vous pouvez joindre un point-virgule";
for i in 0..4 do
puts "pour déclaration"
end
for i in 0..4
puts "peut être omis"
end
Comparaison de langage (du point de vue Python)
- Le plus lisible (personnellement)
- Le prix unitaire est-il assez élevé?
- Devrait augmenter le nombre de personnes pouvant utiliser Python au cours des 10 prochaines années
- Parce que les gens qui étudient les programmes en tant que culture étudient Python.
- Classement 1er ou 2ème (certainement 1er en langage de script)
Classement des langues
Jetons un coup d'œil au classement des langues.
Comparaison des langues
Inconvénients de l'utilisation de Python
- Vitesse lente (devrait être considérée pour accélérer l'utilisation de pypy, etc.)
- Il y a peu d'articles japonais (faites de votre mieux)
Ce que j'ai fait avec Python
micro web-framework (RESTful framework)
Application Web utilisant une bouteille.
DB utilise SQLite.
Le frontal a été implémenté dans vue.js.
** Jeu de frappe **

Cliquez ici pour la saisie Puru Puru
Jeu
J'ai créé un jeu en utilisant pygame.
Je l'ai fait moi-même pour apprendre aux enfants à créer des jeux.
Je l'ai fait selon l'article suivant.
** Jeu Invader **

Sortie Excel
J'ai essayé de sortir la facture dans Excel en utilisant xlsxwriter.
Facture d'achat

Penser aux tendances de l'industrie
La boutique Java pourrait diminuer à l'avenir?
- Il y a une forte possibilité d'un travail difficile dans un grand projet simplement en sélectionnant Java
- Presque pas de travail à distance
- Cela signifie éviter les jeunes
- Besoin de choisir avec audace Java, ce qui prend du temps? N'est-il pas suffisant de n'avoir qu'une partie?
- Si vous souhaitez générer un formulaire avec SVF fermement, Java
- Quand la vitesse est un peu dans le langage de script Java? (Y a-t-il autre chose de bon?)
- Je ne peux penser à rien d'autre
(Au fait) Beaucoup de débutants font du Ruby
- Est-ce facile à faire car il existe de nombreux documents japonais?
- Vous n'êtes pas obligé d'écrire du SQL? (Des rails)
- Facile à créer une application Web? (Des rails)
Image de l'utilisation de Ruby parce que Rails est bon.
L'avenir du système Web (réflexion personnelle)
- Langage de script pour une création rapide et rapide
- Surtout si vous faites des micro-services
- La vague mondiale de Python devrait arriver au Japon
- La tendance à Tokyo viendra à Osaka un an plus tard (théorie égoïste)
- Je m'inquiète pour l'avenir si je fais Java ou Ruby
- Go devrait rattraper son retard
- Il semble que ce soit les deux meilleurs de Python et Go
Technologie spécifique à la langue
~~ Désolé pour le manque d'informations sur PHP et Ruby. ~~
J'ai ajouté les informations fournies dans les commentaires. Merci tout le monde.
| - |
PHP |
Python |
Ruby |
Java |
| CMS |
WordPress,Drupal |
Mezzanine,django-cms,Wagtail |
Refinery,PréfecturedeShimaneCMS,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 |
Quiestcélèbre? |
Eclipse |
| code checker |
PHPStan |
pycodestyle,autopep8 |
Quiestcélèbre? |
CheckStyle(inEclipse) |
Je suis encore nouveau sur Python, alors qu'en est-il de Python? Que penser
Python ne fait que commencer, donc il y a tellement de choses que je ne sais pas.
- Gestion facile des paquets?
- Utilisez-vous nexus en python?
- Le jeune est-il maintenant Pipenv?
- Je pense qu'Anaconda a un but différent
- Installez-vous Anaconda pour créer un environnement Web?
- Ce qui est bien avec IDE (actuellement implémenté dans Atom)
- PyCharm
- Mensuel 8,90 $ (environ 1000 yens)
- Puis-je mettre un point d'arrêt sur Django?
- Jupyter
- Wing
- PyScripter
- Eclipse (avec Plugin PyDev)
- Je ne l'aime pas car j'ai besoin de Java pour l'exécuter
- Qu'est-ce qui est bon pour la sortie du journal?
- Que diriez-vous de l'utilisation de la mémoire
- Les événements comme Django, Bottle, Flask, etc. sont-ils des threads?
- Le vérificateur de la norme de codage est-il ici?
- pep8 → Il semble que c'est devenu le style pycode
- pep257 → Il semble que c'est devenu le style pydoc
Autres langues préoccupantes
Go
- haute vitesse!
- Utilisez la structure / le pointeur
- Bon en multi-threading
- Coût d'apprentissage élevé (similaire au langage C)
Tableau des scores sans autorisation (sur 5 points)
- D'autres langues Go qui vous intéressent participent également
| - |
Python |
Ruby |
PHP |
Java |
Go |
Remarques |
| la vitesse |
3 |
3 |
3 |
5 |
5 |
Goのla vitesseはJava並み? |
| Code facile à lire |
5 |
4 |
1 |
3 |
3 |
Python est facile à voir et je ne veux pas maintenir PHP |
| Facile à apprendre |
5 |
4 |
4 |
3 |
2 |
Aller est un peu difficile |
| Orientation objet |
3 |
5 |
4 |
5 |
2 |
純Orientation objetならRuby。Goでは構造体。 |
| Apprentissage automatique |
5 |
2 |
2 |
3 |
2 |
Langage R sauf Python |
| Classement de popularité mondiale |
5 |
2 |
4 |
5 |
3 |
Go monte en flèche. |
| Classement de popularité nationale |
2 |
4 |
5 |
5 |
1 |
Il semble que le Japon va encore réussir avec PHP. |
| revenu annuel |
4 |
3 |
1 |
4 |
5 |
Élevé pour les projets d'apprentissage automatique. Python et Go ont peu de projets Web. |
| zone |
Seulement à Tokyo |
Seulement à Tokyo |
Aussi à Osaka |
Aussi à Osaka |
Seulement à Tokyo |
Nouvelle motivation à Osaka. |
| Total de score simple |
32 |
27 |
24 |
33 |
23 |
Ce n'est pas quelque chose qui peut être jugé simplement en totalisant, mais comme un guide. |
Résumé
- En termes de popularité, la boutique Java devrait définitivement choisir Python ensuite
- Java est déjà disponible, donc si vous avez besoin de Java, utilisez-le simplement
- Python est la deuxième langue de choix
- Utiliser Python live n'est pas assez rapide
- Ruby est maintenant populaire au Japon, mais il est délicat car sa valeur est réduite de moitié sans Rails.
- Renforcons-nous pendant que les gens autour de nous regardent Ruby (je pense)
- Le CMS peut-il battre WordPress?
- Si vous avez un "bon" CMS réalisé par Python, il est définitivement n ° 1 dans le monde du Web.
- Ruby a également "Oui" comme option compte tenu de la vitesse de développement
- En fin de compte, devrions-nous pouvoir choisir la technologie en fonction des exigences au lieu de choisir parmi la technologie?