Au-delà de la syntaxe de chaque langue (E.G. Print c. Echo), quelles sont certaines caractéristiques distinctives clés pour rechercher un langage de programmation? P>
En tant que débutant dans la programmation, je suis toujours confondu entre les forces et les faiblesses de chaque langue de programmation et comment les distinguer au-delà de leurs alias pour des fonctions natives communes. Je pense qu'il est beaucoup plus facile de classer les langues basées sur un ensemble de caractéristiques distinctives par exemple. Oop v. Fonctionnel. P>
8 Réponses :
Il y a beaucoup de choses qui définissent un PL, ici i'litez quelques-uns: p>
Il y a peut-être que d'autres aiment les autres des collectionneurs à déchets, le traitement des paramètres, etc. Le langage Eiffel a une caractéristique intéressante du contrat, je n'ai pas vu cela sur une autre langue (je pense que c # 4.0 a Il est maintenant), mais cela peut être assez utile si bien utilisé. P>
Je vous recommanderais de jeter un coup d'œil sur le travail de Bertrand Meyer pour avoir une compréhension plus profonde sur la façon dont le travail de PL et les choses qui les définissent. Une autre chose qui peut définir un PL est le niveau d'interaction avec le système, ce qui fait la différence entre les langages de bas niveau et les langages de haut niveau. p>
J'espère que je peux aider p>
dans un domaine (impératif, fonctionnel, concaténatif, réécriture de termes), parfois de son mieux pour examiner la présence ou l'absence de tout ensemble particulier de fonctionnalités. Par exemple, pour le flux principal impératif. P>
etc p>
Vous pouvez considérer des choses comme: p>
eval code>, peut-être)? li>
- Il faut que tous les types soient connus au moment de la compilation? LI>
- sont des types disponibles au moment de l'exécution? LI>
ul>
la différence entre niveaux de bas niveau em> langages de haut niveau em>. (Même si "bas" et "haut" sont des termes relatifs.) P>
Un langage de haut niveau utilisera une abstraction pour masquer les détails que les langues de bas niveau exposeraient à l'utilisateur. Par exemple, dans Matlab ou Python, vous pouvez initialiser un tableau N-dimensionnel dans une seule commande. Pas le cas en C ou en assemblage. P>
IMHO La force d'une langue est donnée par le nombre de choses que vous pouvez faire avec cela; à quelle vitesse et à quel point pouvez-vous accomplir les objectifs? P>
Les faiblesses d'une langue sont la somme des contraintes (de différents types) que vous rencontrez pendant que vous essayez d'atteindre votre objectif. P>
Il existe de nombreuses fonctionnalités qu'un langage de programmation peut prendre en charge. De plus, ces fonctionnalités ne sont pas toujours mutuellement exclusives. Par exemple, OCAML et F # sont à la fois fonctionnels et orientés objet. Écrire également une liste ici de tous les paradigmes qu'une langue peut soutenir serait exhaustive, mais il y a un livre Pragmatics linguistiques de programmation C'est un traitement complet de nombreux paradigmes trouvés dans les langages de programmation. P>
Cependant, pour moi, les choses importantes que j'ai besoin de savoir lorsque vous travaillez avec une langue sont les suivantes: p>
Remarque générale: Beaucoup de ce système de classification ne sont pas complets et ne sont pas si bons. Et les liens sont principalement chez Wikipedia. Alors soyez au courant. P>
Vous pouvez considérer d'autres caractéristiques telles que: p>