Merci.
Ca fait du bien de lire ça, on se sent moins seul :-)
Moi je suis TDAH tendance procrastination. Alors j'ai maintenant choisi la même voie que toi pour pallier à ce même problème : ne plus faire de code dans son métier (je reprend dès septembre une formation en organisation/management).
Par contre, comme je suis rêveur et éternel insatisfait, je travail depuis quelques années à réinventer les langage de programmations.
En effet, je suis convaincu que le paradigme même qui sous tend ces derniers est intrinsèquement trop error prone.
Les langages de programmations, même de haut niveau sont trop orientés "machines" avec une sémantique beaucoup trop pauvre, qui ne prend en compte que la dichotomie, le test d'existance, l'affectation. Elle est la survivance directe des premiers ordinateurs manuellement cablés.
Pour des gens comme nous, qui n'avons pas la puissance et la rigeur logique des knuths et consorts, ils nous faut un outil de programmation adapté à notre cerveau, notre façon de pensée d'humain : ainsi on fera moins d'erreur et on pourra reprendre plaisir à programmer.
En ce qui me concerne, à part 2 ou 3 langages que je trouve "suportable" (prolog, ocaml, lisaac, ruby à la limite), ça devient trop pénible.
J'ai encore passé un mois sur un ensemble de bouclettes qui analyse un tableau html en gérant les spans : un vrai cauchemar.
En ce moment, pour mon futur langage, je travaille sur l'analyse du langage naturel, l'anglais en l'occurence pour faire des requêtes sur les données.
Cela a été initié entre autres par "chat 80", écrit en 1978-1981 en prolog par Warren (le type qui a inventé la Warren Abstract Machine) et Pereira http://www.cis.upenn.edu/~pereira/oldies.html
Chat80 permet de répondre à des question assez couillues.
Exemple de dialog, que je copie de mon terminal :
% chattop.pl compiled 0.01 sec, 0 bytes
XPCE 6.6.66, July 2009 for i386-darwin9.8.0 and X11R6
Copyright (C) 1993-2009 University of Amsterdam.
XPCE comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
The host-language is SWI-Prolog version 5.8.3
For HELP on prolog, please type help. or apropos(topic).
on xpce, please type manpce.
?- hi.
Question: Which country bordering the Mediterranean borders a country that is bordered by a country whose population exceeds the population of India?
turkey.
On peut tracer son exécution, c'est assez marrant
Question: trace.
Tracing from now on!
Question: Which country bordering the Mediterranean borders a country that is bordered by a country whose population exceeds the population of India?
Parse: 0msec.
whq
$VAR(1)
s
np
3+sin
np_head
int_det($VAR(1))
[]
country
reduced_rel
$VAR(2)
s
np
3+sin
wh($VAR(2))
[]
verb(border, active, inf, [prog], pos)
arg
dir
np
3+sin
name(mediterranean)
[]
[]
verb(border, active, pres+fin, [], pos)
arg
dir
np
3+sin
np_head
det(a)
[]
country
rel
$VAR(3)
s
np
3+sin
wh($VAR(3))
[]
verb(border, passive, pres+fin, [], pos)
[]
pp
prep(by)
np
3+sin
np_head
det(a)
[]
country
rel
$VAR(4)
s
np
3+sin
np_head
det(the(sin))
[]
population
pp
poss
np
3+sin
wh($VAR(4))
[]
verb(exceed, active, pres+fin, [], pos)
arg
dir
np
3+sin
np_head
det(the(sin))
[]
population
pp
prep(of)
np
3+sin
name(india)
[]
[]
[]
Ya trois étapes : le parsing avec analyse grammaticale, la transformation en requete logique, et le planning où la requete est améliorée.
Bref, c'est possible.
Ce langage sera aussi basés sur des paradigmes vraiment nouveaux, mais je vous en reparlerai en temps voulu.
Bref, tout ça pour dire, que d'une part l'humain, c'est mieux qu'une machine au quotidien. Et d'autre part, nos outils de programmations sont peut être pas adaptés.
Et je n'accepte pas (pour moi, les gens font ce qu'ils veulent) les messages de résignations que je lis tout le long du style "c'est en forgeant qu'on devient forgeron", "code plus, tu feras moins de bugs".
Je code beaucoup depuis l'age de 11 ans, et je fait encore bcp trop de fautes d'innatention, c'est donc un problème de cerveau ET de langage.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Sortir par le haut
Posté par Ontologia (site web personnel) . En réponse au journal Lamentations ou les remords d'un geek. Évalué à 5.
Ca fait du bien de lire ça, on se sent moins seul :-)
Moi je suis TDAH tendance procrastination. Alors j'ai maintenant choisi la même voie que toi pour pallier à ce même problème : ne plus faire de code dans son métier (je reprend dès septembre une formation en organisation/management).
Par contre, comme je suis rêveur et éternel insatisfait, je travail depuis quelques années à réinventer les langage de programmations.
En effet, je suis convaincu que le paradigme même qui sous tend ces derniers est intrinsèquement trop error prone.
Les langages de programmations, même de haut niveau sont trop orientés "machines" avec une sémantique beaucoup trop pauvre, qui ne prend en compte que la dichotomie, le test d'existance, l'affectation. Elle est la survivance directe des premiers ordinateurs manuellement cablés.
Pour des gens comme nous, qui n'avons pas la puissance et la rigeur logique des knuths et consorts, ils nous faut un outil de programmation adapté à notre cerveau, notre façon de pensée d'humain : ainsi on fera moins d'erreur et on pourra reprendre plaisir à programmer.
En ce qui me concerne, à part 2 ou 3 langages que je trouve "suportable" (prolog, ocaml, lisaac, ruby à la limite), ça devient trop pénible.
J'ai encore passé un mois sur un ensemble de bouclettes qui analyse un tableau html en gérant les spans : un vrai cauchemar.
En ce moment, pour mon futur langage, je travaille sur l'analyse du langage naturel, l'anglais en l'occurence pour faire des requêtes sur les données.
Cela a été initié entre autres par "chat 80", écrit en 1978-1981 en prolog par Warren (le type qui a inventé la Warren Abstract Machine) et Pereira
http://www.cis.upenn.edu/~pereira/oldies.html
Chat80 permet de répondre à des question assez couillues.
Exemple de dialog, que je copie de mon terminal :
% chattop.pl compiled 0.01 sec, 0 bytes
XPCE 6.6.66, July 2009 for i386-darwin9.8.0 and X11R6
Copyright (C) 1993-2009 University of Amsterdam.
XPCE comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
The host-language is SWI-Prolog version 5.8.3
For HELP on prolog, please type help. or apropos(topic).
on xpce, please type manpce.
?- hi.
Question: Which country bordering the Mediterranean borders a country that is bordered by a country whose population exceeds the population of India?
turkey.
On peut tracer son exécution, c'est assez marrant
Question: trace.
Tracing from now on!
Question: Which country bordering the Mediterranean borders a country that is bordered by a country whose population exceeds the population of India?
Parse: 0msec.
whq
$VAR(1)
s
np
3+sin
np_head
int_det($VAR(1))
[]
country
reduced_rel
$VAR(2)
s
np
3+sin
wh($VAR(2))
[]
verb(border, active, inf, [prog], pos)
arg
dir
np
3+sin
name(mediterranean)
[]
[]
verb(border, active, pres+fin, [], pos)
arg
dir
np
3+sin
np_head
det(a)
[]
country
rel
$VAR(3)
s
np
3+sin
wh($VAR(3))
[]
verb(border, passive, pres+fin, [], pos)
[]
pp
prep(by)
np
3+sin
np_head
det(a)
[]
country
rel
$VAR(4)
s
np
3+sin
np_head
det(the(sin))
[]
population
pp
poss
np
3+sin
wh($VAR(4))
[]
verb(exceed, active, pres+fin, [], pos)
arg
dir
np
3+sin
np_head
det(the(sin))
[]
population
pp
prep(of)
np
3+sin
name(india)
[]
[]
[]
Semantics: 0msec.
answer([$VAR(0)]) :-
country($VAR(0))
& borders($VAR(0), mediterranean)
& exists $VAR(1)
country($VAR(1))
& exists $VAR(2)
country($VAR(2))
& exists $VAR(3)
population($VAR(2), $VAR(3))
& exists $VAR(4)
population(india, $VAR(4))
& exceeds($VAR(3), $VAR(4))
& borders($VAR(2), $VAR(1))
& borders($VAR(0), $VAR(1))
Planning: 0msec.
answer([$VAR(0)]) :-
exists $VAR(1) $VAR(2) $VAR(3) $VAR(4)
population(india, $VAR(4))
& borders($VAR(0), mediterranean)
& {country($VAR(0))}
& { borders($VAR(0), $VAR(1))
& {country($VAR(1))}
& { borders($VAR(2), $VAR(1))
& {country($VAR(2))}
& { population($VAR(2), $VAR(3))
& {exceeds($VAR(3), $VAR(4))} } } }
turkey.
Reply: 0msec.
Ya trois étapes : le parsing avec analyse grammaticale, la transformation en requete logique, et le planning où la requete est améliorée.
Bref, c'est possible.
Ce langage sera aussi basés sur des paradigmes vraiment nouveaux, mais je vous en reparlerai en temps voulu.
Bref, tout ça pour dire, que d'une part l'humain, c'est mieux qu'une machine au quotidien. Et d'autre part, nos outils de programmations sont peut être pas adaptés.
Et je n'accepte pas (pour moi, les gens font ce qu'ils veulent) les messages de résignations que je lis tout le long du style "c'est en forgeant qu'on devient forgeron", "code plus, tu feras moins de bugs".
Je code beaucoup depuis l'age de 11 ans, et je fait encore bcp trop de fautes d'innatention, c'est donc un problème de cerveau ET de langage.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker