mercredi 30 janvier 2008

IDEA, vendeur de conneries a monter soi-meme

C'est pour quand le What you want is what you get ?
pour la programmation faudrait le What you wrote is what you get.

...

Pourquoi avoir réuni donnée et traitement alors que c'est pareil.

...

J'inaugure l'article publie a peine commencé


1

1.1
L'approche fonctionnelle n'englobe t elle pas l'approche objet; dans le sens ou avec moins on peut faire autant voir plus.

1.2
Comment fais t on pour finir une tache quand on ne sait pas vraiment completement ce que c'est ni comment et que ca a pourtant l'air a la portee d'un noobie.

2

2.2
'1.1 se concretise, je viens de lire des articles sur le rasoir d'occam , principe de parcimonie etc ... enfin bon.

2.3
Je jongle avec trois mapping en ce moment
- fr
- us
- fr-apple sur clavier pc ^^
Ca fait mal au crane un peu au debut, mais on s'y fait vite ( surtout quand on a pas le choix ).
De toute facon j'avais deja vecu ca a l'epoque des reboot sous DOS sans mapping fr. Le temps passer a chercher comment taper "format c: /q /s" lool
Le plus perturbant je crois c'est l'inversion des logiques des position des touches win / ctrl , menu / alt.
En tout cas ca fait gagner en dexterite. On devrait tous utiliser pleins de mappings differents, ca delie les doigts et ca assouplie le cerveau :D

2.4
Dans le mythe mois/homme l'auteur cite que les projets n'aboutissent pas en partie a causes "de langages et de systemes laborieux et malaisés a utiliser" (from wikipedia). Il continue en expliquant que depuis l'arrivee des langages de haut niveau, plus aucun bond important ne sera franchi en productivite a ce niveau.
C'est bizarre, cette phrase la me tourne dans la tete depuis 3 ans ... pourtant on utilise des choses encore plus "evoluees" quen 75... j'dois vraiment etre un abruti alors. (je sais je sais)

2.4.1
J'avais oublie ce 'truc' mais un ex designer de chez MS a monte une boite qui fait de l intentional programming. Bon j'ai pas envie de tomber dans une secte qui va proner une methodologie a leur sauce, mais dans le fond leur approches me seduit ... au lieu de se tirer des balles dans le pied avec nos propres "outils" mal foutus, ils veulent simplifier et clarifier les moyens d'ecrire du logiciel pour aboutir a des resultats de meilleure qualites et plus facilement.
Je vais appeler leur directeur pour avoir une discussion :D

url : http://www.intentsoft.com/

2.4.2

je sais meme plus si j'en ai parle ici, voila le site des travaux de mr edwards.
ca s'appelle subtext et en gros, cest le nirvana selon moi. ca se resume en une phrase : "edit-time = run-time", pour ce faire son "editeur" n'est rien d'autre qu'une vue d'un graph de dataflow, une fonction propage sa sortie si ses parametres changent.

gains :

- refactoring gratuit,
- test unitaire gratuit,
- expression plus concise, seule les informations necessaire ne sont construites dans l'editeur,
- sidefx free, dataflow => evite les variables temporaires, pas d'effets de bord
- 'observabilite', surement le plus important, tout est vivant, on voit exactement ce qui se passe et d'ou vient le bug, on peut reflechir gratuitement

desavantages :

selon moi aucun, a part une perte d'habitudes (mauvaises habitudes), la 'lecture' est déroutante la premiere minute.

manques :

dans la video il code factorielle, un cas classique, il faudrait voir un cas avec des grosses fonctions.
juste pour voir jusqu ou ca tiens la charge.

video1 : http://subtextual.org/demo1.html
site : http://subtextual.org
3

3.1 pourquoi versionner des variations temporelle d'artefacts plutot que des propriétés logiques, comme des specification information / complexite espace-temps ?

4

4.1 supprimer les efforts plutot que les gerer ? (utopique mais j'ai toujours pensé comme ca en fait)

5

5.1

*********************************
package test;

/**
* @author johan
*
* Don't fuck with java scoping dude.
*
*/
public class JJava {

final int SIZE = 5;
static int _i = 3;

interface IInterface {
public void e();
}

public IInterface[] inst() {

class InMethClassDef{
public int i = ++_i;

public IInterface aa() {
return new IInterface() {
private String a = "scope test";
public int ii = i;
public void e() {
i += ii;
ii++;
System.out.println("a : " + a + " Aa.i : " + i + " local.i " + ii );
};
};
}
}
IInterface [] t = new IInterface[SIZE];
for(int i=0;i<SIZE;i++){
t[i] = new InMethClassDef().aa();
t[i].e();
}
return t;
}

public static void main(String args []){
JJava j = new JJava();
IInterface[] t = j.inst();
for(int i=0;i<j.SIZE;i++){
t[i].e();
}
}

}


*********************************

jeudi 17 janvier 2008

books


Sur LTU j'ai appris que le site ACM mettait a disposition quelques pdf de bouquins assez celebre en informatique, une bonne dizaine. Bien sur je me suis empresse de les telecharger au taff et chez moi ( pas le temps de faire de copie ... on est parti boire une biere [ je peux classer la leffe dans le meme groupe que les vins blancs, categorie alcool faible qui mettent fly direct ] ).

Je ne peux m'empecher de repenser a l'effet qu'a eu SICP sur moi ... bon le probleme quand tu vois la lumiere c'est que t'aimerais bien sortir de la grotte. Et la... c'est le drame, tu fais un blocage complet face a la mediocrite informatique.
De toute facon, jai pas eu le temps de le lire en entier, a peine un 8eme dailleurs (merci les videos du MIT dailleurs).
J'ai presque envie d'acheter un smartphone ou un archos juste pour pouvoir lire des pdfs dans les transports.

... comme ca je pourrais enfin lire les 3752294 ebooks qui s'entasse dans un repertoire sur mon disque dur XD! (oui, il n'y a que dans la matrice qu'on apprend sans efforts :D)