accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: Langage d'enseignement (Was: Python)

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.general ] 

Retour : Accueil du site fr comp lang general   charte stats de ce groupe


  Sujet:   Re: Langage d'enseignement (Was: Python)  
 De: Marc.Bo...@enseeiht.yahoo.fr.invalid (Marc Boyer)
 Groupes: fr.comp.lang.general
 Organisation: CICT
 Date: 07. Apr 2008, 08:10:37
 References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
On 2008-04-04, Bruno Desthuilliers wrote:
> Marc Boyer a écrit :
>>   La plupart des règles de codage viennent à essayer de permettre
>> le passage à l'échelle (cf autre longue discussion sur fclc et les
>> variables globales).
>
> Pas vu - je ne suis plus fclc que sporadiquement.

  Ce fut un peu long en plus.

>>>> Non, désolé, le but premier du typage statique n'est pas que le ompilo 
>>>> puisse mieux optimiser (c'est juste un effet de bord du typage 
>>>> statique). Le but premier, c'est la fiabilité.
>>> Je ne suis pas historien et n'ait pas 50 ans d'expérience dans le 
>>> domaine (juste une dizaine), donc je peux bien sûr me tromper (auquel 
>>> cas merci de me pointer vers les chapitres et versets appropriés !-), 
>>> mais il me semble que tu inverses les causes et effets au regard de la 
>>> réalité historique.
>> 
>>   Ca dépend du point de vue...
>>   Je pense que le typage "à la C" (int/float/char*) vient d'un
>> mappin efficace sur le processeur, contrairement à Lisp, où
>> l'interpréteur doit dynamiquement regarder ce qu'il manipule.
>> 
>>   Mais ensuite, les ajouts de typage, à la Ada, C++, veulent
>> eux fiabiliser en évitant d'ajouter des pommes et des poires
>> (à moins de déclarer explicitement l'opérateur de compote).
>
> C'était déjà le cas en Pascal, non ?

  C'était semble-t-il l'intention. Mais on pouvait tout
à fait ajouter des pommes et des oranges.

http://www.cs.virginia.edu/~evans/cs655-S00/readings/bwk-on-pascal.html
     type
             apple = integer;
             orange = integer;

then any arbitrary arithmetic expression involving apples and oranges is
perfectly legal.
  
>>   Quant aux débutants... Ils confondent (je prends la syntaxe C)
>> 0, 0.0, "0", '0' et '\0'. Alors, si tu ne leur impose pas
>> de dire quel est le type de valeur qu'ils manipulent (lors de 
>> la déclaration de variable), ben, c'est la panique.
>
> Heu... J'ai commencé à bricoler mes premiers bouts de code en 1990 avec 
> HyperCard / HyperTalk (typage dynamique, et pas spécialement fort). Sans 
> internet, et sans personne pour me mentorer. Et j'ai très vite appris à 
> faire la différence entre une chaine et un nombre (ne serait-ce qu'en 
> voyant le résultat des calculs...).

  La question du "très vite" est toute relative, dépendante de la
personne, et de sa motivation.

> Bon, le langage suivant (si on omet un peu d'assembleur 68k) était un 
> basic objet à typage statique déclaratif, et je reconnais que dans un 
> premier temps, j'ai de moi-même considéré ça comme une aide et un 
> progrès par rapport à HyperTalk - peut-être simplement parce que ça 
> m'obligeait à structurer un peu plus ma réflexion vu que dans la 
> pratique je n'avais en fait guère de pb de typage, ayant déjà appris à 
> être attentif à ces aspects.

  Ce qui va dans ce sens.

>>   J'ai fait d'ailleurs un TP édifiant sur le sujet il y a 3 jours:
>> on leur demande d'extraire une sous image d'une image PGM, dont le
>> format est 
>> P5
>> largeur hauteur
>> profondeur
>> bitmap
>> 
>>   Ben, le passage du stockage de valeurs 'humaines' à binaire
>> les rend extrèmement perplexe. Quand en projet je leur fait
>> envoyer des entier 32bits en grand boutiste, j'en ai qui
>> envoyent "0012" au lieu de 12...
>> 
>>    Que le programmeur expérimenté puisse laisser le type comme
>> information implicite, pourquoi pas. Mais pas le débutant.
>
> Tu a certainement plus d'expérience que moi dans ce domaine. D'un autre 
> côté, j'ai appris autrement, et je ne sais pas si j'aurais appris quoi 
> que ce soit s'il m'avait fallu me coltiner des déclarations de types et 
> autres boilerplate dès le début - j'aurais probablement laissé tombé en 
> me disant que c'était trop compliqué et trop chiant. 

  Toujours le problème de la "courbe d'apprentissage". Quand un
grand débutant à le choix entre le navigateur de fichiers gnome
et un shell, il choisit le clickodrome.
  Dans le cadre d'une formation, on peut le contraindre à passer
par la partie pénible jusqu'au moment où l'investissement paye.

> Le fait d'avoir pu 
> réaliser dès les premiers jours avoir des petits programmes 
> *fonctionnels* est certainement pour beaucoup dans ma "vocation". Et une 
> fois motivé, je n'ai pas eu de problème majeur à passer à des technos 
> bien plus contraignantes.

  Et oui... Si les étudiants choisissaient un cursus conforme à
leurs envies, l'enseignement supérieur serait plus simple.

>>> Ceci étant, on parle de typage statique et dynamique en faisant comme si 
>>> la notion même de "type" était la même dans les deux cas, ce que n'est 
>>> peut-être pas vraiment le cas. Du point du vue du typage statique, dans 
>>> des langages comme Python ou Ruby, il n'existe en fait qu'un seul type, 
>>> le type 'objet' - pas de types "primitifs", "scalaires" etc... 
>> 
>>   Heuh... Faut quand même pas confondre les concepts et leur
>> implantation. Je suis 0 en python, mais je lis sur Wikipédia:
>>   points = 3.2 # points est du type float
>>   print "Tu as " + points + " points !" # Génère une erreur de typage
>> 
>>  Que la notion de type (flottant, chaine) soit englobée dans un attribut
>> dynamique en python, ok, mais la notion reste là, non ?
>
> La notion de "type" est là, oui, je ne dis pas le contraire. Mais 
> pointe-t-elle sur le même concept ?

  Ben, une variable transporte une donnée, qui est un couple
(valeur,type), un type étant l'ensemble des opérations permises
sur le type.

> En C, un "type" est une information précisant un offset à partir de 
> l'adresse mémoire de la variable, et la façon dont doivent être 
> interprétés les bits contenus entre cette adresse et l'offset.

  Oui et non.
  
> En Python, un "type" (en tous cas ce que renvoie la fonction type()...) 
> est une référence sur un autre objet (la classe), lequel contient 
> d'autres références sur d'autres objets  - les superclasses, la 
> metaclasse, et les attributs de classe, lesquels comprennent les 
> méthodes (je m'arrête là le but n'étant pas de détailler le modèle objet 
> de Python).

  Donc, de manière dynamique  et complexe, tout celà dit comment
interpréter les bits contenus dans la variable.
  Python fait des choses biens plus riches que le C, personne n'en
doute.
  
Marc Boyer
-- 
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
                           IF -- Rudyard Kipling (Trad. André Maurois)


DateSujet  Auteur
31.03.
* Re: Python
Thierry B.
31.03.
+* Re: Python
Wykaaa
31.03.
|+* Re: Python
Laurent Pointal
01.04.
||+* Langage d'enseigneme
Marc Boyer
01.04.
|||+- Re: Langage d'enseigneme
Laurent Pointal
01.04.
|||`* Re: Langage d'enseigneme
Wykaaa
01.04.
||| +* Re: Langage d'enseigneme
Bruno Desthuilliers
01.04.
||| |`* Re: Langage d'enseigneme
Wykaaa
02.04.
||| | `* Re: Langage d'enseigneme
Bruno Desthuilliers
02.04.
||| |  `* Re: Langage d'enseigneme
Wykaaa
02.04.
||| |   +* Re: Langage d'enseigneme
Bruno Desthuilliers
02.04.
||| |   |`* Re: Langage d'enseigneme
Wykaaa
02.04.
||| |   | +* Re: Langage d'enseigneme
Bruno Desthuilliers
02.04.
||| |   | |`* Re: Langage d'enseigneme
Wykaaa
02.04.
||| |   | | `* Re: Langage d'enseigneme
bruno desthuilliers
03.04.
||| |   | |  `* Re: Langage d'enseigneme
Wykaaa
04.04.
||| |   | |   `* Re: Langage d'enseigneme
Bruno Desthuilliers
04.04.
||| |   | |    +* Re: Langage d'enseigneme
Thierry B.
04.04.
||| |   | |    |`* Re: Langage d'enseigneme
Bruno Desthuilliers
06.04.
||| |   | |    | `- Re: Langage d'enseigneme
Thierry B.
04.04.
||| |   | |    +* Re: Langage d'enseigneme
Marc Boyer
04.04.
||| |   | |    |+* Re: Langage d'enseigneme
Bruno Desthuilliers
07.04.
||| |   | |    ||`*   Re: Langage d'enseigneme
Marc Boyer
07.04.
||| |   | |    || `* Re: Langage d'enseigneme
bruno desthuilliers
07.04.
||| |   | |    ||  +* Re: Langage d'enseigneme
Wykaaa
07.04.
||| |   | |    ||  |`* Re: Langage d'enseigneme
bruno desthuilliers
08.04.
||| |   | |    ||  | `* Re: Langage d'enseigneme
Wykaaa
08.04.
||| |   | |    ||  |  `* Re: Langage d'enseigneme
bruno desthuilliers
09.04.
||| |   | |    ||  |   +* Re: Langage d'enseigneme
Wykaaa
08.04.
||| |   | |    ||  |   |`- Re: Langage d'enseigneme
bruno desthuilliers
09.04.
||| |   | |    ||  |   `- Re: Langage d'enseigneme
Wykaaa
09.04.
||| |   | |    ||  `- Re: Langage d'enseigneme
Marc Boyer
04.04.
||| |   | |    |`- Re: Enseignement de l'al
Wykaaa
04.04.
||| |   | |    `* Re: Langage d'enseigneme
Wykaaa
10.04.
||| |   | |     `* Re: Langage d'enseigneme
Matthieu Villeneuve
10.04.
||| |   | |      `* Re: Langage d'enseigneme
Wykaaa
10.04.
||| |   | |       +* Re: Langage d'enseigneme
Bruno Desthuilliers
10.04.
||| |   | |       |`- Re: Langage d'enseigneme
Wykaaa
10.04.
||| |   | |       `* Re: Langage d'enseigneme
Matthieu Villeneuve
10.04.
||| |   | |        `* Re: Langage d'enseigneme
Wykaaa
10.04.
||| |   | |         `* Re: Langage d'enseigneme
Bruno Desthuilliers
10.04.
||| |   | |          `* Re: Langage d'enseigneme
Wykaaa
11.04.
||| |   | |           `- Re: Langage d'enseigneme
Bruno Desthuilliers
03.04.
||| |   | `* Re: Langage d'enseigneme
Thierry B.
03.04.
||| |   |  `- Re: Langage d'enseigneme
Wykaaa
02.04.
||| |   `* Re: Langage d'enseigneme
Jean-Marc Bourguet
02.04.
||| |    `- Re: Langage d'enseigneme
Wykaaa
01.04.
||| `* Re: Langage d'enseigneme
Laurent Pointal
01.04.
|||  +* Re: Langage d'enseigneme
Wykaaa
02.04.
|||  |+- Re: Langage d'enseigneme
Laurent Pointal
02.04.
|||  |+- Re: Langage d'enseigneme
Laurent Pointal
02.04.
|||  |`- Re: Langage d'enseigneme
bruno desthuilliers
03.04.
|||  +- Re: Langage d'enseigneme
Thierry B.
04.04.
|||  `* Re: Langage d'enseigneme
Marc Boyer
04.04.
|||   +* Re: Langage d'enseigneme
Bruno Desthuilliers
07.04.
|||   |`- Re: Langage d'enseigneme
Marc Boyer
06.04.
|||   `* Re: Langage d'enseigneme
Thierry B.
07.04.
|||    `- Re: Langage d'enseigneme
Marc Boyer
01.04.
||`- Re: Python
Thierry B.
01.04.
|+* Re: Python
Thierry B.
01.04.
||`* Re: Python
Wykaaa
01.04.
|| `* Re: Python
Thierry B.
01.04.
||  `- Re: Python
Wykaaa
01.04.
|`* Re: Python
Bruno Desthuilliers
01.04.
| `* Re: Python
Wykaaa
01.04.
|  `- Re: Python
Bruno Desthuilliers
01.04.
+- Re: Python
Wykaaa
01.04.
+* Re: Python
Thierry B.
01.04.
|`* Re: Python
Marc Boyer
01.04.
| +- Re: Python
Jean-Marc Bourguet
01.04.
| `- Re: Python
Thierry B.
01.04.
`* Re: Python
Marc Boyer
01.04.
 `* Re: Python
Thierry B.
01.04.
  `* Re: Python
Marc Boyer
01.04.
   `- Re: Python
Wykaaa
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Usenet Gratuit