[JAVA] Essayez de sélectionner une langue
Matériel de sélection de la langue
table des matières
Critère d'évaluation
--Entretien
--Langage de compilation (jugement d'erreur de compilation)
-
Dépendance OS (Si ruby, si vous ne mettez pas mysql dans le système d'exploitation, cela ne fonctionnera pas même si vous mettez la bibliothèque)
-
Y a-t-il une fonction qui ne peut pas être réaffectée comme let?
-
Liberté de format de langue (comme Python est bruyant)
――Il est indispensable d'inclure à la fois les tests et les formats de code, mais s'il y a une spécificité du langage, c'est comme si ◯
-
Mise en œuvre des normes de sécurité requises?
――Est-il adopté par le système financier ou le gouvernement?
Java/Kotlin
- Orienté objet, structuré, procédural
- Typage statique fort
- Langage de compilation, programmation parallèle
mérite
- beaucoup de gens!
- La bibliothèque est de loin la meilleure.
- Il existe de nombreux matériaux en japonais. (Réduit le temps d'enquête)
- Langue par défaut de l'ingénieur Android
――Il est facile de vérifier le support à la mise en œuvre en termes de sécurité grâce au grand nombre de réalisations dans les systèmes bancaires et les systèmes d'entreprise.
- Il existe de nombreuses réalisations à la fois en ligne et en batch.
- Il y a peu de dépendance du côté du système d'exploitation pour les bibliothèques, etc.
- Excellente compatibilité avec les versions inférieures lors de la mise à jour des versions.
--Il peut être fourni sous forme de fichier jar organisé dans une certaine mesure sans passer de code.
Démérite
«Il y a beaucoup de gens, mais il y a aussi beaucoup de gens peu qualifiés.
- Les spécifications linguistiques sont assez anciennes. Un peu résolu avec Kotlin
«Je ne peux pas empêcher la vieille impression.
Ruby
--Structuré, pédagogique, orienté objet
mérite
- beaucoup de gens!
- Langue d'origine japonaise
- Il existe de nombreux matériaux en japonais. (Réduit le temps d'enquête)
--Il existe un Rails standard dans l'application Web. C'est juste un framework full stack.
--Beaucoup pour embaucher des entreprises
Démérite
――Il y a beaucoup de monde, mais il y a trop de monde ici, et le niveau de compétence est différent
―― Les spécifications linguistiques sont mises à jour rapidement, mais la mise à niveau de la version est sévère. L'ancien n'est fondamentalement pas recommandé
- Comme cela dépend beaucoup du système d'exploitation, pensez à l'infrastructure. mysql etc. doit être inclus dans le système d'exploitation de base.
- Le code est rond lorsque le colis est fourni.
--Image avec peu de traitement par lots. Système principalement Web
Node.js
- Environnement de programmation axé sur les événements
--AltJS doit être sélectionné à nouveau.
--TypeScript (lorsque vous souhaitez taper de manière statique)
- CoffeeScript
--Est-ce ES7? (Par défaut, il n'y a pas d'ES5 selon cette norme)
- La méthode d'écriture diffère selon l'introduction de diverses bibliothèques.
mérite
- Il existe de nombreuses bibliothèques associées dans l'industrie de la blockchain.
- Peut être écrit dans le même Javascript que front.
--Si vous êtes un ingénieur avant, il est essentiel en tant qu'outil lors du développement en premier lieu
- L'adoption des aventures augmente.
Démérite
«Actuellement, les gens ne se rassemblent pas.
- Il y a un grand changement par rapport à ES6 et la mise à jour de la version est intense
--Code Marumie lorsque le paquet est fourni
--Lorsque altJS etc. a été ajouté, la compilation s'est produite et elle était lente. (Introduit dans les premiers jours de TypeScript.)
Go
- Typage statique fort
- Langage de compilation, programmation parallèle
Je suis désolé si j'ai fait une erreur. Je lis légèrement
mérite
- Il existe de nombreuses bibliothèques associées dans l'industrie de la blockchain. (Geth implémenté dans Go)
――Personnellement, l'impression que c'est une nouvelle langue et une langue moderne
- Préparé au niveau de la langue comme test et fmt. (Bien que ce soit la même chose dans d'autres langues, fmt est probablement le premier)
- Il y a une uniformité dans la manière d'écrire ou l'influence de Python. Il y a des restrictions sur la façon d'écrire la langue.
- L'adoption des aventures augmente.
Démérite
-Peut-être qu'il y a aussi peu de monde.
--Il devrait être possible de compiler et de livrer.
Contrairement à avant, il n'y a pas de concept de classes et le concept de conception du langage est assez différent.
URL de référence
Résumé
Personnellement, il n'y a aucune critique de la langue. C'est juste une prémisse pour fabriquer un objet dur.
Node et Ruby sont faciles à réaliser Pour les prototypes et le développement initial des services
Je veux l'utiliser facilement.
Ce qui suit est un tableau simple mais arbitraire.
Langue |
nombre d'utilisateurs |
vente pkg |
Diplôme de maintenance |
Aspect sécurité |
Montant du document |
Java |
◎ |
◎ |
◯ |
◎ |
◎ |
Ruby |
◯ |
△ |
△ |
△ |
◎ |
Node |
△ |
△ |
△ |
△ |
◯ |
Go |
△ |
◯ |
◯ |
◯ |
△ |
Au 13 avril 2018
En premier lieu, nous reconnaissons qu'il est vieux de fournir des services en consolidant avec des pots à cette époque
La compilation avec l'option SaaS élimine le besoin de vendre le paquet d'articles
Je pensais que c'était Kotlin, mais la possibilité de Go et la préparation du test / fmt de Go
En d'autres termes, nous jugeons que le code des autres sur github est également très lisible.
Compte tenu du filtre des articles de code hérités en java, etc., je pense que cela affectera l'avenir de Go.