Par ce que ça c'est pas plus abstrait?
points = [line.split()[2] for line in lines]
Je me suis très mal exprimé: le langage C est une abstraction de langage machine, donc si on ne connaît pas de langage machine on travaille sur un objet dont tous les comportements sont complètement arbitraires! Pour les expliquer il faudra toujours s'en remettre à une machine particulière, autant se passer du C et s'occuper directement de cette machine.
Ce que tu donnes en exemple est effectivement abstrait, mais c'est d'une abstraction qui est commune à tous les langages de programmations.
Un langage a des concepts (types) et des verbes (procédures), le problème du C est qu'il fait référence à la mémoire de la machine (pointeurs) en faisant toutes les circonlocutions possibles pour éviter de prononcer le mot adresse: c'est à mon avis tout le contraire de ce qu'il faut étudier pour se faire une idée claire de la programmation.
Qu'est ce que tu ne peux pas expliquer en C?
C'est quoi un pointeur?
Et puis va faire de la lecture d'entrée en C
Quelque soit le langage faire de la lecture d'entrée est très difficile. (Disons qu'il faut être extrèmement soigneux.) Et puis c'est pas pour troller mais en C il y a scanf, qui manque un peu en Python.
ou même de l'affichage de 'bonjour' en assembleur.
C'est un appel de procédure classique: tu pousses tes arguments sur la pile et tu appelles la procédure adéquate.
[^] # Re: Mais pourquoi ?
Posté par Michaël (site web personnel) . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 2.
Je me suis très mal exprimé: le langage C est une abstraction de langage machine, donc si on ne connaît pas de langage machine on travaille sur un objet dont tous les comportements sont complètement arbitraires! Pour les expliquer il faudra toujours s'en remettre à une machine particulière, autant se passer du C et s'occuper directement de cette machine.
Ce que tu donnes en exemple est effectivement abstrait, mais c'est d'une abstraction qui est commune à tous les langages de programmations.
Un langage a des concepts (types) et des verbes (procédures), le problème du C est qu'il fait référence à la mémoire de la machine (pointeurs) en faisant toutes les circonlocutions possibles pour éviter de prononcer le mot adresse: c'est à mon avis tout le contraire de ce qu'il faut étudier pour se faire une idée claire de la programmation.
C'est quoi un pointeur?
Quelque soit le langage faire de la lecture d'entrée est très difficile. (Disons qu'il faut être extrèmement soigneux.) Et puis c'est pas pour troller mais en C il y a scanf, qui manque un peu en Python.
C'est un appel de procédure classique: tu pousses tes arguments sur la pile et tu appelles la procédure adéquate.