Recherche d'un co-auteur sur les paradigmes de programmation

a marqué ce sujet comme résolu.

Bonjour à tous,

Suite à (ce qui a été dit dans les requêtes de tutoriels)[https://zestedesavoir.com/forums/sujet/983/requetes-de-tutoriels/?page=17#p53801], Dominus Carnufex, GuillaumeDIDIER et moi-même sommes en train de préparer un cours sur les différents paradigmes de programmation.

L'idée du cours est d'expliquer la raison d'être des paradigmes et de présenter en détail les principaux d'entre eux, pour faire (très) court. Cependant, notre plan inclut une partie sur la programmation logique que nous ne maîtrisons pas.

Nous sommes donc à la recherche d'un quatrième co-auteur qui pourrait nous apporter ses lumières sur le sujet. Si vous vous sentez parés à relever le défi, faites-le savoir !

L'idée générale, c'est de présenter les traits saillants du paradigme pris dans son ensemble (ses caractéristiques principales, son histoire, son utilisation principale, ses particularités par rapport aux autres paradigmes, etc.) et de réaliser une sorte de glossaire, mais en plus digeste, des principales notions à connaître pour pouvoir programmer dans n'importe quel langage utilisant ce paradigme. Par exemple, expliquer ce qu'est une variable, un type ou une fonction en programmation procédurale, et ce indépendamment du langage effectivement utilisé, avec des exemples de comment cela est implémenté dans différents langages.

In fine, l'idée est que les tutos sur un langage donné puissent renvoyer vers ce tuto-ci pour les explications récurrentes : qu'est-ce qu'une variable, qu'est-ce qu'un objet, etc.

Autant que possible, il faudrait donc que les explication ne concernent pas un seul langage. Alors, j'ai bien conscience qu'en prog logique, il n'y a pas grand chose d'autre que Prolog, mais si tu te sens d'abstraire un peu les explications de leur implémentation précise en Prolog…

+1 -0

Je ne sais pas où en est votre cours et si vous avez abordé ces paradigmes mais je peux éventuellement vous donner un coup de main par MP pour l'AOP ou l'Event-Driven-Programming. (EDIT : et donner des exemples concrets : annotations / décorateurs pour l'un, nodejs et assimilés pour l'autre).

J'me sens vraiment pas d'écrire un article complet dessus (surtout sans paraphraser Wikipedia honnêtement) mais ce sont deux paradigmes que j'utilise très fréquemment, donc je peux sans doute répondre à à certaines questions que vous pourriez éventuellement vous poser. N'hésitez pas.

+0 -0

Le truc c'est justement qu'en prog logique, il n'y a pas des masses de langages, et si on veut abstraire… C'est de la logique ! Du coup, parler de clauses de Horn ou de logique du premier ordre dans ce genre de tuto, j'ai un peu peur que ça fasse fuir du monde.

Y a-t-il une bêta ou quelque chose d'autre histoire de jeter un oeil à ce qui est fait sur les autres sujets ?

Du coup, parler de clauses de Horn ou de logique du premier ordre dans ce genre de tuto, j'ai un peu peur que ça fasse fuir du monde.

Concrètement, je ne pense pas que les pré-requis logiques soient trop complexes pour qu'on puisse en donner une certaine intuition.

Par ailleurs, Prolog n'est certainement pas le seul langage dont ce chapitre pourra parler : déjà parce que Prolog a plein d'héritiers qui fonctionnent de façon parfois assez différente (certains sont, il me semble, davantage orienté vers la programmation par contrainte, etc.), et ensuite parce qu'il y a d'autres langages logiques qu'il pourrait être intéressant de mentionner (Datalog, Mercury, etc.).

Le cours en général me rend assez sceptique. Je serais moi aussi d'avis d'ouvrir rapidement la bêta, quitte à ce que certaines parties soient encore très schématiques.

Du coup, parler de clauses de Horn ou de logique du premier ordre dans ce genre de tuto, j'ai un peu peur que ça fasse fuir du monde.

Concrètement, je ne pense pas que les pré-requis logiques soient trop complexes pour qu'on puisse en donner une certaine intuition.

Tout dépend justement du niveau où va se situer le tutoriel. S'il s'agit de présenter globalement ce qu'est la programmation logique, alors oui, on peut le faire sans logique et expliquer ça intuitivement. S'il s'agit en revanche d'une introduction, alors je pense que c'est important d'expliquer le parallèle avec la logique.

Par ailleurs, Prolog n'est certainement pas le seul langage dont ce chapitre pourra parler : déjà parce que Prolog a plein d'héritiers qui fonctionnent de façon parfois assez différente (certains sont, il me semble, davantage orienté vers la programmation par contrainte, etc.), et ensuite parce qu'il y a d'autres langages logiques qu'il pourrait être intéressant de mentionner (Datalog, Mercury, etc.).

Je ne connais pas assez bien ce qui se fait dans les autres langages pour discuter de ce point. Mais de ce que j'en ai vu, je retrouve à chaque fois les structures de bases de Prolog, agrémentées de quelques ajouts (déclaration de fonctions, système de type plus avancé etc…), ou suppressions dans le cas de Datalog. La question est : ces ajouts apportent-ils quelque chose d'un point de vue programmation logique ? La plupart du temps, non, il s'agit simplement de faire cohabiter ce paradigme avec un autre (ce qui, en soi, est très bien). C'est effectivement important d'en parler, mais peuvent-ils servir pour illustrer certains aspects de la programmation logique ?

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte