Que ce soit pour faire du côté serveur au moment de la reconstruction du système avec Kotlin ou Java
C'est une histoire dans un nombre limité de scènes, mais je la publierai sur Qiita parce que c'est une scène qui semble être dans le monde, et je veux la mettre à jour s'il y a des différences ou d'autres perspectives.
De plus, bien qu'il existe de nombreux articles traitant des différences au niveau de la syntaxe fine, j'ai également écrit qu'il semblait y avoir peu d'articles comparant de divers points de vue.
Hypothèses de comparaison
- Reconstruire un système Java existant avec Spring Boot
--Spring Boot n'est pas traité ici car il s'agit d'un contexte spécifique.
- Les petites différences de niveau de langue ne sont pas comparées
- Développement en équipe de dizaines de personnes
Java
mérite
- Performance
- De nombreuses réalisations de développement, y compris des systèmes critiques
- Homme
- Le coût d'apprentissage réel est faible car de nombreuses personnes ont déjà payé les frais d'apprentissage.
--La technologie
--Optionnel peut être null safe au moment de l'exécution, @Nullable peut être null safe au niveau du compilateur ...
- Futur
«L'aspect d'Oracle s'estompe un peu, et le danger est faible car divers fournisseurs sont impliqués.
- Distribution d'informations
«Il y en a des nouveaux et des anciens, mais les informations qui peuvent être obtenues sont extrêmement volumineuses.
- Contexte de reconstruction
- Lors de la reconstruction, il peut être réutilisé s'il s'agit de la même langue
Démérite
- Homme
――Il y a beaucoup de ressources humaines Java comme le nombre d'ingénieurs, mais cela a tendance à être un mélange de boules.
- Productivité
-Peux-tu pas rivaliser avec l'ingénieur familier de Kotlin?
- Contexte de reconstruction
Au moment de la reconstruction, un simple copier-coller est possible car il s'agit du même langage et il est possible que du code corrompu soit mélangé même s'il s'agit d'une reconstruction spéciale
Kotlin
mérite
- Homme
- Lors de l'embauche, vous pouvez faire Kotlin = Augmenter la probabilité d'être un personnel de haut niveau par rapport au personnel Java
--La technologie
--Null safe au niveau de la syntaxe + niveau du compilateur, et le sentiment que d'autres pièges qui ont tendance à se produire en Java sont évités au niveau de la syntaxe
- Productivité
――Il est difficile de s'y habituer, mais une fois que vous vous y êtes habitué, est-ce cher par rapport à Java?
- Contexte de reconstruction
――Lors de la reconstruction, il s'agit d'un langage différent, il ne peut donc pas être simplement détourné, et il est peu probable qu'il soit mélangé avec du code corrompu car il est converti et refactorisé.
Démérite
- Performance
- En dehors d'Android, il y a peu d'antécédents en tant que langage côté serveur.
- Homme
- Comme il y a peu d'ingénieurs qui ont payé les frais d'apprentissage, le coût d'apprentissage est élevé.
- Futur
――Il a été développé en tant que OSS principalement par JetBrains, et Google en a fait le standard Android, mais comme il existe une JVM, le départ d'Oracle peut-il être un risque?
- Distribution d'informations
- Il y a beaucoup moins d'informations disponibles que Java
- Contexte de reconstruction
--Lorsque la reconstruction, la conversion et le refactoring sont nécessaires car il s'agit d'une langue différente
référence