Je nuancerais la réponse apportée par Sve@r.
C'est parfaitement possible de faire des traducteurs bash <-> C !
J'ai bien écrit un traducteur Cobol -> C qui marche parfaitement; il existe p2c (pascal to c), mais ça, c'est très facile à écrire.
Mais un bash <-> C n'offre strictement aucun intérêt et l'effort de programmation demandé n'en vaut pas la chandelle.
Les deux langages ont des objectifs totalement différents, pour faire simple:
1) bash
C'est un langage interprété (la traduction en langage machine se fait à la volée, lors de "l'exécution" de chaque instruction bash, chaque exécution nécessite une traduction. Cela permet une grande souplesse dans certains types de traitements (plus de dynamisme), mais au détriment de l'efficacité, tant en terme de temps d'exécution qu'en terme de place).
2) C
C'est un langage compilé. La traduction est faite en une fois, avant la première exécution du programme. Il n'est nécessaire de traduire avant chaque exécution, c'est le programme en langage machine qui est conservé. C'est une technique efficace, amha, le C est le langage le plus efficace en dehors de l'assembler, toute qualités d'algoritmique et de programmation égales par ailleurs.
Par contre, c'est beaucoup moins souple, plus délicat à programmer, et il faut gérer pratiquement totalement le dynamisme.
Mons avis:
Pour gagner ma croûte et faire des programmes efficaces, je programme en C. Par contre, pour me faire plaisir intellectuellement, j'écris des scripts (bash ou autres), parce que là, on peut vraiment faire des ruses de sioux.
..................
Parce qu'il avait une clôture à utiliser, l'homme invente la propriété privée. --- F. Cavanna
Poste le Tuesday 17 May 2005 18:33:45