11
votes

Boo vs c # vs python?

comparé à C #, BOO se sent un peu plus pythonique, mais il est également compilé à MSIL .NET. J'ai aimé sa syntaxe, encore plus que la syntaxe de C #. Mais je n'ai pas pu trouver un seul livre enseignant BOO.

Et je ne sais vraiment pas, si l'apprentissage BOO est meilleur que c # ou apprendre C # est meilleur que boo. Je veux juste utiliser des types de données semblables à des python. Ce sont:

  • {Key1: value1, clé2: value2} → Dictionnaire
  • [value1, valeur2, valeur3] → liste (peut être modifié / modifié)
  • (valeur1, valeur2, valeur3) → tuple (ne peut pas être modifié / modifié)

    J'utilise plus de dictionnaires que la liste et les tuples. Je veux savoir, lequel est le meilleur?


5 commentaires

Le seul livre que j'ai vu sur boo est Manning.com/rahien


Dupliquer possible? - Stackoverflow.com/questions/890420/...


Pointeurs !? Dans une langue moderne prétendant être inspirée par Python!? (Subjectif) échouer.


@Russcam: Merci pour le lien - je suis tout à fait friand de BOO, mais trouver des docs est difficile.


Aaaand La question est: à propos de la liste / des tuples? À propos de l'interface graphique? À propos de BOO / C # / PYTHON? À propos de boo books? Quoi?


5 Réponses :


2
votes

Vous avez des listes et des dictionnaires dans .NET: System.Collections.Generic.List et System.Collections.Generic.Dictionnaire.

Quant à la langue: Apprenez simplement celui qui est plus amusant pour vous. Le choix de la langue est le plus souvent religieux. Excectionnellement sur la plate-forme .NET, où chaque langue a presque les mêmes capacités.


10 commentaires

"Où chaque langue a presque les mêmes capacités" qui ne s'applique qu'à C # vs VB


Tu penses? Je ne peux pas ... je peux, par exemple, faire presque tout ce que je peux faire en C # faire en C ++ / CLI. Et je suis sûr que je peux faire presque tout ce que je peux faire en boo en C # aussi en quelque sorte. La seule chose différente serait typée de manière dynamique des langues comme IronPython, et cela changera également en C # 4.


Essayez de créer une DSL BOO-like en C # (même 4.0) ou C ++. Voir blogs.codehaus.org/people/bambboo/archives/.../a>


Essayez d'écrire une extension pour C # (même 4.0) ou C ++ pour ajouter des motifs correspondant à la langue . Voir blogs.codehaus.org/people/bambboo/archives/.../a>


Essayez de faire correspondre le motif en C # (même 4,0) ou C ++ ou IronPython comme vous pouvez dans BOO ou F #


Essayez de redéfinir si C # ou C ++ ayende.com/blog/archive /2007/10/04/refining-if.aspx


Plus d'exemples: Stackoverflow.com/questions/193862/boo-vs- IronPython / ...


Essayez de faire une interpolation de chaîne en C # ou C ++, comme si vous le pouvez sur BOO ou Nemerle.


Oui, ce sont bien de belles caractéristiques (j'adore Nemerle, Btw.), Mais ce n'est rien que vous avez besoin de besoin. En fin de compte, vous pouvez être productif dans la même mesure dans presque toutes les langues .NET. Bien sûr, cela dépend de ce que vous voulez coder, mais comme je l'ai dit: prenez celui qui est le plus amusant pour vous. Je pense que la langue qui est la plus amusante sera celle qui est la plus pratique pour les choses que je veux coder.


Je suppose que nous devrons accepter de ne pas être d'accord sur celui-ci :-)



3
votes

Connaître C # sera très utile pour vous si vous voulez une carrière dans le développement .NET. Mais l'apprentissage BOO vous permettrait d'utiliser les fonctionnalités de type Python que vous êtes après dans un environnement .NET. Vous devriez probablement aussi regarder IronPython , qui a des livres disponibles ( Iron Python en action )


0 commentaires

6
votes

Mon opinion générale est qu'il serait préférable d'aller pour C # puisqu'il est de mon point de vue, plus facile de trouver des ressources, une documentation et des tutoriels pour C #.


1 commentaires

Rien de mal avec vb.net non plus. Techniquement, c'est. Les personnes qui n'aiment pas cela, n'impliquent généralement pas l'odeur, ils ne comprennent pas réellement vb.net. La seule plainte véridique que j'ai vue contre c'est que sa syntaxe est plutôt verbeuse, mais pour moi, c'est un point fort. À l'heure actuelle, de nombreuses fonctionnalités VB.NET ont été ajoutées à C # (et inversement), les langues diffèrent peu, à l'exception de la syntaxe de surface.



0
votes

Je ne suis pas sûr de votre objectif de fin, mais avant d'abandonner Python, veuillez consulter le combo Python / QT pour la construction d'une interface graphique. Vous pouvez construire des gites multiples plate-forme complexes et il est assez facile de ramasser. QT , liaisons de python


1 commentaires

Je sais déjà (et essayé) Pyqt, Wxpython, Boa Constructor, IronPython Studio et autres, mais TNX pour des conseils (je ne suis pas un python N00b: s).



15
votes

J'ai trouvé que BOO est très utile pour créer de simples scripts uniques, tout en conservant mon style de source pythonique. Et puisqu'il compile à exécuter EXE ou DLL annoncé, je peux coller un seul exe avec toutes les DLL non nécessaires (y compris boo.lang.dll) à l'aide d'Ilmerge, puis envoyez cela à un client, généralement pour une sorte de dépannage rapide ou Diagnostic du système.

J'utilise aussi BOO pour soutenir mon développement C #. Je tiens souvent un interprète BOO pour essayer des variations de format de chaîne ou de la mise en forme de la date, je peux répliquer la version finale presque directement dans C #.

Mais c'est manifesté difficile à trouver des documents pour BOO. Je devais très bien trouver la syntaxe des génériques, car elles sont une addition relativement nouvelle à BOO, et non encore mentionnées dans tous les didacticiels, ni même pages de référence. Et Googling pour "BOO" génère des hits assez non désirés, rendant la recherche encore plus difficile.

Donc en bref, ne faites pas cela un choix entre BOO et C # - Ils se complètent assez bien.


1 commentaires

Essayez csharprepl / gsharp: mono-project.com/cshaparppl