[scripts] Quel langage de script choisir ?

Fermé
mig73 Messages postés 8 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 11 mai 2006 - 3 mai 2006 à 11:43
mig73 Messages postés 8 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 11 mai 2006 - 3 mai 2006 à 15:13
Bonjour,
je souhaiterais savoir quel est le langage de scripts le mieux adapté à mon applicaton:

Une carte électronique embarquée (OS: Linux RTAI) recoit des trames (depuis des canaux de type CAN plus précisement), celles ci sont stockées en temps réel dans une sorte de fichier tampon.
L'utilisateur lambda doit pouvoir, a l'aide d'un langage simple, définir quelles trames il souhaite conserver ou non, en fonction des critères qu'ils souhaitent.

L'objectif est donc de realiser un script qui "interprete" les commandes triviales issues d'un utilisateur, et executent en consequence les fonctions filtrant les trames souhaitées.

Il ya donc un travail de traitement de chaine de caractère, d'analyse de fichiers textuels, de l'interfacage graphique et on peut envisager de l'interrogation de base de donnée, des CGI... dans le futur.

Voila pourquoi il nous semble interessant d'utiliser un langage de scripts
L'architecture du soft n'est pas du tout mise en place, nous en sommes seulement au choix d'un langage parmis Perl, Python, Tcl/Tk entre autres, en fonction des critères suivants:

* Portabilité des applications. Il faut prendre en compte le coté developpement croisé, puisque le code sera embarqué sur la carte.

* Taille du code généré: on dispose d'environ 32 Mo de mémoire.

* Performances du langage

* Disponibilité (open source ...)

* Prise en main (facilité d'adaptation lorsqu'on connait deja quelques langages de programmation)

* Développement sous environnement graphique ou non

* Souplesse, modularité du code pour qu'il soit portable facilement dans d'autres appications.

En tenant compte de ces critères, pouvez vous m'orienter dans le choix d'un langage de scripts?

N'hésitez pas à me faire partager vos différentes experiences ou ouvrir le débat sur le sujet.

Merci beaucoup
A voir également:

2 réponses

blux Messages postés 26788 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 avril 2025 3 335
3 mai 2006 à 12:38
Salut,

si tu me dis : traitement de chaines, je te réponds "perl", il est conçu pour ça...

Maintenant, n'oublie pas que la majorité des langages de scripts sont interprétés, donc difficilement utilisables en temps réel...

Mais on peut aussi transformer du perl en C et compiler celui-ci...

Pour l'interfaçage graphique, j'aurais plutôt tendance à privilégier Python...

Pour l'apprentissage, pas de problème, à partir du moment où tu maitrises un langage, le saut à un autre n'est pas insurmontable (il n'y a que la POO qui soit un peu particulière, si tu n'en as jamais fait), tous les langages ont des conditions, des opérateurs, des boucles, des instructions d'I/O...

Privilégie également un langage possédant un "garbage collector" qui va gérer la mémoire finement en fonction des allocations/désallocations... (https://fr.wikipedia.org/wiki/Garbage_collector)
0
mig73 Messages postés 8 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 11 mai 2006
3 mai 2006 à 15:13
Merci blux, pour tes infos.

Pour le coté temps réel, je n'aurais pas du ajouter cette précision, car le temps réel nous intéressait dans la couche inférieure de l'application, au niveau de l'acquisition des trames CAN. Ici, nous n'avons pas besoin de temps réel, le programme le script va se situer dans le "user space", pour réaliser un enregistreur. Les trames enregistrées ne seront pas retraitées dans un premier temps, donc il n'y a plus necessité du temps réel. Merci pour ta remarque qui etait toutefois judicieuse, et qu'il faudra retenir pour plus tard.

Bien vu également pour le ramasse-miette. Les langages de script type shell, Perl ou python sont tous dotés d'un garbage collector, d'après ton lien wikipedia.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
3 mai 2006 à 12:49
Salut,

si tu me dis : traitement de chaines, je te réponds "perl", il est conçu pour ça...

C'est vrai que je préfère Perl à n'importe quel language pour l'instant et ça pour le simple raison qu'en Perl il n'y a pas des limites ce qui est très dangereux d'ailleurs.

Ce qui ne veut pas dire que c'est le meilleur. Je ne peux pas comparer avec Python par exemple puisque je ne connais pas Python , en revanche je lit les messages concernant ce langage qui semble assez populaire.

En bref avec Perl on peut faire tout y compris graphique grâce aux modules existantes (voir sur cpan).

Il a été conçu pour traitement des chaînes des caractèrs, mais c'était au début. Entre temps Perl a bien evolué.

C'est toujours une question de choix.

Je n'ai pas utilisé Python puisque je n'ai pas besoin, mais le jour où j'aurai besoin sûrement je le ferai.

lami20j
0