Discussion Wikilivres:Projet programmation

Dernier commentaire : il y a 17 ans par J.M. Tavernier dans le sujet Taches en cours

Taches en cours

modifier

Recadrer la portée du livre Programmation

modifier

Programmation redirige actuellement vers un pseudo portail. Si un livre à part entière devait être rédigé à ce sujet, quel contenu devrait-on y mettre ?

Proposition

modifier

Suivre le plan : Abstraction - Instructions - Expressions - Instructions de controle - Commentaires - Variables - Types - Calculs mathématiques - Procedures et fonctions - Surcharge de fonctions - Structure et style - Manipulation de chaines - Entrées/Sorties - Gestion de mémoire - Gestion des erreurs - Programmation orientée objet - Programmation générique - Programmation concurrente - Paquetages et extensions - Bibliothèques

Discussions

modifier

Je propose d'y mettre un livre dont chaque chapitre explique un concept caractéristiques de langages de programmation. La liste proposée donne déjà une idée pertinente de la liste des chapitres. La livre pourrait proposé à la fin un panorama des langages de programmation. L'objectif du livre serait de permettre au programmeur de pouvoir choisir le langage qui lui convient le mieux (orienté objet ? typage fort/faible ? etc.). Sub 23 février 2007 à 14:33 (CET)Répondre

l'idée du panorama est intéressante. Je la verrai sous la forme d'une liste où chaque langage se voit attribuer un tableau (un bon moyen d'exploiter ce tableau qui plus est ?) et un court texte résumé avec un {{livre détaillé}} pour chaque occurence. Tavernier 23 février 2007 à 22:55 (CET)Répondre

Définir un plan de base pour les livres d'apprentissage des langages de programmation

modifier

Proposition

modifier

Chaque livre apprenant à maitriser un langage de programmation doit contenir les éléments suivants au minimum :

  • Abstraction : ascii, ide, intermédiaires entre système et lignes de code, ...
  • Instructions : séquentiel, compilé ? séparateur des instructions...
  • Expression : déroulement des expressions, syntaxe des opérateurs, gestion de pile, npi...
  • Instructions de controle : if, while...
  • Commentaires : syntaxe des commentaires (pages risquent d'être courtes...)
  • Variables : traitement des variables, affectation lors de la déclaration autorisée ?
  • Types : types supportés, typage fort ou faible ? etc.
  • Calculs mathématiques : peut être redondant avec la section "expressions"
  • Procedures et fonctions : syntaxe des procédures et foctions, ...
  • Surcharge de fonctions : un peu trop pointu ?
  • Structure et style : comment coder proprement avec le langage (mettrai ca à la fin...)
  • Manipulation de chaines : un peu trop pointu ?
  • Entrées/Sorties : comment sont gérées les entrées et les sorties
  • Gestion de mémoire : mécanismes de gestion de mémoire inclus dans le langage (un peu trop pointu ?)
  • Gestion des erreurs : mécanismes de gestion d'erreur inclus dans le lanagage (concerne plutot le compilateur ? d'où nécessité de développer sur le compilateur précédement ?)
  • Programmation orientée objet : mécanismes de poo inclus dans le langage (le cas échéant)
  • Programmation générique (un peu trop pointu ?)
  • Programmation concurrente (idem)
  • Paquetages et extensions : répertoire des meilleurs outils annexes au langage
  • Bibliothèques (j'inclurai ca dans la section précédente avec un titre plus générique)

Discussions

modifier

Proposition

modifier

Faire autant de tableaux de ce type qu'il y'a de langages traités sur fr.wikibooks. Utiliser des boites déroulantes si les tableaux prennent trop de place. Les placer dans tous les cas sur le portail dvpt logiciel.

Discussions

modifier

tableau comparatif tout n'est pas utile.

modifier

Proposition

modifier

Découper en plusieurs tranches pour éviter le surencombrement

Discussions

modifier

Tableau

modifier

Je suis en train de réfléchir comment exploiter ce tableau dans le cadre du livre Programmation. La mise en page par tableau risque de faire exploser la mise en page, si bien qu'il faudrait mieux essayer de trouver d'autres solutions. J'avais pensé lister d'abord chaque langage, puis en dessous de chaque, lui mettre une liste ou un tableau qui lui soit dédié. Par exemple :

  • Static typing - supporté - lire
  • Garbage Collection - non supporté
  • String - non supporté
  • Enumeration - supporté - écrire (au cas où la page n'existe pas sur wb)
  • ...
  • Static typing
  • Garbage Collection
  • String
  • Enumeration
  • ...

Mais j'ai l'impression que le tableau est axé pour les programmeurs expérimentés, et omet de préciser les notions de base comme les if, les entrées sortie, etc. Et d'autres au contraire sont trop pointues Le modèle se trouve ici : Programmation/modèle langage N'hésitez pas à l'améliorer (au niveau des traductions approximatives surtout). Tavernier 20 février 2007 à 05:58 (CET)Répondre

Je penses que toutes ces notions (if, currification...) sont explicitées dans les livres de la Catégorie:Algorithmique. On résoud le problème en faisant pointer chaque item de la liste vers une page l'expliquant. Par exemple, le "if" pourrait pointer vers Algorithmique impérative/Condition. Reste à rédiger les dits ouvrage ;). Je penses que ça résoud le problème, non ? Sub 20 février 2007 à 13:24 (CET)Répondre
La présentation en tableau reste une bonne idée. Si le nombre de langages dépasse en largeur , je suggère de le découper en plusieurs tableaux séparés. La suggestion de Sub me semble bonne pour faire les liens dans la première colonne, mais je pense que l'on devrait également mettre les liens vers les chapitres spécifiques des wikilivres consacrés au langage correspondant, pour montrer différence de syntaxe. --DavidL 20 février 2007 à 20:11 (CET)Répondre

Fait Suppression du livre programmation

modifier

depuis Discussion_Utilisateur:Sub

[...] le Wikilivres:Projet programmation vient d'ouvrir ses portes. C'est principalement une page de discussion sur ce qui touche le livre programmation, et éventuellement un outil pour aider à l'améliorer ;) Tavernier 20 février 2007 à 12:28 (CET)Répondre

Personnellement, je suis pour la suppression de ce "livre". Faire une telle compilation n'a aucun sens, àmha. C'est d'autant plus néfaste que dans la majeure partie de ces langages, 80% de ce qu'il y a à apprendre est redondant. C'est ce qui concerne l'algorithmique. Je penses qu'il est plus efficace d'écrire des livres comme Algorithmique impérative et de leur adjoindre des documents comme Algorithmique impérative/Pascal. Ca évite de répéter tout ce qui relève de l'algorithmique dans chaque livre sur un langage (qu'est-ce qu'un if, un for etc.). Cette factorisation va nous épargner beaucoup de travail inutile, et c'est suivant cette idée que je compte contribuer au projet. Je ne participerai donc pas (voire peu) à ce projet qui, selon moi, consomme des ressources humaines inutilement alors que nous en aurions besoin ailleurs. Sub 20 février 2007 à 13:10 (CET)Répondre
Je suis aussi d'accord pour mettre le qualificatif de "livre" à programmation entre guillemets, la page faisant d'avantage penser à un portail plutot qu'à un bouqin avec sommaire, chapitres et index. Par contre j'irai pas justqu'à le supprimer, car àmha la prgrammation peut quand même être traitée dans sa globalité sous un angle pédagogique. Il y'a des "que sais-je" ou le TAOCP qui traitent très bien le sujet par exemple ;) Tavernier 20 février 2007 à 17:25 (CET)Répondre
Soit. Créons un genre de portail dans le style de développement web ou alors quelque chose comme en:Computer programming. Au passage, ce genre de portail n'aurait pas sa place dans la wikiversity ? Sub 20 février 2007 à 18:52 (CET)Répondre
Ok. Qui verrait un problème à renommer pour le moment programmation en Portail:Programmation, quitte à creer un vrai livre sur la programmation par la suite ? Tavernier 22 février 2007 à 01:11 (CET)Répondre
Tout d'abord, je voudrais qu'on arrête de parler de la programmation et qu'on parle de Développement logiciel, terme qui englobe toutes les notions abordées dans la page actuelle. Ensuite, je suis pour qu'on créé un espace comme les "Portail:" de wikipédia. Cependant, je doute de la pertinence du terme "portail", pourquoi n'a pas utilisé le préfixe "Bibliothèque:", celà rejoint l'idée de « collection de livre ». Ce qui nous donne Bibliothèque:Développement logiciel. Je chipotte un peu, mais ce choix me semble déterminant pour la suite de projet. Sub 22 février 2007 à 13:51 (CET)Répondre
Je suis d'accord pour le renommage de Programmation en Bibliothèque:Développement logiciel, Programmation n'étant qu'un chapitre parmi d'autres qui seront à développer davantage. --DavidL 22 février 2007 à 17:17 (CET)Répondre
Je n'aime pas non plus le terme "portail", ou plutot je ne pense pas que les portails devraient avoir la même forme sur wikilivres que sur wikipédia. Pas de problèmes non plus pour moi pour Portail:Développement logiciel (voire Bibliothèque dans le futur, mais il faut effectuer une requete aux devs avant pour modifer le nom du namespace "portail") (en fait l'espace de nom "portail" n'existe pas non plus, donc pour le moment, on devra se contenter de Wikilivres:Portail_ ). Tavernier 22 février 2007 à 17:51 (CET)Répondre
Qu'est-ce qui nous empêche de renommer en Bibliothèque:Développement logiciel quite à attendre que la reconnaissance en espace de nom ne vienne qu'après ? Sub 22 février 2007 à 19:42 (CET)Répondre

Reste à renommer Langages de programmation en Programmation/Langages de programmation pour l'inclure dans le livre. Chose que je ne peux pas faire, étant donné que la seconde page était une sous-page de l'ancien livre aujourd'hui portail et est maintenant une redirection obsolète. Quelqu'un peut-il renommer ? Tout est en ordre, il me semble... Sub 23 février 2007 à 13:35 (CET)Répondre

Fait par Tavernier Sub 23 février 2007 à 14:02 (CET)Répondre

Conclusion : Finalement, le livre Programmation a été renommé en Wikilivres:Portail développement logiciel, ainsi que toutes ses sous-pages. Programmation est désormais un wikilivre à part entière, parlant des concepts de la programmation. Dans la foulée quelques renommage ont eu lieu.

Retour à la page du projet « Projet programmation ».