J'ai testé plusieurs langage: le PHP - php-cli, le Perl, le tcl, le bash, le batch, le C, le C++, mais aucun ne m'a vraiment convaincu.
Ce que je cherche, est un langage ayant un faible cast, à mi-chemin entre le PHP et le C/C++, et de pouvoir manipuler facilement différents type. Qu'il sache utiliser les tableau simplement, avec pourquoi pas, la possibilité de stocker différents types dans ce tableau ( oui encore à la php ), qui gére automatiquement les dépassement de tampon, comme on pourrai le faire en C/C++. En fait ce qu'il manque dans PHP, c'est la possibilité de faire des threads, des sous process, et donc tout ce qui peut aller avec ( mutex & co ).
Un des points positifs de PHP et Perl est la multitudes des modules additionnels (socket, gd, *sql, ). Ceux de php sont, certes, plus orientés web, mais fort utiles quand même, et php posséde de nombreuses fonctions de bases nécessaires à tous les traitements de chaines de caractères, des nombres, etc. Mais en même temps perl contient beaucoup plus de modules, on peut par exemple citer RSS::, IRC::, XMMS::. L'inconvéniant de Perl étant son code illisible ( pour un néophyte ), les variables bizarre pour des tableaux.
En bash, on peut faire pas mal de choses aussi, les commandes systèmes peuvent suffire. Pour les socket c'est netcat, utiliser pas mal de cat/sed/grep & co. Même si on imagine mal une grosse application. Je n'ai pas encore testé, mais on peut faire des "interface" avec dialog, ça sa peut être pas mal :).
Il vas falloir que je vois du coté de python, ce que sa peut donner. Quelles possibilitées on a, la facilité du traitement des chaines de caractères, les sockets, ... . La possibilité de faire des interfaces ( graphiques ou autres ), de faire des applications threadées, les modules additionnels et tout ce genre de choses bien sympatiques.
Pourquoi pas C/C++ ? Je trouve ces langages un peu trop typés. Les problèmes entres pointeurs, réferences, les problèmes de comilations des modules complémentaires, du genre de mysqlpp, gd. Pour arriver à faire marcher le tout ce n'est pas vraiment simple :( Il y a néanmois CommonC++ qui permet de faire beaucoup de choses, mais dont certaines parties de la doc sont un peu obscure ( je pense aux listes ).
Qu'en est-il aussi de ruby ? A quoi est-il d'abord déstiné ? Il faudra que je vois celui là aussi.
1 De Tsuna -
rohlala C only coco!!! Le seul truc qui manque en C, c'est que y'a pas de gestion de namespace & co, c'est un peu relou sur les gros proj... bon OK le C++ ça passe aussi, mais c'est tout hein... le PHP c'est pour les ptis scripts à deux balle, après ça sux. Si t'as un vrai proj à coder, ça doit être rock stable toussa toussa, faut utiliser un VRAI langage, donc C/C++
Faut arréter de dire que en C on peut rien faire, le C c'est le langage de plus loin le mieux fournis en libs en tout genre, y compris pour gérer les strings, les dépassements de buffers, toussa toussa, y'a des milliers de libs en tout genre sur le net... tu peux TOUT faire avec...
Sinon si tu veux un langage qui fait tout à ta place, qui check automatiquement les buffers et tout, bref un langage de HAUT niveau, y'a le Java qui rox mais qui est inutilisable en prod, ou alors le ruby, le python toussa toussa... mais après on rentre dans le grand débat "vaut-il mieux utiliser des langages de HAUT niveau qui font tout à ta place mais qui sont _carrément_ plus lourd etc ou des langage de 'bas' niveau (enfin moyen niveau) style le C qui, par défaut, ne te propose que la base d'un langage et auquel tu dois ajouter pleins de libs en fonction de tes besoins"
Perso je préfère l'approche du langage de bas/moyen niveau avec des libs, après c'est une question de choix perso... Tout simplement parce que le C c'est intuitif, léger, rapide, proche de la machine tout en restant dans le monde des langages de haut niveau... Le C++ apporte une alternative viable puisqu'il a quand même des outils bien pratique sur les gros proj (namespace, "POO", surcharge d'opérateurs etc) et l'avantage c'est qu'il cohabite complétement bien avec le C
voilà mon avis sur la question