IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

[Langages.NET] Quel est votre avis sur Boo ?


Sujet :

Dotnet

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 191
    Points : 158
    Points
    158
    Par défaut [Langages.NET] Quel est votre avis sur Boo ?
    Bonjour à tous,

    J'aurais voulu avoir l'avis de personnes développant en dotnet avec le langage Boo. Quels sont les avantages, les inconvénients, son utilité en fait. A première vu sa ressemble au python dont il reprend notamment le principe d'indentation...

    J'attends vos avis, merci...

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 586
    Points : 1 147
    Points
    1 147
    Par défaut
    Bonjour.
    J'ai découvert l'existence de Boo ce weekend en mettant à jour mon SharpDevelop qui datait de... Je ne connaissais pas du tout mais comme apprendre un nouveau langage est toujours une activité qui me plait, je me suis dit: lisons la doc.
    - La syntaxe est Pythonnienne, c'est même la caractéristique initiale voulue par le développeur. Je n'ai rien à dire, affaire de goût sans doute, mais c'est la seule chose que j'aimais bien dans Python . A condition de régler la Tabulation à 4 caractères ou moins et d'utiliser l'affichage des colonnes dans l'éditeur de texte, ça se passe bien.
    - Le langage n'est pas très compliqué, comme d'ailleurs C# ne l'est pas non plus
    - L'emprunt à Ruby (ou Perl) de choses comme les modificateurs (a = 5 if C == 3) ou le type "Canard" ( ) sont des choses bien pratiques si on n'en abuse pas.
    Je dirais qu'à première vue ça me plait bien mais je n'ai pas encore trop pratiqué! Reste pour moi à réviser .NET avant tout, puisque que tout le contenu intéressant est là... et que, sans ça, à part afficher des "Bonjour le Monde!"...
    Heureusement que SharpDevelop sait produire du Boo!

  3. #3
    Membre actif
    Avatar de mathk
    Inscrit en
    Décembre 2003
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 211
    Points : 233
    Points
    233
    Par défaut
    J'ai l'impression que c'est un langage qui vaut le coup mais qu'entendent t'ils par "statically typed"?

    EDIT: De toute facon il repose sur le système de type de .NET donc c'est toujours aussi lourd (juste un peut moin que les autres). Avis complètement personnelle

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 586
    Points : 1 147
    Points
    1 147
    Par défaut
    Citation Envoyé par mathk
    qu'entendent t'ils par "statically typed"?
    Ca veut dire que les variables ont un type fixé au début, par une déclaration ou par la première utilisation, et qu'il ne peut plus changer ensuite (=statique). Si on veut pouvoir utiliser une même variable pour stocker un int ou un string successivement, il faut la (statiquement...) typer "duck" .
    La différence avec vb.net ou c#, c'est que tu n'es pas obligé de déclarer une variable avant de l'utiliser: si tu écris par exemple a=8, on sait que a est un entier, automatiquement.
    C'est vrai qu'il y a un certain poids dans .NET Mais ce n'est pas lié à Boo, C# et VB.NET sont lourds aussi de ce côté.

  5. #5
    Membre actif
    Avatar de mathk
    Inscrit en
    Décembre 2003
    Messages
    211
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 211
    Points : 233
    Points
    233
    Par défaut
    Citation Envoyé par Thorna
    C'est vrai qu'il y a un certain poids dans .NET Mais ce n'est pas lié à Boo, C# et VB.NET sont lourds aussi de ce côté.
    Yeap ! content que tu soi du même avis que moi

    HS: Tu connais SmallTalk? (Moi j'adore)

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 586
    Points : 1 147
    Points
    1 147
    Par défaut
    Non, je ne connais pas SmallTalk. J'ai du regarder ça à un moment de ma vie ... :p mais sans plus.
    Je me suis mis en exercice de traduire les exemples de fonctionnement du moteur 3D "Brume" (que j'ai trouvé par hasard dans devmaster) de C# en Boo. Ca ne pose pas trop de problème. Et je trouve assez intéressant de pouvoir, sans aucune difficulté, réutiliser en Boo des bibliothèques "managées" écrites en C++ pour C# ... On n'arrète pas le progrès
    Le seul souci, surtout sans grosse pratique, c'est l'initialisation des tableaux, où la syntaxe Booienne est un peu surprenante. En plus, le compilateur Boo de SharpeDevelop produit des messages d'alerte intempestifs dans l'utilisation de tableaux de valeurs de types complexes (surtout des "assigned to temporary" pour dire qu'on n'a pas le droit d'affecter une valeur à ce type) alors qu'il produit le bon code et que tout fonctionne, mais ça fait partie de la joie de la découverte ! Heureusement que je ne suis pas payé pour ce que je fais, je n'ai pas un gros rendement

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 586
    Points : 1 147
    Points
    1 147
    Par défaut DirextX
    Dans le cadre de mes tests de Boo (et de mon apprentissage en cours de DirectX), je me suis mis à traduire les exemples C# de DirectX, que je trouve un peu partout, en Boo. Ca fonctionne toujours! Et en plus, c'est d'un tranquille à écrire en général, plutôt souple et, à mon avis, d'un abord plus aisé que C#.
    Mais parfois, mon inexpérience Booïque fait que j'hésite un peu et la manipulation des array en Boo est plutôt différente du C# , ce qui rend de temps en temps difficile l'implémentation, ou alors il y a des raccourcis que je n'ai pas imaginés.

    Exemples, tirés des tutos Managed DirectX qu'on trouve ici (exemple14).

    1) Création d'un Vertex Buffer.
    En C#, ça donne quelque chose comme ça:
    (buf est un VertexBuffer, et Lock() renvoie une array dont la taille des éléments dépend du type de vertex utilisé. Le (cast) lui donne le bon type.)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CustomVertex.PositionColord[] verts = (CustomVertex.PositionColored[])
     buf.Lock(0, 0);
    verts[0] =
     new CustomVertex.PositionColored(1, 1, 1, Color.Red.ToArgb());
    Côté Boo, j'ai écrit ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    verts=buf.Lock(0, 0) as (CustomVertex.PositionColored) //array
    v[0]=CustomVertex.PositionColored(1, 1, 1, Color.Red.ToArgb())
    Ca semble facile et ça marche.

    2) Création d'un Index Buffer.
    En C#:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    short[] arr = (short[]) buf.Lock(0, 0);
    arr[0]=1; arr[1]=2; arr[2]=5; arr[3]=8; arr[4]=9; //etc...
    En Boo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    arr=buf.Lock(0, 0) as (short)
    arr[0]=1
    arr[1]=2
    arr[2]=5
    arr[3]=8
    arr[4]=9
    etc...
    Ca marche tout aussi simplement, mais ça en fait des lignes!!!
    Alors je me suis dit que Boo savait initialiser une array en écrivant a=(1,2,5,8,9) etc., plutôt que a[0]=1, a[1]=2, etc. Mais je n'ai pas trouvé comment faire avec une array déjà définie et obtenue en résultat d'un précédent traitement. J'ai du me résoudre à créer une liste supplémentaire: temp=(1,2,5,8,9) , puis à faire une boucle de recopie.

Discussions similaires

  1. Quel est votre avis sur Code::Blocks ?
    Par doudoustephane dans le forum Code::Blocks
    Réponses: 54
    Dernier message: 12/06/2009, 12h58
  2. [SysML] Quel est votre avis sur SysML ?
    Par PINGOUIN_GEANT dans le forum UML
    Réponses: 12
    Dernier message: 25/02/2009, 21h24
  3. [MPD] Quel est votre avis sur ce MPD ?
    Par Cyborg289 dans le forum Schéma
    Réponses: 1
    Dernier message: 20/02/2008, 14h26
  4. Quel est votre avis sur mon sujet de projet fin d'études ?
    Par makaphrodite dans le forum Dépannage et Assistance
    Réponses: 2
    Dernier message: 04/12/2006, 13h21
  5. Réponses: 3
    Dernier message: 28/05/2006, 01h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo