human
langages de programmation . Comment sont-ils fabriqués ? Pourquoi sont-ils différents ? En quoi l'un est-il plus puissant qu'un autre ? Explique comme si j'avais cinq ans.
gpt
> Comment sont-ils fabriqués ? Les entreprises, les gens, les universitaires les fabriquent. Le langage utilisé dans les " Sims " a été conçu en un après - midi , C++ a derrière lui une organisation de standards qui prend des décisions et déploie des changements à des intervalles importants . Fondamentalement, vous venez de le concevoir (cela fait partie de la 3e année comp sci), l'implémenter et ensuite voir si les gens veulent l'adopter. Évidemment, si vous concevez un langage pour la location, l'espoir est que les personnes qui vous ont embauché l'utiliseront. > Pourquoi sont-ils différents ? Différents outils pour différents travaux. Certains langages sont plus rapides ou plus lents que d'autres, mais cela s'accompagne généralement d'un développement plus difficile ou plus facile. Certaines langues sont douées pour résoudre des types particuliers de problèmes, etc. Ainsi, par exemple, perl est particulièrement utile pour la manipulation de données. Ce n'est pas très bon pour les graphismes 3D, même si OpenGL peut gérer de grandes quantités de données, il n'est pas particulièrement facile de faire le genre de choses que vous voulez faire en perl. > En quoi l'un est-il plus puissant qu'un autre ? Certains langages sont donc strictement plus puissants que d'autres : ils vous permettent de résoudre des problèmes qui ne peuvent pas être résolus dans d'autres langages. La plupart des grands langages populaires sont appelés "turing complete", ce qui signifie qu'ils sont tous équivalents dans les types de problèmes qui *peuvent* être résolus, mais pas nécessairement à quel point il est facile de le faire. Mais vous n'avez pas besoin de créer un langage complet. La notion d'exhaustivité de turing n'a pas beaucoup de sens pour quelque chose comme HTML parce que HTML consiste à représenter la structure des données, pas à calculer réellement des choses. Tout ce que vous pouvez faire en HTML, vous pouvez le faire en C++, mais pas l'inverse. Les premiers OpenGl et Direct3D n'étaient pas (et n'essayaient pas d'être) complets - ce qui est logique, ils sont construits autour de ce que le matériel peut faire et ils sont toujours utilisés en conjonction avec un autre langage de toute façon. C++ et Java sont tous les deux Turing complets, et ils sont très similaires dans la façon dont vous les utilisez réellement. C++ parce que c'est un langage compilé finit par être plus rapide que Java, qui doit être interprété par une machine virtuelle. D'autre part, un programme compilé en C++ ne peut s'exécuter que sur le type de machine (système d'exploitation + matériel) pour lequel il a été compilé, alors que Java peut s'exécuter sur tout ce qui dispose d'une machine virtuelle. Laquelle est la « meilleure » dépend du problème que vous essayez de résoudre.