Quel est le meilleur langage pour manipuler des dossiers et des fichiers ?

Le problème exposé dans ce sujet a été résolu.

Ne te méprends pas, j'aime beaucoup Lua et je m'amuse pas mal avec. Mais ça n'est pas sa vocation d'être un langage de scripting système standalone comme peuvent l'être Python et Perl. Il lui manque une vraie bibliothèque standard pour offrir tout le confort qu'on attend d'un langage de script à l'utilisateur, donc ce serait un peu comme faire du vélo avec un siège en bois.

Par contre il a d'autres qualités : il est vraiment extrêmement commode à embarquer dans un programme en C ou C++, et ses performances sont éblouissantes.

Il est complémentaire aux autres en fait :

  • On pense un programme en Python quitte ensuite optimiser certains morceaux de code en C.
  • À l'inverse, on pense un programme en C quitte à se servir de Lua pour lui construire une API à haut niveau et qui permet de créer facilement des extensions.
+1 -0

Vu que tout le monde bash (lol) l'option du C++, je persiste à préciser que si tu dois faire du traitement regex dans les fichiers sur un gros volume de données (genre tout un disque), ça risque d'être indispensable d'avoir de bonnes perfs et seul C++ pourra te les offrir sans être aussi bas level et hardcore que le C. Avec la lib standard et Boost t'as tout ce qu'il faut pour : asynchronisme, unicode, filesystem, etc. Mais ça ne vaut le coup que si tu as vraiment besoin de perfs : C++ est environ 30 fois plus rapide que Python, mais c'est son seul avantage. Si les perfs ne comptent pas ou si tu dois juste traiter les noms de fichiers et pas leur contenu, vaut mieux un langage de script que tu pourras apprendre très vite si besoin et qui te fournira tous les outils "all in the box".

Mais ça ne vaut le coup que si tu as vraiment besoin de perfs

Et encore, pas tellement : avoir un « langage rapide », ça t'aidera si tu es limité par ta puissance de calcul. Si c'est pour faire des choses simples sur des données qui viennent d'un disque dur comme tu le décris, ça ne sera pas le cas, et utiliser le C++ plutôt que Python (par exemple) ne changera quasiment rien.

@nohar: très juste. IL n'empêche qu'il y a quand même ce pack "lua for windows" qui contient des choses intéressantes justement pour lanipuler des fichiers/dossiers, instancier des composants COM/ActiveX, etc.

Vu que tout le monde bash (lol) l'option du C++, je persiste à préciser que si tu dois faire du traitement regex dans les fichiers sur un gros volume de données (genre tout un disque), ça risque d'être indispensable d'avoir de bonnes perfs et seul C++ pourra te les offrir sans être aussi bas level et hardcore que le C. […] Mais ça ne vaut le coup que si tu as vraiment besoin de perfs : C++ est environ 30 fois plus rapide que Python, mais c'est son seul avantage.

Il y a à mon avis quand même de meilleures alternatives au cas où python ne suffit vraiment plus, sans devoir passer direct à C++. Il ne faudrait quand même pas oublier Java et C#, qui pour moi se placent entre deux, autant en terme de rapidité que de facilité d'utilisation dans ce contexte.

Quant à bash… perso j'aime pas. Dès le moment où il y a des conditions et des fonctions, j'aime autant passer à un vrai langage de script. De toute façon le bash est hors de propos ici puisqu'on parle de windows, et le batch est vraiment un (langage) pourri à plusieurs points de vue: syntaxe et logique totalement contrintuitive, absence de fonctionalités de base importantes, documentation fragmentaire, vitesse d'exécution plutôt lente… à ce moment-là, mieux vaut se pencher sur la solution JScript/VBScript ou alors PowerShell. Le gros avantage de ces deux-là c'est qu'on a rien à installer.

+0 -0

Non mais c'est quoi ces gens qui veulent mettre des langages statics fait pour développer des systèmes complet quand c'est du simple scripting qui est demandé?

L' ordre de grandeur pour les accès mémoires sont:

  • Quelques nanosecondes pour le cache processeur
  • Quelques centaines de nanosecondes a quelques microsecondes pour aller chercher un truc dans la mémoire dédiée du gpu
  • quelques dizaines de microsecondes pour aller chercher dans la ram
  • quelques dizaines de millisecondes a quelques centaines de microsecondes selon la techno pour la mémoire long terme.
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte