[Livres/Films] pour penser différement la programmation ?

Je m’explique,
Je vais prendre quelqu’un bientôt pour lui apprendre la programmation et l’informatique de manière générale.

Je sais que moi des que je lis / vois un film/livre de sf, cela me donne dés idées ou des concepts.
J’aimerai filer des livres ou des films a cette personne pour qu’elle les lise quand je ne suis pas la pour qu’elle puisse avoir des idées ou developper des concepts.

Je pensais a tout les gibson pour la matrice / ia, le samurai virtuel (hiro protagoniste), memento pour le concept de film a l’envers de la memoire de 10 secondes.
Accelerando pour les concepts, Rainbows End de vernor vinge.

L’idée générale c’est que si je lui file un compteur cyclique de 1 à 100, elle ai l’idée d’aller en sens anti horaire pour aller de 40 à 30 plutot que de tout parcourir.
Bref qu’elle pense différement.

Merci
Bussiere

Commence par lui apprendre l’algo, ensuite la prog sur un langage et elle se fera son idée toute seule… Forcer les gens à penser différemment ça ne se fait pas en leur montrant comment penser différemment.

mais ça sera un truc légal? ou un truc à l’autrichienne?

Au passage tu lui apprendra que sur un forum il y a le nom des gens en haut à gauche et donc pas nécessaire de signer tous ses posts?

Ne lui donne aucun bouquin. Tu seras surpris par sa maniere de penser de toute facon :wink:

The computer and the brain de Von Neumann (un peu d’épistémologie de l’informatique ça ne fait pas de mal).
Free software, free society de Richard Stallman (GNU inside :wink: ).
The clean coder de Robert Martin (bonnes pratiques).

Et surtout surtout surtout, un vrai concentré d’expérience,
Coders at work de Peter Seibel.
C’est un recueil d’interviews de codeurs célèbres pour avoir fait avancer leur domaine. Ca se lit tout seul. Le site : http://www.codersatwork.com/

Edit :

J’ai mis des bouquins « sérieux » ou vraiment orientés informatique plutôt que de la SF parce qu’à mon avis quelqu’un qui a pour but de devenir développeur doit comprendre qu’il s’agit d’un métier à part entière. Les trucs et astuces (comme l’itération inversée, ou l’utilisation d’énumérations) ça vient naturellement. Ce qui est plus dur à acquérir c’est le sens de ce qu’on fait et la manière dont ça prolonge une vrai branche scientifique. En tout cas c’est le genre de bouquin qui font comprendre que coder n’est pas juste un hobby.

C’est aussi pour developper le gout du code.
Je sais que quand moi je lis de la sf je deborde d’idée et de concepts.
J’ai pas trop trop envie de la degouter avec du gros code.

Bussiere

Ben perso, c’est pas en regardant des films/bouquins de SF que j’ai envie de faire du code (sérieux Memento? Je vois pas du tout le rapport avec le code). Et mon job n’a aucun rapport avec l’informatique.
Le seul truc qui me fait envie de savoir programmer, c’est quand je vois des maps/mods de jeux qui déchirent.

Et ta copine n’est pas attardée non plus, même sans aucune connaissance en programmation, elle doit avoir des idées qui lui trottent dans la tête. Et si elle n’en a pas, elle va sûrement en trouver au fur et à mesure qu’elle apprend les bases et les possibilités qui s’ouvrent à elle.

Bah la memoire courte (le cache) la problematique de bien tout noter en dur en cas de reboot (les tatouages les notes), et le fait de parfois penser a l’envers (partir du resultat final pour arriver au début plutot que de partir du début pour arriver à la fin).

Et c’est juste pour lui filer une culture/envie/idée de maniere générale.

Bussiere

Sérieux, dans l’apprentissage des bases de la programmation je mettrais pas tout ça.
C’est pas des bases, les caches c’est déjà un un design-pattern/un mécanisme qui s’apprend après la base, et la problématique de bien tout noter en cas de reboot c’est plus du système que de la programmation (au sens algorithmique).

ben justement tu n’es pas cette personne. Essaie de te mettre à la place de la personne et de voir ce qui la motiverait/ferait progresser elle.

Il faudrait que je retrouve les bouquins qui m’ont fait débuter en algo. Mais grosso modo je pense que ton idée est erronée: ça serait comme parler d’histoires d’avions pour pousser aux études d’ingénierie aéronautiques, mais ça n’apprend pas du tout l’aéronautique, même si ça peut donner envie d’en faire.

En informatique c’est pareil. Par contre pour prendre les choses dans l’ordre l’idéal est de trouver un bouquin pas trop théorique, si ce n’est pas une étudiante en informatique, mais plutôt un bouquin pratique avec des exemples sur la vie réelle. L’idéal quand on apprend l’algo c’est au début de se passer de code, puis de passer par le pseudo-code avant d’apprendre un quelconque langage. Je reviendrais poster un message plus loin quand je retrouverai ce bouquin: pratique et en même temps très didactique et sérieux.

Si Bussière n’existait pas il faudrait l’inventer, ses messages sortant de l’ordinaire font partie de l’histoire de geekzone.

+1 sur ceux qui te disent que tu vas à l’envers.
T’es censé être un prof, donc, tu es “neutre”, tu n’as pas à lui enseigner comment penser. De toute façon tu n’y arriveras pas.
Concentres-toi d’abord sur les notions de bases que tu veux lui faire passer, et comment les faire passer.

L’imagination, l’intérêt, ça viendra avec normalement, si l’apprentissage des bases est bien fait.
En plus, ce seront SES idées, et pas les tiennes à sa sauce, ce qui est primordial pour apprendre.

Là tu essais juste d’appliquer un modèle qui te convient à TOI ; tu vas perdre du temps à lui demander des trucs dont elle se fout peut-être ; et tu vas déjà la “normer”. Alors que son regarde neuf sur le truc (i.e. pas le même regard que toi) peut justement lui permettre de trouver ses propres idées jamais vues avant. *

Bref, je pense que ce que tu essais de faire là, a 99% de chance de rater.

  • je rajoute qu’il n’y a rien de plus réducteur que de penser d’emblée que les nouveaux concepts informatiques se trouveront forcément dans la littérature SF. Qui te dit qu’elle ne va pas inventer un truc super en lisant Hugo ?

Je suis bien d’accord. D’où dans ma liste le bouquin de Von Neumann qui fait lien avec le cerveau humain ou ce qu’en comprennent les biologiste à son époque (pour info j’ai filé ce bouquin à une collègue en finance qui n’a jamais fait d’informatique, elle a dit quelque chose comme « je comprends mieux d’où vous venez »). D’où aussi le bouquin d’interviews : peu d’informatique, se lit très bien pour un non-informaticien (un peu comme quand moi je lis un bouquin d’un mathématicien du risque comme The Black Swan de Nassim Taleb ou un bouquin sur l’histoire et l’origine des USA comme La démocratie en Amérique de Tocqueville). Idem pour les concepts de Free Software, ce n’est pas de l’algorithmie, c’est limite de la philosophie de l’informatique pour des gens qui n’y connaissent pas forcément quelque chose. Le seul qui soit vraiment orienté informatique c’est The clean coder, celui là c’est vraiment pour avoir vite des méthodologies saines et une véritable éthique du métier de développeur.

En gros le truc c’est de savoir si elle est curieuse ou pas. Si elle n’est pas curieuse de nature, alors quelque soit le bouquin, c’est perdu d’avance. Si elle est curieuse, alors les meilleurs bouquins seront ceux qui ne lui mettront pas de l’informatique dans la tête, mais de l’informatique dans le monde réel (càd qui la lui montreront comme une activité humaine avant tout).

J’y ai pensé j’avais bien aimé l’enfer de dante pour cela et le systeme de cercle et de descente. Pareil pour tout ce qui est méta histoire du georges perec avec la vie mode d’emplois. Ou ceux avec un twist improbable notamment les 12 petits negres.

Mais techniquement la sf a quand meme pas mal de choses de cotés, mais par exemple du gaiman avec neverwhere pour l’alternatif a coté de la réalité ou du alan moore avec prométhéa pour son coté méta histoire et ordre caché.

Je suis d’accord qu’il n’y a pas que la sf mais techniquement il y en a plus en rapport avec l’informatique mais je suis preneur quand même du reste. Apres pareil je pourrais prendre l’art d’avoir toujours raison pour la technique de decorticage des débats et le mecanisme d’attaque contre attaque :
if else.

Bref je suis preneur de bouquins qui vous ont inspirés pour l’informatique, moi je sais que c’est principalement la sf.
De meme que je trouve que les amateur de contrepeteries de palindrome de pangramme de jeux de mots foireux sont plutot sur représentés dans le milieux informatique.

Bussiere

Avant de penser différemment il faut savoir penser correctement. Ce n’est pas en lisant de la SF ou n’importe quelle autre fiction qu’elle apprendra son métier. �? l’inverse lui filer des livres qui mettent en perspective ce métier ou qui donnent des exemples concrets et réussis ne peut que lui être bénéfique. �? la manière qu’il les décrit les bouquins d’Histrion semblent tout indiqué.

Je ne suis quand meme pas trop trop d’accord coder tout le monde peut l’apprendre.
Je connais quelques personnes a qui j’ai filé le bouquin apprendre python et qui ont appris par eux même.
Ca tu peux lire la litterature classique pour ce genre de choses. Moi je cherche les a cotés pour justement avoir des idées a la con ou hors norme.
Par exemple qu’elle puisse se dire qu’on peut ecrire un programme qui va ecrire un programme. Pleins de gens font les exemples en python / C pour lire ecrire des fichiers.
Mais il y en a combien qui ont pensé de suite a merde le programme c’est un fichier texte ? Si ca se trouve je peux ecrire un programme qui va ecrire un fichier texte avec un programme dedans.

Sauf que quand tu lis de la sf avec les ia qui s’auto reprogramme ou qui se reproduisent bah tu y pense des le depart. Et la par exemple j’ai du faire du parametrage des models.py sous django et créer plein de admin.py pour les modeles. Bah ca a été plus vite et réutilisable de faire un programme qui m’a modifié les models.py et qui m’a généré les admin.py.

Elle aura le “classique” mais j’aimerai qu’elle ai aussi du hors norme.

Bussiere

J’ai l’impression que tu confonds la fin et les moyens d’y arriver ? En général on programme pour répondre à un but précis, peu importe la méthode qu’on utilise. Là on dirait que tu cherches à lui apprendre à coder “différemment” alors qu’au final la personne aura des problèmes classiques.

La personne est là juste pour un stage d’observation / découverte ou pour travailler sur un projet ? Tu as un cahier des charges ou un cadre qui définit ce que doit réaliser cette personne ?

Yep elle va bosser pour moi sur un projet, ses premieres taches vont etre d’installer une debian sur un poste et de le configurer. Je serais derriere.
Ensuite ca sera 1/3 admin sys 1/3 apprentissage de la prog avec le swimmen. Puis du django apres le python.
Les trois competences seront un peu d’admin sys, du python et du django.

Et le dernier tiers etant constitué des « regles du jeu » du projet.

Sachant que je connais pas mal de personnes dont moi qui ont appris la prog avec le swimmen tout seul (la je serais derriere elle pour ses questions).

Bussiere

C’est pas gagné cette histoire. Et c’est quoi swimmen ? C’est on se jette a l’eau et on voit ?

Je rejoins les avis des autres sur la relative inutilité de ce que tu veux faire. Si en plus elle est pas full time sur du dev, je vois encore moins l’intérêt…

Seriously, lire de la SF pour faire du python, et des trucs d’admin qui plus est? :notify: