J'ai entendu plusieurs fois que chaque programmeur devrait apprendre un de chaque type de langage. Maintenant, ce n'est pas nécessairement vrai, mais je pense que c'est une bonne idée.
J'ai appris un langage procédural (Perl), mais quels sont les autres types?
Quelles sont les différences entre eux et quels sont quelques exemples de chacun?
programming-languages
paradigms
Dynamique
la source
la source
Réponses:
Même si la terminologie est loin d'être normalisée, une façon courante de classer les principaux paradigmes de programmation en
Vous semblez déjà savoir à quoi ressemble la programmation procédurale.
Dans les langages fonctionnels , les fonctions sont traitées comme des objets de première classe. En d'autres termes, vous pouvez passer une fonction en tant qu'argument à une autre fonction, ou une fonction peut renvoyer une autre fonction. Le paradigme fonctionnel est basé sur le calcul lambda, et des exemples de langages fonctionnels sont LISP, Scheme et Haskel. Fait intéressant, JavaScript prend également en charge la programmation fonctionnelle.
Dans la programmation logique , vous définissez des prédicats qui décrivent les relations entre les entités, telles que
president(Obama, USA)
oupresident(Medvedev, Russia)
. Ces prédicats peuvent devenir très compliqués et impliquer des variables, pas seulement des valeurs littérales. Une fois que vous avez spécifié tous vos prédicats, vous pouvez poser des questions à votre système et obtenir des réponses logiquement cohérentes.La grande idée de la programmation logique est qu'au lieu de dire à l'ordinateur comment calculer les choses, vous lui dites ce que sont les choses. Exemple: PROLOG.
Le paradigme orienté objet est à certains égards une extension de la programmation procédurale. Dans la programmation procédurale, vous avez vos données, qui peuvent être des types primitifs, comme des entiers et des flottants, des types composés, comme des tableaux ou des listes, et des types définis par l'utilisateur, comme des structures. Vous avez également vos procédures, qui opèrent sur les données. En revanche, dans OO, vous avez des objets, qui incluent à la fois des données et des procédures. Cela vous permet d'avoir de belles choses comme l'encapsulation, l'héritage et le polymorphisme. Exemples: Smalltalk, C ++, Java, C #.
La programmation générique a été introduite pour la première fois dans Ada en 1983 et s'est généralisée après l'introduction de modèles en C ++. C'est l'idée que vous pouvez écrire du code sans spécifier les types de données réels sur lesquels il opère et demander au compilateur de le comprendre. Par exemple au lieu d'écrire
tu écrirais
une fois, et que le compilateur génère du code spécifique pour tout ce qui
T
pourrait être, quandswap()
est réellement utilisé dans le code.La programmation générique est prise en charge à des degrés divers par C ++, Java et C #.
Il est important de noter que de nombreux langages, tels que C ++, prennent en charge plusieurs paradigmes. Il est également vrai que même lorsqu'un langage est censé prendre en charge un paradigme particulier, il peut ne pas prendre en charge toutes les fonctionnalités du paradigme. Sans oublier qu'il y a beaucoup de désaccords quant aux fonctionnalités requises pour un paradigme particulier.
la source
Les langages de programmation ont un certain nombre de caractéristiques principalement orthogonales; le plus important réside dans le ou les paradigmes qu'ils soutiennent. L' article de wikipedia couvre de manière exhaustive les paradigmes; les paradigmes les plus importants sont probablement ceux-ci:
Mais les langues diffèrent également d'autres manières:
la source
Il existe plusieurs paradigmes de programmation différents qui sont actuellement en vogue:
la source
Prolog est un langage de programmation logique et est relativement facile à démarrer. Cela nécessite une pensée complètement différente de la programmation procédurale, il est donc bon d'explorer lorsque vous essayez d'étirer votre cerveau.
Si vous allez au collège, vous devriez suivre un cours sur les langages de programmation, car il vise à introduire les différents types de langages de programmation et à quoi ils sont le mieux utilisés.
la source
La plupart des langages traditionnels mélangent des aspects de programmation impérative, fonctionnelle et déclarative. Les langues de niche ont tendance à être plus exotiques ou à introduire de nouvelles idées intéressantes qui, pour une raison ou une autre, ne conviennent pas à la programmation à usage général. Quelques exemples, nullement exhaustifs:
(+/ % #)&.:*:
calcule le RMS d'un tableau. Célèbre pour être concis, notoire pour être illisible.la source