Quels langages pour Valiz ?
Par Reivilo le samedi, janvier 27 2007, 18:08 - Débats - Lien permanent
Valiz est un gros projet et comme en prime il est open-source, il doit être parfaitement lisible, récupérable par module ou encore facilement modifiable. Évidemment, il faut aussi qu'il soit portable, etc...
Bref, le choix des langages est primordial. Il faut aussi penser à coder léger et performant.
Donc il faut choisir les langages pour Valizbot, les divers algorithme, le site, la gestion des APIs, etc... le point commun sera les donnée, je pense aux bases du SGBDR PostgreSQL.
Je pensais faire valizbot principalement en python avec une gestion des regex par Perl (comme c'est son point fort). Peut-être Java pour les algorithme ?
Comment voyez-vous Valiz et avec quels langages ?
Commentaires
Tous ces langages me semblent être un bon choix. Je plussoie pour Java, qui serait un bon atout pour la portabilité et qui est assez puissant.
Pour ce qui est du bot, je pense le faire entièrement en langage compilé pour des questions de performances et en rapport avec mon prochain billet : architecture atome.
Java je ne connais que de réputation, ce serait plus intelligent de l'utiliser que du C++ ? T'as des références de bouquins en Java ? Je vais déjà éplucher O'reilly et Eyrolles.
Désolé, je n'ai pas de référence sous le coude. C'est clair que C++ et Java ont en fait leurs avantages et inconvénients, donc pourquoi ne pas utiliser les deux (si toutefois c'est gérable)?
Pour avoir pratiquer les deux langages (moins C++ que Java (la majorité de mes TP/Projets ont été fait avec Java à Polytech')), les deux sont pas mal, mais ont des objectifs qui différent. C++ est plus rapide que Java, mais moins portable. Je n'ai pas d'expérience sur des projets de grande taille, mais il me semble que Java serait plus facilement maintenable, surtout pour des applis distribués pour faire le lien avec ton billet sur l'architecture atome. Entre autre parce qu'il possède un nombre considérable de Bibli standard, tu pourra peut-être me confirmer la même chose pour C++, je ne sais pas trop. Donc ça facilite pas mal le développement, et diminue pas mal le temps de dev.
Par contre, Java nécessite une machine virtuelle et comme je l'ai dit, il est plus lent que C++, donc C++ (voir C) pourrait plus se justifier sur les codes ou le temps d'execution doit être le plus minimal possible. Java est "plus" orienté objet que C++ aussi, puisque tout est objet (sauf les types de bases), mais bon je sais pas si c'est un avantage ou un inconvénient :p Bon, apres je suis sur que C++ a plein d'avantages aussi, mais je ne connais pas assez :p.
Donc à mon avis, Java peut-être une bonne option pour la structure et le dialogue entre les différents éléments de tout le bouza, et C++/C peut-être plus adapté pour ce qui est orienté calcul/traitement des données. Cela va dépendre aussi de la façon dont va être organisé et répartis les algorithmes.
Oui moi je vois aussi valiz en module avec pour chaque, le langage qui convient le mieux. Cependant ils doivent impérativement pouvoir gérer facilement les flux xml et disposer d'un bon connecteur PostgreSQL (pas forcément directement intégré dans les bibliothèques standards, mais il faut que ce soit très stable et performant). Là où on a moins de marges, ce sera pour les applications tournant sur des serveurs "électrons" (voir billet suivant) où la portabilité devra être optimale.
Le chois des langages n'est pas encore urgent, mais il faut déjà y réfléchir, le plus important étant de poser les algorithme.