Je peux dire que j'aime vraiment Scala mais maintenant j'aimerais connaître les fonctionnalités dont vous ne pouvez pas vous passer lorsque vous travaillez avec Scala? Qu'en est-il de Scala 2.8?Quelles sont les meilleures fonctionnalités de Scala?
Répondre
Si je devais retourner à Java, voici ce qui me manquerait le plus: les fermetures, les fonctions d'ordre supérieur, la correspondance de formes, les classes de cas et l'insistance sur l'immuabilité.
J'ai été sur 2.8 pendant un moment. Si je devais revenir à 2.7, la chose principale que je manquerais est la cohérence, la propreté et la richesse de l'API 2.8 collections. C'est waaaaaay mieux les choses 2.7. Mais les arguments nommés et par défaut me manquent aussi beaucoup.
+1. Je passais en revue les collections Java l'autre jour, et j'ai été submergé par le sentiment que c'était intentionnellement conçu pour être la pire API de tous les temps. –
Daniel, je pense que vous devez jeter un coup d'oeil aux classes de collection de MFC;). Je pense que les collections de Java ne sont pas si mauvaises étant donné qu'il n'y a pas de fonctions anonymes en Java. – Alexey
L'inférence de type économise tellement de frappe inutile. map
et foreach
et similaires sur les collections sont grands, en particulier en combinaison avec les itérateurs par défaut paresseux et la syntaxe de fonction très facile. Mais, en tant que personne qui fait beaucoup d'informatique scientifique, ce qui me manque le plus, c'est de pouvoir écrire du code très performant, de l'intégrer dans des classes efficaces, puis d'utiliser des cartes et des opérateurs mathématiques (+, *, peu importe) pour manipuler ces constructions de haut niveau de la façon dont je pense réellement à leur sujet. Comme pour 2,8 contre 2,7 - l'amélioration est assez progressive de mon point de vue. C'est un peu mieux dans de nombreux domaines; Il y a peu à dire et à dire, "Oh wow, ça!". Je m'attends à ce que la nouvelle annotation spécialisée m'aide beaucoup, mais je ne l'ai pas encore vu en action dans la bibliothèque, alors je refuse de juger.
Je pense que ce n'est pas une caractéristique mais la concision que Scala réalise est ce que j'aime le plus.
Ceci est bien sûr uniquement possible en raison de l'inférence de type, des fermetures, d'un système de grand type, etc. Je ne pense pas que vous puissiez le décomposer en une ou deux fonctions. Ils travaillent ensemble et le résultat, un code concis, est ce que j'appellerais la fonction de tueur.
J'aime écrire dans Scala. C'est le # 1 fonction dans mon livre :)
Je peux obtenir avec ce que je veux au lieu de danser à travers les cerceaux de Java:
- val/var signifie que je ne dois pas écrire le type deux fois
- Closures signifie que je ne dois pas écrire beaucoup d'interfaces anonymes et peut réutiliser beaucoup plus de code
- les paramètres nommés signifie que je n'ai pas de se rappeler la position de chaque argument - grand pour la lecture et l'écriture
- Les classes de cas signifient que je reçois toString et est égal à gratuitement ... rend le débogage ging beaucoup plus facile!
- Une API décent pour les collections (par exemple carte, pli) signifie que je peux dire ce que je veux faire au lieu de danser la danse itération
En ce qui concerne 2,8 vs 2,7 ... Je n'ai jamais vraiment passé le temps de qualité avec 2.8 ;-)
- 1. Quelles sont les fonctionnalités cachées de Maven2?
- 2. Quelles sont les fonctionnalités les meilleures/les plus stables de la bibliothèque Google Closure
- 3. Quelles sont les nouvelles fonctionnalités d'Eclipse Helios?
- 4. Quelles sont les meilleures pratiques OOoBasic?
- 5. Quelles sont les meilleures pratiques SOA/BPEL?
- 6. Quelles sont les meilleures interfaces Nagios open source?
- 7. Quelles sont toutes les nouvelles fonctionnalités de asp.net 4.0.?
- 8. Quelles sont les fonctionnalités de sécurité disponibles dans Struts?
- 9. Quelles sont les meilleures pratiques pour gérer les informations sensibles?
- 10. Quelles sont les meilleures pratiques pour les URL publiques «privées»?
- 11. Quelles sont les meilleures extensions de Visual Studio?
- 12. Quelles sont les meilleures méthodologies de développement distribuées pour sharepoint?
- 13. Quelles sont les meilleures pratiques de développement GUI iPAD
- 14. Quelles sont les meilleures utilisations des magasins de documents?
- 15. Quelles sont les meilleures pratiques pour les dépôts Kiln?
- 16. Quelles sont certaines des meilleures pratiques Sharepoint?
- 17. Quelles sont vos meilleures pratiques CoreLocation?
- 18. Quelles sont les nouvelles fonctionnalités du navigateur disponibles aujourd'hui?
- 19. Quelles sont les fonctionnalités majeures introduites par php5?
- 20. Quelles nouvelles fonctionnalités seront ajoutées à Scala 2.9?
- 21. Quelles sont les meilleures pratiques pour empêcher le fluage SQL?
- 22. Structuremap et références, quelles sont les meilleures pratiques?
- 23. Quelles sont les meilleures pratiques pour l'API Middleware?
- 24. Quelles sont les meilleures pratiques pour surveiller DelayedJob?
- 25. Quelles sont les meilleures références pour utiliser jQuery?
- 26. nServiceBus et la sécurité: quelles sont les meilleures pratiques?
- 27. MSBuild, solution VS2008 et CI - quelles sont les meilleures pratiques?
- 28. Quelles sont les meilleures pratiques pour la diffusion d'images?
- 29. Quelles sont les meilleures façons d'utiliser le SQL Profiler
- 30. Spring 3.0 et SOAP - Quelles sont les meilleures pratiques?
devrait être wiki communautaire. – missingfaktor
Désolé pour ça. J'ai changé cela pour être wiki communautaire! –