OVH Cloud OVH Cloud

Generation automatique de code C

28 réponses
Avatar
candide
Bonjour,

C'est juste pour ma culture. Je suppose qu'il existe des programmes qui génèrent
automatiquement du code C, par exemple il me semblait avoir vu dans les sources
de gcalctool (une calculatrice sous gnome) des fichiers C qui, vu l'origine
déclarée, vu son allure générale et vu le nombre de goto qu'il contenait devait
être une traduction (non humaine !) directement du Fortran. Autre exemple qui me
vient à l'esprit mais que je n'ai jamais expérimenté : glade le générateur de
code C d'interface graphique.

Donc si vous avez connaissance d'autres exemples, si vous savez si c'est une
pratique industrielle fréquente, etc, je suis curieux de savoir.

Merci

8 réponses

1 2 3
Avatar
Thierry Chappuis
Thierry Chappuis a écrit :
Le langage Vala (http://live.gnome.org/Vala) qui génère du CObject.

Thierry



.. C + GObject
Avatar
espie
In article <49de4281$0$9111$,
Thierry Chappuis wrote:
Thierry Chappuis a écrit :
Le langage Vala (http://live.gnome.org/Vala) qui génère du CObject.

Thierry



.. C + GObject



Ah oui, beurk.

La page du projet est drole.
J'aime bien le

"Many developers want to write GNOME applications and libraries in
high-level programming languages but can't or don't want to use C#
or Java for various reasons, so they are stuck with C without syntax
support for the GObject type system."


C'est coherent avec le dogme glib (C++ c'est mal). Ca en arrive au stade
ou ils ignorent simplement l'existence du langage (ah vous voulez de l'objet?
vous ne voulez pas faire de C# ou java, les deux seuls langages qui
existent... ? faites du vala).

Le point positif:
- ils reconnaissent enfin que la syntaxe de glib/gtk est tordue et que
faire ce genre de trucs en C pur, c'est trop penible et pas lisible.

Le point negatif:
- et un n-eme langage qui ne sert a rien de plus a apprendre.

Enfin bref... maintenant que Nokia a passe Qt en LGPL, il reste bien
peu de raisons de faire du gtk aujourd'hui (sauf evidemment si on souffre
de la meme aversion au C++ que les gens de gnome/vala).
Avatar
Alexandre Bacquart
Marc Espie wrote:
In article <49de4281$0$9111$,
Thierry Chappuis wrote:
Thierry Chappuis a écrit :
Le langage Vala (http://live.gnome.org/Vala) qui génère du CObject.

Thierry


.. C + GObject



Ah oui, beurk.

La page du projet est drole.
J'aime bien le

"Many developers want to write GNOME applications and libraries in
high-level programming languages but can't or don't want to use C#
or Java for various reasons, so they are stuck with C without syntax
support for the GObject type system."


C'est coherent avec le dogme glib (C++ c'est mal). Ca en arrive au stade
ou ils ignorent simplement l'existence du langage (ah vous voulez de l'objet?
vous ne voulez pas faire de C# ou java, les deux seuls langages qui
existent... ? faites du vala).

Le point positif:
- ils reconnaissent enfin que la syntaxe de glib/gtk est tordue et que
faire ce genre de trucs en C pur, c'est trop penible et pas lisible.

Le point negatif:
- et un n-eme langage qui ne sert a rien de plus a apprendre.

Enfin bref... maintenant que Nokia a passe Qt en LGPL, il reste bien
peu de raisons de faire du gtk aujourd'hui (sauf evidemment si on souffre
de la meme aversion au C++ que les gens de gnome/vala).



Je ne comprend pas très bien cette argumentation :

http://www.gtkmm.org/index.shtml

Ce n'est pas assez bien ? C'est encore un chouia incomplet paraît-il,
mais ça ratisse déjà très large. J'en ai fais pendant quelques temps et
j'ai été plutôt conquis.

Aurais-je mal interprété tes propos ?


--
Alex
Avatar
Richard Delorme
Marc Espie a écrit :

Le langage Vala (http://live.gnome.org/Vala) qui génère du CObject.







C'est coherent avec le dogme glib (C++ c'est mal). Ca en arrive au stade
ou ils ignorent simplement l'existence du langage (ah vous voulez de l'objet?
vous ne voulez pas faire de C# ou java, les deux seuls langages qui
existent... ? faites du vala).



Je ne pense pas que cette interprétation soit la bonne. La syntaxe de
vala ressemble à celle de C# qui elle-même ressemble à celle de Java ;
mais reste assez éloignée de celle de C++ ; c'est pourquoi elle
s'adresse plus à ces programmeurs de C# ou Java qu'au programmeur de
C++. L'intérêt de vala, c'est qu'il n'y a pas besoin d'interpréteur ou
de compilateur à la volée d'un bytecode comme pour C# ou java. Il n'y a
pas nécessairement un dénigrement de C++ la dedans.


