- Portabilité: Windows et Linux au moins je l'espère. Que sur les téléphones mobiles, quelqu'un at-il réussir à le faire fonctionner il?
Oui. Il est tout à fait un peu de mouvement sur Scala sur Android. Comme pour J2ME, j'ai vu quelque chose à cet égard, mais pas beaucoup. Il y a un peu de code concernant J2ME sur le référentiel de code source. Je ne suis pas sûr de la façon viable c'est, mais il me semble qu'il n'y a pas beaucoup de demande pour cela.
Je vais aussi mentionner qu'il y a/avait une piscine sur Scala-Lang sur la cible désirée plates-formes, et J2ME était l'un d'eux, très faible sur le totem.
- C++ compatibilité: puis-je mélanger à du code C++ avec Scala? (JNI?)
Ainsi que vous pouvez mélanger le C++ et Java, pour tout ce qui vaut la peine. Si vous n'avez pas d'expérience avec, vous pouvez tout simplement lire la Java des ressources, en tant que quelque chose sera applicable à la Scala, avec aucun changement (à côté de la Scala de syntaxe).
- Paradigme de programmation: je ne me sens pas à l'aise avec le passage de FP en ce moment. Puis-je utiliser OO et de procédure avec certains FP au premier abord et ensuite changer les proportions que j'ai appris?
Certainement, oui. Scala va sortir de sa façon de vous assurer que vous n'avez pas besoin de programme dans un style fonctionnel. C'est la principale critique de la Scala à partir de la fonctionnelle de gens, comme une question de fait: certains ne considèrent pas un langage fonctionnel, à moins qu'il force le programmeur à écrire en style fonctionnel.
De toute façon, vous pouvez aller à droite sur le fait de faire les choses à votre façon. Mon pari, c'est que vous allez ramasser habitudes fonctionnelles sans même se rendre compte qu'ils sont fonctionnels.
Peut-être que vous pouvez regarder les Matrices de la série dans mon propre blog sur l'écriture d'une classe Matrix. Même si elle ressemble à la norme OO code, il est, en fait, très fonctionnelle.
- Outil de la chaîne d'échéance: quelle est votre expérience avec des IDEs et des débogueurs? Je suis à l'aide d'Eclipse en ce moment et il semble ok.
IDÉE (Ide), NetBeans et Eclipse ont tous une bonne prise en charge de la Scala. Il semble que l'IDÉE est la meilleure, et NetBeans/Eclipse garder de la grenouille de sauter les uns des autres, bien que NetBeans a certainement été plus stable que l'Éclipse de la fin. D'autre part, l'appui sur Eclipse est prendre un très bel itinéraire qui devrait produire des résultats dans les 6 prochains mois ou alors, c'est juste que c'est un cogner à la route. :-)
Certains des signes intéressants de la Scala de l'outillage de ces environnements est le fait que le plugin Eclipse dans le développement des utilisations de l'AOP à la fusion de plus de façon transparente avec l'ensemble de l'IDE, que le plugin NetBeans est d'être complètement réécrit en Scala, et qu'il y a un Scala bloc d'Alimentation sur une IDÉE qui prend en charge, entre autres choses, la traduction du code Java dans Scala code.
EMACS gens ont un grand nombre d'outils pour Scala en tant que bien, et beaucoup de petits éditeurs ont le soutien pour elle aussi. Je suis très à l'aise avec jEdit de soutien pour les petits programmes et des scripts, par exemple.
Il est également bon de Maven de soutien-en fait, la méthode standard pour installer l'Ascenseur est à installer maven, puis de construire un Ascenseur archétype. Qui va tirer dans un Scala version. Il y a un scala:cc
de la cible qui ne déclenché la recompilation ainsi.
En parlant de recompilation, ni de Maven, et en particulier, ni de Fourmi de faire un bon travail lors de l'identification de ce qui doit être recompilé. À partir de ce problème surgi de SBT (Simple Outil de construction), écrit en Scala, qui résout ce problème grâce à l'utilisation de la Scala de compilateur plugin. SBT utilise le même projet de mise en page comme Maven, ainsi que Maven/Ivy référentiels, mais les configurations de projet sont fait en Scala de code au lieu de XML -- avec l'aide de Maven/Ivy les fichiers de configuration.
- Vitesse d'apprentissage: compte tenu de mon expérience, à quelle vitesse pensez-vous que je peux arriver à un résultat convenable niveau avec Scala?
Très rapide. Comme purement langage OO, Scala déjà introduit quelques fonctionnalités intéressantes, comparable à certains trucs qui sont présents en C++ mais pas en Java, bien qu'ils travaillent dans différents mode. À cet égard, une fois que vous vous rendez compte de ce que ces caractéristiques sont pour et de les relier à C++ choses, vous serez beaucoup plus en avance de programmeurs Java, comme vous le savez quoi faire avec eux.
- Déploiement: comment déployer un Scala programme? Est-ce un pot, c'est un exécutable?
La même chose que Java. Vous pouvez déployer des Bocaux, des Guerres, ou de toute autre de Java objectifs, parce que le compilateur scala de générer des fichiers de classe. En fait, vous utilisez Java jar pour générer un Scala fichier JAR à partir de la classe de fichiers, et le Maven cibles pour un soutien bâtiment de GUERRE de fichiers.
Il existe une alternative pour les fichiers de script, cependant. Vous pouvez appeler "la scala" à exécuter Scala de code source directement, semblable à une interface de script Shell. Il peut également être fait sur Windows. Cependant, même avec l'utilisation d'une compilation démon pour accélérer l'exécution, au démarrage les temps sont assez lent pour permettre une utilisation efficace de la Scala dans un lourd script environnement a besoin de quelque chose comme le Nailgun.
Comme pour Scala inconvénients, prendre un coup d'oeil à ma réponse (et d'autres) dans ce Débordement de Pile question.