Pourquoi Java n'a pas été développé en C++ ?
La réponse sera la même, à savoir que C est encore plus permissif que C++. Enfin, là encore, ça demande à être vérifié mais bon …
En tout cas, C s'adapte plus pour un interpréteur de langage, ça s'impose. Je ne vois pas pourquoi on utiliserait de l'objet pour interpréter un langage, ce ne serait pas nécessaire. À la limite, on aurait pu hésiter entre C et Perl, mais C est plus rapide, donc on prend C, c'est tout.
Il faut comprendre une chose, c'est que les langages ne sont que des représentations d'une certaine réalité selon une philosophie. Oui, c'est un peu fumeux, mais c'est ça quand même (ou pas loin). Qu'on travaille en PHP, Java, Smalltalk, Prolog, peu importe. Chaque langage permet certaines choses que d'autres langages ne permettent pas. Allez faire du Prolog en PHP, on en reparlera. Allez coder un automate ou une machine de recherche en Ruby. Mais, la philosophie informatique, la conception, l'idée de la programmation, ça, ça change très peu.
On a l'idée de réaliser telle tâche, on a pas mille façons de le faire, en revanche, certain langage nous empêche de faire cette tâche efficacement. On va donc utiliser un autre langage car il s'adapte mieux à ce type de problème.
Quand j'entends (ou lis) qu'on connaît 30 langages, alors on est trop fort, ça me fait beaucoup rire. Ça montre bel et bien que la personne n'a rien compris à l'informatique et à la programmation. C'est un état de compréhension, et pas un capacité à afficher un Hello World.
Je pense que plus on avance en informatique, et plus on s'affranchit du langage. Certes, le langage est utile pour réaliser la tâche, mais peu importe le langage à utiliser, on a l'idée. Il ne nous reste qu'à utiliser le langage adapté, apte à répondre au problème.
À la limite, j'aime bien connaître plusieurs langages car ils mettent en relief des méthodes de résolution plus intéressantes que le ferait d'autres langages. Mais là encore, le langage est un outil pour explorer. Il faut être au-dessus et … comprendre.
Un langage n'est qu'une représentation. Même si chacun apporte son lot de subtilité je l'admets.
C'est pour ça que je considère deux choses. On peut être bon en programmation mais ne connaître aucun langage à fond, être un guru d'un langage. Et alors ? A contrario, on peut être très bon dans un langage mais quand on se retrouve sur une autre plate-forme, on est perdu, car la logique n'est pas là (bon, c'est moins crédible, car si on est très bon dans un langage, on est forcément bon en programmation).
Pendant ma formation universitaire, je suis appelé à manipuler plusieurs langages, je ne vois où c'est un problème. Quand on veut faire de la preuve, j'utilise Caml. Certes, la syntaxe est lourde, mais il est adapté à ce genre de problème. Après, on fait du système, on passe à du C, pareil pour l'algo. Ensuite, programmation fonctionnelle, on utilise Scheme ou LISP (même famille).
Un langage n'est qu'une syntaxe, une représentation, c'est très abstrait.
Alors s'il doit y avoir un débat sur les meilleurs langages, c'est par rapport à un problème précis, c'est tout, sinon ça ne sert à rien, à part faire monter son compteur de message.
Au final, voilà comment je pense : j'ai un problème, je trouve une solution à ce problème, et ensuite, je trouve le langage adapté pour mettre en place ma solution. Ça passe par : vitesse, mémoire, etc. Mais … c'est ça qu'il manque a beaucoup de « nouveau programmeur », c'est la notion de programmation. Un informaticien, c'est quelqu'un qui pense informatique, qui pense algorithme, qui pense programmation, le langage n'est que secondaire.
«
Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »
Hoa :
http://hoa-project.net (sur
@hoaproject).