Enfin bref... maintenant que Nokia a passe Qt en LGPL, il reste bien
peu de raisons de faire du gtk aujourd'hui (sauf evidemment si on souffre
de la meme aversion au C++ que les gens de gnome/vala).



Qt utilise un C++ étendu (via moc le meta-object compiler) donc ce n'est
pas vraiment du C++, mais un « n-ième langage à apprendre...»

--
Richard
Avatar
espie
In article <49df0f2d$0$12628$,
Richard Delorme wrote:
Enfin bref... maintenant que Nokia a passe Qt en LGPL, il reste bien
peu de raisons de faire du gtk aujourd'hui (sauf evidemment si on souffre
de la meme aversion au C++ que les gens de gnome/vala).





Qt utilise un C++ étendu (via moc le meta-object compiler) donc ce n'est
pas vraiment du C++, mais un « n-ième langage à apprendre...»



Qualifier le C++ etendu de Qt de n-e langage a apprendre, c'est risible.
On parle d'une extension excessivement limitee, qui ne touche que de rares
(tres rares) elements du toolkit. Perso, ca m'a pris... l'essentiel de 30 s
pour apprendre cet aspect de Qt...

... et un peu plus pour apprendre a utiliser la bibliotheque elle-meme, mais
remarquablement peu par rapport a ce qu'elle permet.

(notons que si Qt etait ecrit aujourd'hui, il n'y aurait pas moc. On peut
tres bien faire la meme chose avec du C++ moderne et les bonnes techniques...
mais les gens de Qt sont des gens pratiques, et ont prefere garder la
compatibilite avec l'existant. Je n'ai jamais vu qui que ce soit qui utilisait
serieusement qt et a qui moc posait le moindre souci).
Avatar
Gabriel Dos Reis
Richard Delorme writes:

| Marc Espie a écrit :

Le langage Vala (http://live.gnome.org/Vala) qui génère du CObject.







C'est coherent avec le dogme glib (C++ c'est mal). Ca en arrive au stade
ou ils ignorent simplement l'existence du langage (ah vous voulez de l'objet?
vous ne voulez pas faire de C# ou java, les deux seuls langages qui
existent... ? faites du vala).





| Je ne pense pas que cette interprétation soit la bonne. La syntaxe de
| vala ressemble à celle de C# qui elle-même ressemble à celle de Java ;
| mais reste assez éloignée de celle de C++ ;

Quelle métrique utilises-tu ?

-- Gaby
Avatar
Richard Delorme
Gabriel Dos Reis a écrit :
Richard Delorme writes:

| Marc Espie a écrit :
Le langage Vala (http://live.gnome.org/Vala) qui génère du CObject.




C'est coherent avec le dogme glib (C++ c'est mal). Ca en arrive au stade
ou ils ignorent simplement l'existence du langage (ah vous voulez de l'objet?
vous ne voulez pas faire de C# ou java, les deux seuls langages qui
existent... ? faites du vala).




| Je ne pense pas que cette interprétation soit la bonne. La syntaxe de
| vala ressemble à celle de C# qui elle-même ressemble à celle de Java ;
| mais reste assez éloignée de celle de C++ ;

Quelle métrique utilises-tu ?



P.ex. des mots clés comme interface, finally,... qui existent en Java,
C# et vala, mais pas en C++ ; absence de l'opérateur "->"; etc.


--
Richard
Avatar
Jean-Marc Bourguet
Richard Delorme writes:

Marc Espie a écrit :

>>> Le langage Vala (http://live.gnome.org/Vala) qui génère du CObject.

> C'est coherent avec le dogme glib (C++ c'est mal). Ca en arrive au stade
> ou ils ignorent simplement l'existence du langage (ah vous voulez de l'objet?
> vous ne voulez pas faire de C# ou java, les deux seuls langages qui
> existent... ? faites du vala).

Je ne pense pas que cette interprétation soit la bonne. La syntaxe de
vala ressemble à celle de C# qui elle-même ressemble à celle de Java ; mais
reste assez éloignée de celle de C++



Je suis beaucoup plus attentif a la semantique qu'a la syntaxe... et j'ai
comme a priori que celle de vala est plus proche de celle du C++ que de
Java ou C# (mais n'attendez pas que j'aille voir les documents qui me
permetteraient de confirmer ou infirmer mon a priori).

A+
--
Jean-Marc
FAQ de fclc: http://www.levenez.com/lang/c/faq
Site de usenet-fr: http://www.usenet-fr.news.eu.org
1 2 3