Liens connexes

Dépêche modérée par

: Nouvelles versions de Ruby

Posté par Cédric Foll (page perso, ). Modéré le 24 décembre 2002.
0
Pour noël, matz (le créateur de Ruby) vient de mettre à disposition la nouvelle version stable de Ruby (1.6.8) ainsi que la première preview de la nouvelle branche stable (1.8.0).
Pour ceux qui n'ont pas encore la chance de connaitre Ruby, c'est un langage de script simple et puissant comme Perl et orienté objet.

> Lire la suite (16 commentaires, moyenne: 6,3).   [dépêche : 2243 caractères]

Cette sortie est l'occasion de parler de Ruby.

Ruby est un langage récent (sa première version publique date de 1995). Il a été développé au Japon par Yukihiro Matsumoto, alias «Matz». Celui ci ne trouvant pas dans les langages de scripts disponibles (Perl et Python en particluier) un que le satisfasse, aussi il décida d'en créer un. Il cherchait un langage alliant la puissance de Perl à un model Objet Pure (celui de Python n'étant pas satisfaisant). Le langage allie des fonctionnalités héritées de divers langages tels que la manipulation de texte de Perl, le modèle objet de SmallTalk, une syntaxe très claire similaire à Eiffel, ...

Voici un petit résumé des fonctionnalités intéressantes de Ruby:
Interprété. Le développement plus rapide, pas de phase de compilation.
Pure Objet. Tout ce que l'on manipule est est un objet. Il est néanmoins possible de programmer de manière procédurale et de presque oublier cette particuliarité.
Non typé. Le type des variables est déterminé pendant l'éxécution. Ceci permet d'écrire du code génirique sans avoir à se soucier du type de donnée que l'on manipule.
Gestion automatique de la mémoire. C'est l'interpréteur qui se charge d'allouer de la mémoire lors de la création d'objets, il gére aussi leur destruction (garbage collector).
Possibilité de passer un bloc d'intructions en paramètre d'une méthode.
Gestion des processus, signaux, threads, mutex, ...
Librairie TCP/IP très puissante.
Surcharge des opérateurs.
Disponible sur un grand nombre de plateformes (Unix, Windows, Dos, Amiga, ...)

Ruby est un langage extremment bien pensé et cohérent , il obéit au principe de la «moindre suprise» (Principle of Least Surprise), c'est à dire que le langage est conçu pour se comporter de la manière attendue. La syntaxe simple fait que l'on n'est pas surchargé de message d'erreurs lors de l'exécution (contrairement aux compilateurs C/C++ ou Java pour ne citer qu'eux), la gestion de structures de données complexes (de type tableaux de tableaux) est bien plus simple qu'en Perl et la gestion automatique de la mémoire évite bien des problèmes. Ruby permet de se concentrer sur l'aspect créatif de la programmation sans avoir à se soucier des complexités du langage.

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: Nouvelles versions de Ruby

Posté par Lafrite () le 24/12/2002 à 13:10. (lien). Évalué à 14.

Pour ceux qui connaissent python et pas Ruby, une petite comparaison.

http://www.thinkware.se/cgi-bin/thinki.cgi/RubyVsPython(...)

Deux beaux langages de script somme toute.

Re: Nouvelles versions de Ruby

Posté par manatane () le 24/12/2002 à 15:15. (lien). Évalué à 17.

Quelques sites en français :
- http://perso.wanadoo.fr/alain.feler/(...) le guide de l'utlisateur en français
- http://www.approximity.com/ruby/ruby_fr/siframes.html(...)
- http://myruby.ifrance.com/myruby/(...)

Re: Nouvelles versions de Ruby

Posté par menez bernard () le 24/12/2002 à 15:29. (lien). Évalué à 8.

Pure Objet. Tout ce que l'on manipule est est un objet. Il est néanmoins possible de programmer de manière procédurale et de presque oublier cette particuliarité.

Et Ruby transformera tout le procédural en mèthodes s'appliquant à un objet global ;)

Taduction du Perl Cookbook de O'reilly

Posté par Cédric Foll (page perso, ) le 24/12/2002 à 16:20. (lien). Évalué à 14.

Voici un projet intéressant auquel je participe: http://pleac.sourceforge.net/.(...)
Ce projet a pour but de traduire le livre "Perl Cookbook" ("Perl en action" dans sa version française) dans différents langages de programmation.
Pour ce qui ne connaissent pas ce livre, il s'agit d'un recueil de recettes (comment faire tel ou tel truc en Perl ?).
Le but de site est de traduire les recettes Perl dans différents langages de programmations (Python, Ruby, guile, ...).
Environs 40% des recettes ont été trdauites en Ruby, il reste du boulot pour les amateurs.

Re: Nouvelles versions de Ruby

Posté par William Steve Applegate (page perso, ) le 25/12/2002 à 21:24. (lien). Évalué à 7.

> La syntaxe simple fait que l'on n'est pas surchargé de message d'erreurs lors de l'exécution (contrairement aux compilateurs C/C++ ou Java pour ne citer qu'eux)

D'un autre côté, un ingé qui essayait récemment de montrer les bases du C++ dans mon assoc' (salut, Denis :-) expliquait pour sa part que le grand nombre de messages d'erreur du compilo C++ était une bonne chose, car ils étaient affichés à la compilation (et non à l'exécution, comme le dit l'auteur de l'article), ce qui permettait (justement) de minimiser les problèmes à l'exécution, en faisant du code plus robuste dès le départ. Personnellement, je n'ai pas été très convaincu (je pense qu'une syntaxe simple évite au débutant la plupart des chausse-trappes qui nécessiteraient de telles vérifications en profondeur), mais ça montre qu'il y a des arguments pour et contre. Pour ma part, j'aime bien que (le compilo|l'interpréteur) vérifie un minimum ce que j'ai pondu. En Perl, je mets toujours l'option `-w' et le drapeau `use strict;', par exemple...

--
WSA
Noyeux Joël à tous les dyslexiques !

--
Ce message vous a été présenté par les trollomètres de compétition Prumpleffer™

Re: Nouvelles versions de Ruby

Posté par André Rodier (page perso, ) le 25/12/2002 à 23:34. (lien). Évalué à 1.

Exite-t-il un comparatif des languages de script objet, tels que pike, python, ruby et les autres (j'en oublie certainement !)
Cela permettrait de savoir quel language est adapté à des besoins spécifiques d'une application.
On pourrait comparer les performances, les OS supportés, les blibliothèques intégrées, licenses, etc...
Cette profusion de languages de script n'entraine-t-elle pas un ambaras (du choix) pour celui qui veut commencer une application en script ?

Revenir en haut de page