Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Apprentissage de la programmation à la maison

46 réponses
Avatar
benoit
Bonjour,
(J'espère que ce groupe est encore un peu vivant :)

Mon fils (15 ans) aimerait apprendre à programmer et je suis un peu
largué sur le sujet. Mes cours de Pascale datent un peu (beaucoup) et je
ne crois pas que ce soit les petits trucs pratiques que j'ai fait avec
AppleScript qui sont le bon chemin pour lui faire découvrir ça.

Je cherche donc des pistes pour qu'il mette les mains dans le moteur. On
est 100% Mac à la maison. Des idées/conseils/...

D'avance merci,

--
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La
pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et
personne ne sait pourquoi !" [ Albert Einstein ]

10 réponses

1 2 3 4 5
Avatar
pdorange
Benoit wrote:

Bonjour,
(J'espère que ce groupe est encore un peu vivant :)



Non malheureusement il est mort... ou presque...

Mon fils (15 ans) aimerait apprendre à programmer et je suis un peu
largué sur le sujet. Mes cours de Pascale datent un peu (beaucoup) et je
ne crois pas que ce soit les petits trucs pratiques que j'ai fait avec
AppleScript qui sont le bon chemin pour lui faire découvrir ça.



Une bonne façon de commencer de nos jours, c'est le Python.
Il s'agit d'un language moderne, simple et orienté obhet.

Il est disponible d'origine sur tout Mac, via la console.

C'est un langugage interprété et on peu donc le tester directement sans
compiler.
Sur Mac il est livré par défaut (version 2.7 je crois) et ne nécessite
rien d'autre qu'un éditeur texte (TextWrangler est parfait) plus le
terminal pour tester.

Python est un excellent language pour l'apprentissage, il est aussi très
puissant car richement doté de base et d'extensions.
On peut sans rien faire des scripts puissant et on peut aussi (mais plus
complexe) créer des interfaces graphiques avec les bibliothèques
mutli-plateformes (tkinter, wxpython...).

Quelques docs et bouquins en Français :
http://fr.wikibooks.org/wiki/Apprendre_%C3%A0_programmer_avec_Python
http://www.science-emergence.com/Python/
http://fsincere.free.fr/isn/python/cours_python.php

Intro :
http://fr.wikipedia.org/wiki/Python_%28langage%29

La doc officielle (US) :
https://www.python.org/doc/

Attention :
il existe une version 3 qui rompt la compaibilité avec python 2 et qui
est donc assez différent dans certaines élemnts de syntaxe.
MacOS X est livré avec la branche 2.

--
Pierre-Alain Dorange Moof <http://clarus.chez-alice.fr/&gt;

Ce message est sous licence Creative Commons "by-nc-sa-2.0"
<http://creativecommons.org/licenses/by-nc-sa/2.0/fr/&gt;
Avatar
pehache
Le 09/02/2015 à 15:55, Pierre-Alain Dorange a écrit :

Mon fils (15 ans) aimerait apprendre à programmer et je suis un peu
largué sur le sujet. Mes cours de Pascale datent un peu (beaucoup) et je
ne crois pas que ce soit les petits trucs pratiques que j'ai fait avec
AppleScript qui sont le bon chemin pour lui faire découvrir ça.



Une bonne façon de commencer de nos jours, c'est le Python.
Il s'agit d'un language moderne, simple et orienté obhet.

Il est disponible d'origine sur tout Mac, via la console.

C'est un langugage interprété et on peu donc le tester directement sans
compiler.
Sur Mac il est livré par défaut (version 2.7 je crois) et ne nécessite
rien d'autre qu'un éditeur texte (TextWrangler est parfait) plus le
terminal pour tester.

Python est un excellent language pour l'apprentissage, il est aussi très
puissant car richement doté de base et d'extensions.
On peut sans rien faire des scripts puissant et on peut aussi (mais plus
complexe) créer des interfaces graphiques avec les bibliothèques
mutli-plateformes (tkinter, wxpython...).

Quelques docs et bouquins en Français :
http://fr.wikibooks.org/wiki/Apprendre_%C3%A0_programmer_avec_Python
http://www.science-emergence.com/Python/
http://fsincere.free.fr/isn/python/cours_python.php

Intro :
http://fr.wikipedia.org/wiki/Python_%28langage%29

La doc officielle (US) :
https://www.python.org/doc/



Je note, car ça m'intéresse, merci.

Cela dit, je me demande toujours si la programmation orientée objet est
réellement indiquée pour débuter, même si le langage en lui-même est
simple. C'est un niveau d'abstraction qui est assez éloigné du
fonctionnement réel d'une machine.

Paradoxalement -mais pas tant que ça en fait-, un langage simpliste comme
le BASIC, qui se trouvait par défaut sur tous les ordis "familiaux" au
début des années 80, était une très bonne façon pour commencer à
programmer.

Attention :
il existe une version 3 qui rompt la compaibilité avec python 2 et qui
est donc assez différent dans certaines élemnts de syntaxe.



C'est malin, ça !
Avatar
Aegidius
Le 09/02/2015 15:29, Benoit a écrit :
Bonjour,
(J'espère que ce groupe est encore un peu vivant :)

Mon fils (15 ans) aimerait apprendre à programmer et je suis un peu
largué sur le sujet. Mes cours de Pascale datent un peu (beaucoup) et je
ne crois pas que ce soit les petits trucs pratiques que j'ai fait avec
AppleScript qui sont le bon chemin pour lui faire découvrir ça.

Je cherche donc des pistes pour qu'il mette les mains dans le moteur. On
est 100% Mac à la maison. Des idées/conseils/...



Je ne suis pas une pointure loin de là, mais contrairement aux autres
réponses je ferais différemment...

d'abord s'inscrire comme développeur lite (c'est gratuit)

Télécharger Xcode sur l'apple store plusieurs Go quant même...

Une connaissance du C semble incontournable.

Après Objective—C on arrive a Swift d'une simplicité...

Swift utilise Obj-C, ruby aussi (je pense)

Le langage (orienté) objet est devenu indispensable et demande une
réflexion différente qu'il convient d'acquérir au plus tôt.
Avatar
benoit
Pierre-Alain Dorange wrote:

Quelques docs et bouquins en Français :
http://fr.wikibooks.org/wiki/Apprendre_%C3%A0_programmer_avec_Python
http://www.science-emergence.com/Python/
http://fsincere.free.fr/isn/python/cours_python.php



Je vais jeter un ½il là-dessus, mais il faut que je lui trouve un mentor
qui le guide étape par étape pour les premiers pas. Une fois qu'il
marchera un peu, on lui retire les roulettes.

--
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La
pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et
personne ne sait pourquoi !" [ Albert Einstein ]
Avatar
benoit
pehache wrote:

Le 09/02/2015 à 15:55, Pierre-Alain Dorange a écrit :

Je note, car ça m'intéresse, merci.

Cela dit, je me demande toujours si la programmation orientée objet est
réellement indiquée pour débuter, même si le langage en lui-même est
simple. C'est un niveau d'abstraction qui est assez éloigné du
fonctionnement réel d'une machine.



Autant y allé en assembleur alors ;)

Paradoxalement -mais pas tant que ça en fait-, un langage simpliste comme
le BASIC, qui se trouvait par défaut sur tous les ordis "familiaux" au
début des années 80, était une très bonne façon pour commencer à
programmer.



Oui, j'ai commencer avec ça en 1974 sur un mini système IBM offert par
IBM au lycée. et puis plus grand chose avant d'apprendre le Pascal un
bon vingt ans plus tard.

> Attention :
> il existe une version 3 qui rompt la compaibilité avec python 2 et qui
> est donc assez différent dans certaines élemnts de syntaxe.

C'est malin, ça !



Si j'ai bien compris, ils l'ont fait pour faire table rase d'erreurs du
passé qu'ils n'ont pas envie de se coltiner ad vitaem.

--
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La
pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et
personne ne sait pourquoi !" [ Albert Einstein ]
Avatar
J.P. Kuypers
In article (Dans l'article)
<1lzl1ge.1j919mwlndybkN%, Benoit
wrote (écrivait) :

... je ne crois pas que ce soit les petits trucs pratiques que j'ai
fait avec AppleScript qui sont le bon chemin pour lui faire découvrir
ça.



Pour apprendre la logique de la programmation tout est bon pour autant
que ce soit un peu structuré. On va donc écarter le BASIC et le FORTRAN
dont les GOTO sont devenus hérétiques.

AppleScript présente déjà l'avantage de permettre de visualiser
directement le peu qu'on arrive à faire au début. Ça aide à motiver,
mieux que l'ASM de l'IBM 360.

--
Jean-Pierre Kuypers

Veuillez découvrir les phrases dans leur con-
texte avant de pratiquer sciemment.
Avatar
benoit
Aegidius wrote:

Une connaissance du C semble incontournable.



Tout lui manque c'est pourquoi je suis un peu paumé. Je ne sais trop par
où commencer. De toute façon je vais chercher quelqu'un qui pourra
passer un peu de temps avec lui par mail pour le décollage.

--
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La
pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et
personne ne sait pourquoi !" [ Albert Einstein ]
Avatar
benoit
J.P. Kuypers wrote:

AppleScript présente déjà l'avantage de permettre de visualiser
directement le peu qu'on arrive à faire au début. Ça aide à motiver,
mieux que l'ASM de l'IBM 360.



C'est vrai que là(pplescript) je peux intervenir dans la courbe
d'apprentissage, ça me fera remettre les mains dans le cambouis en plus.

--
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La
pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et
personne ne sait pourquoi !" [ Albert Einstein ]
Avatar
pehache
Le 09/02/2015 20:06, Benoit a écrit :
pehache wrote:

Le 09/02/2015 à 15:55, Pierre-Alain Dorange a écrit :



Je note, car ça m'intéresse, merci.

Cela dit, je me demande toujours si la programmation orientée objet est
réellement indiquée pour débuter, même si le langage en lui-même est
simple. C'est un niveau d'abstraction qui est assez éloigné du
fonctionnement réel d'une machine.



Autant y allé en assembleur alors ;)



Eh bien... ce ne serait pas forcément idiot en fait ! L'assembleur c'est
en fait quelque chose de simple à comprendre, même si écrire un
programme complexe en assembleur n'est pas forcément simple.

Sans aller jusque là, le meilleur cours de programmation que j'ai eu
dans ma vie, par un certain Jean Vignes (
http://www-pequan.lip6.fr/~vignes/ ), débutait par... l'électronique du
calcul numérique. Circuits additionneurs, Unités Arithmétiques et
Logiques, représentation des nombres, instructions de base d'un
microprocesseur (donc assembleur d'une certaine façon).

Ce n'était pas l'objectif en soi du cours, mais ça permettait de
comprendre ce qui se passait réellement dans la machine quand on
écrivait une instruction dans un langage de haut niveau. Et l'air de
rien ça aide beaucoup.

Par exemple un truc tout bête : dans un tableau Fortran à 2 dimensions,
les données sont rangées en mémoire en suivant le premier indice, puis
le second (A(1,1), A(2,1), A(3,1)..... A(1,2), A(2,2), A(3,2).... )

Si on a un gros tableau qui ne tient pas dans la mémoire cache du CPU et
qu'on le parcoure en faisant varier d'abord le deuxième indice, on
provoque des erreurs de cache en permanence et les performances chutent.
La bonne pratique est donc de parcourir le tableau en faisant varier le
premier indice d'abord, mais ça on ne peut pas le deviner si on ne sait
pas comment les données sont réellement rangées en mémoire.



Attention :
il existe une version 3 qui rompt la compaibilité avec python 2 et qui
est donc assez différent dans certaines élemnts de syntaxe.



C'est malin, ça !



Si j'ai bien compris, ils l'ont fait pour faire table rase d'erreurs du
passé qu'ils n'ont pas envie de se coltiner ad vitaem.




Apparemment. Mais dans un cas comme ça on prévoit une période de
transition avec des éléments de syntaxe déclarés obsolètes, mais
toujours disponibles pour assurer la compatibilité avec l'existant.
Avatar
pehache
Le 09/02/2015 19:57, Aegidius a écrit :
Le 09/02/2015 15:29, Benoit a écrit :
Bonjour,
(J'espère que ce groupe est encore un peu vivant :)

Mon fils (15 ans) aimerait apprendre à programmer et je suis un peu
largué sur le sujet. Mes cours de Pascale datent un peu (beaucoup) et je
ne crois pas que ce soit les petits trucs pratiques que j'ai fait avec
AppleScript qui sont le bon chemin pour lui faire découvrir ça.

Je cherche donc des pistes pour qu'il mette les mains dans le moteur. On
est 100% Mac à la maison. Des idées/conseils/...



Je ne suis pas une pointure loin de là, mais contrairement aux autres
réponses je ferais différemment...

d'abord s'inscrire comme développeur lite (c'est gratuit)

Télécharger Xcode sur l'apple store plusieurs Go quant même...

Une connaissance du C semble incontournable.

Après Objective—C on arrive a Swift d'une simplicité...

Swift utilise Obj-C, ruby aussi (je pense)

Le langage (orienté) objet est devenu indispensable et demande une
réflexion différente qu'il convient d'acquérir au plus tôt.



J'ai commencé par la programmation fonctionnelle, et je n'ai pas eu de
problème particulier à comprendre la programmation objet par la suite.

La programmation ça peut être très puissant, mais ça n'a pas QUE des
avantages.
1 2 3 4 5