Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Question concernant BASH et C
Envoyé par: niconux

Bonjour à toutes et à tous,

J'aurai voulu savoir si il existait un programme, par exemple, qui puisse convertir un script BASH en C ? Et inversement ?

Si cela n'existe pas, serai-ce possible ?

Merci par avance et bonne journée :-)

Poste le Monday 16 May 2005 11:54:47
Répondre     Citer    
Re: Question concernant BASH et C
Envoyé par: Sve@r

Euh... non. Les langages sont trop différents
Déjà rien que "ls |while read fic do; ... done" ou "if grep ..." à traduire en C t'en as pour ouate mille lignes de code en C...

Poste le Tuesday 17 May 2005 07:46:08
Répondre     Citer    
Re: Question concernant BASH et C
Envoyé par: niconux

Salut,

merci pour ta réponse. C'est ce qui me semblais, mais bon sait on jamais yawning smiley .



Poste le Tuesday 17 May 2005 12:59:32
Répondre     Citer    
Re: Question concernant BASH et C
Envoyé par: didou2

euuhhh,dites...
je suis un linuxien trés débutant, hein ,mais:
linux est écrit en C ?
=> bash aussi,alors ?
=> doit y avoir moyen ,non?

Poste le Tuesday 17 May 2005 14:53:52
Répondre     Citer    
Re: Question concernant BASH et C
Envoyé par: madko

on t'ecoute alors smiling smiley

Poste le Tuesday 17 May 2005 15:37:38
Répondre     Citer    
Re: Question concernant BASH et C
Envoyé par: didou2

euh,bah...non,alors,finalement.

j'ai rien dit:-))

Poste le Tuesday 17 May 2005 18:28:34
Répondre     Citer    
Re: Question concernant BASH et C
Envoyé par: abgech

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
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Question concernant BASH et C
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons