-
Notifications
You must be signed in to change notification settings - Fork 0
/
roberto.di-cosmo
59 lines (43 loc) · 3.33 KB
/
roberto.di-cosmo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
![Roberto Di Cosmo](http://www.dicosmo.org/Library/Images/dicosmo_small.png)
### Pourquoi codes-tu ?
Programmer permet d'automatiser des tâches repétitives, et de mettre à notre
service la puissance toujours plus grande des systèmes informatiques.
Programmer est aussi une activité très proches de la résolution
de problèmes, et a un coté ludique certain.
Programmer peut être aussi une question d'esthétique: écrire du code qui
fait ce que nous voulons n'est que le début... trouver la façon concise
et élégante pour cela est une activité qui donne une grande satisfaction
intellectuelle.
### Comment as-tu appris ?
J'ai investi toutes mes économies en 1980 pour acheter un Sinclair ZX 80,
un tout petit ordinateur programmable en BASIC avec 1Ko de RAM, partagée
entre mémoire programme et mémoire vidéo... plus le programme était long,
et moins on avait de place pour afficher le résultat à l'écran.
C'était très spartiate, mais cela avait l'avantage de faire apprécier les
programmes efficaces et concis.
Cette première expérience m'a convaincu à faire des études d'Informatique, et je
n'ai plus arrêté... je me souviens encore de la satisfaction la nuit où j'ai pu
commencer à utiliser le deboggueur assembleur que j'avais écrit pour débogguer
le deboggueur lui-même. Chaque nouveau langage apportait son lot de plaisir
quand on comprenait le nouveau paradigme qu'il introduisait: la recursion, avec
Lisp, la deduction, avec Prolog, l'orienté objet, avec C++, le typage fort, avec
ML, et cela continue.
### Quel est ton langage préféré ?
OCaml. C'est un langage fonctionnel très puissant, qui permet aussi d'utiliser
des traits objet, ou impératif, avec une efficacité rédoutable et un typage
statique fort qui capture un grand nombre d'erreurs directement à la compilation. Une fois qu'on y a gouté, il est difficile de revenir en arrière.
Mais un langage, ce n'est qu'une partie de l'histoire, il faut aussi disposer des bonnes librairies, et des bons outils: selon les besoins, je peut être amené à utiliser un grand nombre d'autres langages de programmation, ce que je fais avec plaisir.
### Pourquoi chacun devrait-il apprendre à programmer ou être initié ?
On nous apprend les mathématiques, la physique, la chimie, les sciences
de la vie et de la terre, l'histoire-géographie, la philosophie et la
littérature. Chacune de ces disciplines est importante pour notre culture
générale, pour que nous puissions comprendre le monde qui nous entoure
et avoir les instruments nécéssaires pour participer aux débats de sociétés.
Or, notre monde est désormais largement basé sur des logiciels qui traitent
presque toutes les données imaginables, et manipulent toutes les informations de
notre vie courante.
Il est important de disposer du bon modèle mental quand il s'agit de comprende
les conséquences de la mise en réseau de bases de données distinctes,
reconnaître la différence entre l'information contenue dans un système et la
représentation qui nous est fournie par une interface utilisateur, ou décider de la pertinence d'une demande d'accès aux ressources de notres smartphone par une application de jeu.
Or, comme disait un philosophe napolitain il y a quelques siècles, "connaître, c'est savoir faire", et la programmation est une des clés de la connaissance dans notre monde hyper-informatisé.