[Sequanux-ml] questions de programmation

simon simon at sequanux.org
Ven 7 Aou 14:39:30 CEST 2009


On Fri, Aug 07, 2009 at 10:46:57AM +0200, Jonas wrote:
> Question num 1:
> 
> J'ai recemment quelques soucis avec la structure de controle switch:
> Je croyais qu'on pouvait utiliser des char pour les cases, de cette
> facon:
> char c = 'a';
> switch(c)
> {
> case 'a': return 1;
> case 'b': return 2;
> case 'c': return 3;
> }
> 
> Mais j'ai une erreur de lvalue, et j'ai cherche rapidement sur le net,
> et apparemment, c'est pas conforme.

En C99, l'expression évaluée par un switch doit être entière. Le type
char doit donc être valide. En tout cas, il ne pose pas de problème à
gcc.

Est-ce le code que tu présentes ici est bien celui qui génère l'erreur ?
Si ce n'est pas le cas peux tu fournir la version orignale ?
Peux tu également préciser le compilateur que tu utilises (ainsi que
sa version) ?

> 
> Je voulais aussi avoir un avis assez objectif sur le python compare au
> c/c++ (mis a part le fait que le python est interprete), j'essaie
> d'apprendre le ruby, mais le ruby est un language en constante
> évolution alors que le python est plutôt rodé. Meme si le ruby est a
> peu pres dans le meme esprit que le python, j'arrive pas trop a voir
> la difference, et surtout voir ce que le ruby a en plus, mis a part le
> concept du tout objet.
> 
> La deuxieme question est un peu naive, mais je voulais surtout avoir
> une reponse pour la premiere question.

A mon avis, le choix du langage a utilisé dépend surtout du besoin. Si
par exemple tu veux écrire un driver pour le noyau linux, tu ne le
feras pas en python... de même que si tu dois travailler sur une GUI,
tu n'auras pas envie d'utiliser un langage comme le C :)

Simon
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: non disponible
Type: application/pgp-signature
Taille: 197 octets
Desc: Digital signature
URL: <http://sequanux.org/pipermail/sequanux-ml/attachments/20090807/9449f31e/attachment.pgp>


Plus d'informations sur la liste de diffusion Sequanux-ml