Question

Je travaille dans un environnement Microsoft, je peux donc utiliser mon marteau C # sur tous les clous que je croise. Cela dit, quels langages (compilés, interprétés, scripts, fonctionnels, tous types!) Complètent le C # et à quelles fins? Par exemple, j'ai déplacé beaucoup de fonctionnalités de script des applications de console compilées vers des scripts Powershell. Si vous êtes un développeur MS, avez-vous trouvé un créneau dans votre monde pour d'autres langages comme le F #, IronRuby, IronPython ou quelque chose de similaire, et quel créneau occupent-ils?

Remarque: cette question s'adresse aux développeurs Microsoft, car je ne parviens pas à installer et à installer des piles LAMP dans mon entreprise. Je dois donc la prendre en charge pour toujours. :) Cependant, n'hésitez pas à mentionner toute autre langue que vous avez trouvée intéressante pour remplir une certaine tâche / rôle dans votre monde en dehors de votre langue principale.

Était-ce utile?

La solution

Python / Perl / Ruby / PowerShell sont d’excellents compléments à C # / VB.NET. Si votre patron vous tend un fichier texte et vous dit de l'insérer une ou deux fois dans la base de données, alors tout ce qui est en Perl / Python / Ruby (je ne suis pas sûr de PowerShell mais j'imagine que ce n'est pas si difficile): analyser le. Quoi qu'il en soit, pour vos applications principales, vous serez probablement bloqué en C #. Vous pouvez utiliser l’un des langages les plus dynamiques pour générer du code en C #.

Puisque vous êtes dans un environnement Microsoft, PowerShell est probablement votre meilleure chance d’accepter votre solution. À côté de cela, je dirais IronPython ou quelque chose d'autre qui s'intègre au CLR. Mais le problème principal est que pour que quelqu'un d'autre maintienne ce que vous faites, il doit connaître la langue que vous utilisez. À l'avenir, MS envisage d'utiliser PowerShell beaucoup plus, il est donc probablement plus facile de justifier PowerShell que de dire Python / Perl / Ruby.

Si vous ne traitez qu'un fichier texte pour une utilisation unique. Ou créer un générateur de code ponctuel pour générer tout le code et ensuite maintenir le code généré, peu importe. Vous êtes celui qui consommera les résultats et si vous gagnez du temps en utilisant Perl, vous aurez plus de pouvoir. Mais si vous faites quelque chose qui sera utilisé encore et encore (comme un générateur de code actif dans lequel vous modifiez les modèles et exécutez le générateur au lieu de conserver le code généré), alors les autres développeurs travaillant sur ce que vous avez fait devront connaître le langage. vous avez utilisé. Il est beaucoup plus difficile d'argumenter l'apprentissage de Perl / Ruby / Python dans un Microsoft Shop. Mais PowerShell semble être l'argument le plus simple. Je pense que le grand plan de MS est qu’éventuellement, les applications exposeront davantage de fonctionnalités pour Power Shell via des commandlets. En supposant que cela se produise, PowerShell est encore plus simple à comprendre, car il exposera des tonnes de fonctionnalités de script que vous ne obtiendrez pas autrement.

Autres conseils

Un bon langage de script est toujours un bon outil à utiliser. Voir Ruby ou Python .

J'utilise python pour le prototypage, car il n'y a presque pas de temps de traitement entre les modifications et l'exécution de la nouvelle version du code. Je pourrais même finir par l'utiliser pour un vrai projet - plus je l'utilise, plus je l'aime.

Cela prendra un certain temps pour s’y habituer en tant que programmeur C #, cependant - le système d’indentation qui définit la structure qu’il utilise est un peu bizarre au début.

Puisque vous êtes dans un magasin MS, je vous suggérerais PowerShell comme un langage de script décent à apprendre. Il joue bien avec C #. Je suis aussi un grand fan de Ruby.

Je voudrais deuxième ou troisième python. IronPython (ttp: //www.codeplex.com/Wiki/View.aspx? ProjectName = IronPython) vous permet d’apprendre le python mais vous donne également accès aux goodies du framework .net.

C’est plutôt agréable pour les tâches liées aux scripts, ce qui le rendra probablement utile pour votre vie quotidienne de codage, et aussi un bon moyen de se perdre dans une manière expérimentale de codage / prototypage.

Bien que ce soit un langage un peu marginal, je suis obligé de mentionner Erlang . Erlang est un excellent langage à avoir dans votre boîte à outils car ses atouts inhabituels ont tendance à compléter d'autres plates-formes de programmation. Erlang est très utile pour la construction de systèmes distribués, simultanés et tolérants aux pannes. Il est très utilisé dans le monde de la messagerie instantanée et de la téléphonie, où des architectures distribuées mais interconnectées sont nécessaires.

Peut-être jouer avec Boo et voir ce que vous pensez.
Boo chez Codehaus.org
Boo sur Wikipedia

Si vous utilisez le framework .Net, le langage n’est vraiment pas important car le compilateur et l’interprète créent le même code IL dans tous les cas.

Si vous quittez le monde .Net, j’estime que les outils de développement et les langages sont une boîte à outils. Je m'efforce d'utiliser les bons outils pour le travail à accomplir, en prenant en compte les compétences de base des autres développeurs et la direction qu'une entreprise recherche bien sûr (je suis un consultant).

Je suis avec jjnguy. Essayez l’un des langages de script. De plus, en bonus, lorsque vous apprenez Ruby / PythonPearl, etc., c’est une drogue de passerelle ... il est difficile de développer un langage pour d’autres environnements.

Essayer des langues en dehors de votre boîte à outils normale vous donnera de nouvelles façons d’aborder les choses dans votre langue préférée. Même si vous ne les utilisez pas pour des projets sérieux, tels que Perl (pour le traitement de données), Lisp ( programmation fonctionnelle ), et Javascript ( programmation basée sur un prototype ) vous apprendra de nouvelles méthodes réfléchir à des problèmes dans votre langue actuelle.

En tant que développeur Web de métier, vous pouvez vous pencher sur la famille XSLT / XPath car, pour certains types de traitement XML, ils peuvent constituer des outils très puissants.

Accordé, en C # 3.x, Linq2Xml expose des fonctionnalités similaires en ligne.

XSLT peut toutefois constituer un moyen puissant de séparer les données de la présentation dans vos applications.

Je suis très intéressé par F # et par quelques-unes des nouvelles langues du CLR / DLR. Les langues DLR sont peut-être bien meilleures pour votre interface utilisateur, car elles ne vous obligent pas à lancer beaucoup de choses stupides.

Cependant, j'estime qu'il est important de garder à l'esprit qu'apprendre une nouvelle langue, en particulier dans un nouveau domaine, tel que la programmation fonctionnelle, constitue toujours un bon moyen de se recycler pour pouvoir s'exposer à de nouveaux concepts. et vous pouvez mieux coder dans la langue de votre choix, même si vous n'utilisez jamais ces nouvelles langues.

Découvrez Boo - il s’exécute sur la pile .NET, mais sa syntaxe ressemble plus à Python.

Pour apprendre un nouveau langage qui complète le C #, je choisirais le C ++. Vous pouvez l'utiliser dans un style "bien meilleur que p / invoke" pour accéder au code non géré à partir de vos applications C #. Vous pouvez ensuite commencer à l'utiliser pour écrire les applications soumises à des contraintes de mémoire et / ou des bits critiques en termes de performances. Si vous trouvez que certaines de vos applications .NET commencent à monopoliser toute la mémoire vive et / ou le processeur, ou si elles ne sont généralement pas aussi rapides vous voudriez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top