Le problème est que la bijectivité parfaite n'existe pas.
Imagine un modèle avec une classe qui comporte des attibuts private et public.
Pour diverses raisons, tu as décidé que ton générateur de code transforme tous les attributs en public dans le code généré de la classe.
Si tu fais un reverse, tu n'as pas moyen de revenir au modèle initial en remettant les bon attributs.
Tu régenères donc une version de modèle qui a tous ses attributs à public et tu t'en remets au modeleur et à ses capacités à merger les modèles pour reconstituer le modèle que tu attends. La transfo inverse ne peut pas être automatique.
Pour une classe ca va, mais pour un projet complet.
C'est pourquoi, on privilégie une approche top down car le roundtrip est beaucoup trop complexe voire inapplicable.
L'autre solution consiste à conserver la tracabilité de la génération (modèle de marquages). La transfo modèle vers code (vu comme un modèle) mémorise chaque relation entre elt du modèle souce et du modèle cible.
Ca marche pas mal avec les modèles parce que tous les elts ont des identifiants immuables.
Avec du code source cet identifiant est dans les commentaires.
Ca reste ardu car il y a plein de cas tordu (cas des surjections: 1elt donne n elt dont 1 seul a changé dans le code , ...)
Je veux bien croire qu'on veuille contraindre son modèle, mais j'ai du mal à comprendre la pertinence de ta limite : si une classe comporte des attributs publics, qu'ils soient rendus comme tel dans le modèle, de même pour les privés, protected.
Bref la bijectivité suppose que le modèle rende compte du code pour ce qu'il sais représenter : essentiellement les prototypes de fonction et la config.
Si ça contrevient à une règle posé, genre celle que tu cite en exemple, eh bien pond un warning, mais va pas dire que c'est pas bijectif :-)
Pour RSM et ClearCase, je t'assure que j'ai jamais vu cette fonction de gestion de modification de source, mais on avait peut être une version trop vieille, je ne sais pas
Même question. Je comprend pas ce que tu veux dire. J'ai pas du être clair.
Tu me disais ds le précédent post que ces outils géraient une sorte de bijectivité, je te répondais que ds la pratique que j'en ai eu, non.
Clearcase n'a effectivement rien à voir, c'est un VCS comme tu le disais, mais tu les citaient plus haut.
C'est avec RSM que je devait faire mes boiboites (j'en ai envie de vomir rien que d'y penser, brrrrrr), et c'est une des interfaces les plus mal pensée et imbitable que j'ai jamais vu.
Tout ça décidé d'en haut par des abrutis qui n'ont jamais eu à y toucher. Voilà les dégats d'ingénieurs au poste de managment qui lisent des plaquettes de pub, et qui croient connaitre parce qu'ils ont codé 10 lignes de java ya 10 ans.
Bref, au minimum, il faut garantir la bijectivité, l'outil dusse t-il sortir une palanqué de warning pour dire qu'il ne sait pas reverser tel chose, ou que ça viole telle ou telle contrainte.
Mais croire qu'on va attirer le développeurs en lui imposant un outil où il doit se débrouiller avec du code généré à partir d'un moment x du projet, j'ai peur que ça marche mal, la pénétration dans le secteur..
PS : Votre techno a 15 ans, il va falloir 15 autres années pour que ça parvienne au cerveau des industriels, on pari ? ;-)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Alors si ça me gère les points d'insertion du code, en sachant qu'entre tel endroit tel endroit il doit pas y toucher, très bien. Le problème peut venir de l'incapacité de l'outil de comprendre que telle zone de code ne fait pas partie de ce qu'il a généré, typiquement le coeur d'une fonction.
La coque de la fonction, bref ce qu'il a généré, ne doit pas être touchée, on est d'accord, même si ça pourrait être plus pratique dans certains cas, surtout avec Eclipse qui te gère le refactoring automatique, alors que ton outil (je connais RSM + ClearCase) ne le fait pas, ce qui fait que tu dois le faire à de multiple endroits, moins nombreux certes, mais néanmoins multiples.
Donc partant de cela, et si c'est géré automatiquement, ça devient intéressant... dans certains projets, bien bateaux, et bien cadrés.
En gros les projets neufs, ce qui est assez rare dans une SSII.
Pour RSM et ClearCase, je t'assure que j'ai jamais vu cette fonction de gestion de modification de source, mais on avait peut être une version trop vieille, je ne sais pas.
M'est avis, que vous allez avoir du mal à imposer ça dans l'industrie, ie. à l'average programmer, parce qu'il va falloir imposer ça au développeur, et quand on voit comment certains sont pédants (voire plus haut), c'est mal parti.
Java, n'est ni plus ni moins qu'une application de concept de Simula (1967), soit un décalage de 35 ans entre le labo et sa généralisation dans l'industrie.
Mais un conseil, veillez vraiment à la bijectivité, je pense que c'est un gros frain à l'adoption. Et travailler vos interfaces de dev, parce que 20 clics (et j'exagère au pire d'un facteur 1,2) pour dire que ma fonction toto a un param machin de type string -----> Poubelle.
J'ai pas envie d'avoir une tendinite au poignet..
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Je me demande si t'as vraiment développé un projet dans la réalité !
T'es quoi, encore un ingénieur qui rêve avec ses beaux modèles, et qui fait trimer les pauvres développeurs se démerder avec toutes les conséquences de ses modèles tout beaux tout propres qui te font mousser ?
Excuse moi, mais ça me gonfle profondément.
Si tu pars avec ce genre de ton suffisant, t'es pas prêt d'imposer ton approche MDA, parce que nous les développeur on continuera à gueuler et démontrer par A + B que ça nous emmerde et nous fait perdre du temps.
De l'expérience que j'en ai eu (certes pas Acceleo, mais un concurrent) c'est une perte de temps totale. Comprendre j'aurai fait 100 fois mieux avec un script perl de 200 lignes, ce que j'ai d'ailleurs fait discrètement à la fin, parce que ça devenait ingérable.
Fait toi passer pour un dev Bac + 2, va faire le grouillot dans une SSII pour apprendre ce qu'est la réalité, et tu calmera ton ton peremtoire.
J'ai entendu des milliers de fois ton refrain "un projet bien fait est modélisé dès le début"
Ca marche pas p**** ! Parce que le modélisateur aussi doué qu'il est loupe des concepts, que le client a changé d'avis, que le framework Y marche pas sur tel fonctionnalité et qu'il faut changer pas mal de truc dans le code généré parce que tel truc s'implémente plus de la même façon, etc...
J'en ai eu plein des cas comme ça, et à cause de ça on a été obligé de jeter les boiboites et de bosser à la main sur du code généré, génial !
Votre truc de métatruc ça sera très bien quand ça sera bijectif, pas avant, fou toi le dans le crane.
Merci.
Et c'est pas parce que t'as quelques exemple qui ont eu la chance de marcher, que ça se généralisera.
Descend sur terre ! (et arrête de nous prendre pour des glandus)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Chez Accenture TS (la filiale info) ils essayent de pousser les projets à utiliser la suite Rational pour générer le maximum de code. Mais en pratique, non seulement c'est pas bidirectionnel ce qui transforme l'expérience en cauchemard, et tu perd plus de temps à définir des boites dans un outil mal foutu que de temps à faire un bon design.
En plus t'es obligé de tout jeter quand tu as commencé à coder dans tes classes, ce qui peut souvent arriver dans une approche incrémentale (qui se développe).
Je ne parle même des heures passées à rajouter le fait que dans la fonction toto dans la classe machin, il y a deux paramètre string.
Mais bon ça c'est Rational. Acceleo pas testé, peut être que c'est bien fait.
Même dans un approche cycle en V c'est la merde à cause de la non bidirectionalité : c'est rare qu'on ait pas besoin de corrigé un truc après coup. Et là horreur : on doit gérer du code généré à la main, ya plein d'incohérence qui pètent de partout. Merde le framework a un bug, mais on le savait pas, fo prendre la version suivante (ou précédente), et là faut tout refaire.
Ah mais attend si tu veux regénérer, t'écrases le code déjà ecris.
Bref, c'est beau sur le papier...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Oui tiens d'ailleurs, Acceleo est-il bidirectionnel ?
Car dans ce cas ça peut avoir un quelconque intérêt, pour générer le "code à faible valeur ajoutée" (la bouse à framework est son autre petit nom)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Effectivement c'est intéressant de pouvoir générer toutes les parties chiantes d'une bouse J2EE : Base de données, DTO, coques des DTA, coques Services, etc...
On voit bien dans le screencast à 2/3 (le temps n'est pas affiché), que le code Java, à l'intérieur du code, enfin, des coques générées, il faut se le farcir à la main.
En gros, c'est un outil moyennement intéressant, qui s'épargne d'écrire à la main le code bête et stupide que l'on trouve dans tous framework java : gestion de la BDD, prototypes des fonctions, gestions des multiples fichiers de la susdite bouse.
Mais ce qui me fait marrer, c'est qu'on continue à dessiner des boiboites, qui sémantiquement ne valent rien : un User est une simple boiboite avec le titre User, et des champs à l'intérieur.
Pire on voit à quel point c galère d'expliquer que la fonction findCategoryByName a un param String, ça prend 3 fois plus de temps que l'écrire, faut cliquer partout !
Là c'est débile.
Est-ce qu'on pourrait avoir un truc qui soit plus haut niveau où on définit les specs et qui nous génère le code à l'intérieur ?
Ou pourrait t'on définir des HFSM, des règles pour un moteur de règle, une interface à FSM tant qu'on y est.
Bref autre chose que du code qu'on est obligé de générer pour coller au framework de 20T qui accompagnent ces technos.
Je dis pas que c'est criminel, je dis que c'est stupide par certains côté, et que ce n'est pas la bonne approche d'attaquer le problème de l'industrialisation du logiciel.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Ou en est XCB ( http://fr.wikipedia.org/wiki/XCB ) ?
Parce que pour vivre sous mac au quotidien, même une debian ou un ubuntu bien carrosé, l'affichage c'est encore caca.. On voit encore un peu trop les délai d'affichages, les refresh pas propres, etc...
Bon j'avoue, je n'ai absolument rien touché de ma config installé par défaut sur les machines dont je parle.
Mais j'ai quand même la nette impression que XCB apporterait une nette impressions.
Dans le même ordre : XCB est-il fourni aisément dans nos distros habituelles ? Ou faut-il explicitement installer le paquet, mis de côté par défaut ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Enfin, traiter les autres de populistes quand on ecrit ce genre de chose juste un peu plus haut, il faut vraimer oser (mais bon, on est plus a ca pres)...
En effet, sans parler d'Arlette Chabot et des journalistes de TF1/LCI qui servent la soupe (mais ça on a l'habitude)
Mais vous croyez que les journalistes en auraient parlé ?
Que Neni, ça les emmerdes ! Faudrait réfléchir, vous vous rendez compte ! C'est fatigant !
Ah bon, c'est une question de revenu la bourgeoisie ?
Non pas pour moi, c'est une façon de vivre, des centres d'intérêts, de préocupations, etc...
Bien vu ;-) Je t'aurai prié de ne pas me souffler mes contradictions au visage, mais c'est raté ;-)
Quand je parle de TF1/LCI, il s'agit vant tout des directeurs de rédactions qui font les choix éditoriaux. Je t'invite à lire J-F Khan sur la question qui analyse très bien la dichotomie entre "grand journaliste" et troufion de base.
Effectivement, je trouve que la plupart des journalistes connus des médias les plus en vus ne réfléchissent pas trop.
T'en lis/entend/voit beaucoup des articles de fond ? Dans des revues spécialisées oui, mais que là.
Quand à la bourgeoisie, je maintient qu'un apprenti bourgeois fut-il boursier, dans le temps de l'oligarchie, Science-Po, adopte les préoccupations qui s'y rattachent.
Bref, je me justifie comme je peux ;-)
Pour le reste, Mélenchon, politique pro, hypocrite.
Effectivement, le personnage me gonfle assez prodigieusement pour ça d'habitude, même si je dois reconnaitre qu'il est un peu plus cohérent dans ses idées que ses anciens petits camarades du PS.
Il y a 10 ans, j'ai monté la première assoc de consommateur internautes. On s'est battu ferme (devant les parlementaires, l'ART, etc...) pour qu'on ait l'ADSL comme on l'a aujourd'hui. On a eu jusqu'à 5000 adhérents. Je saurais jamais quel impact on aura eu...
Je m'occupais de la comm', des journalistes (puis du lobbying devant les parlementaires, l'ART).
Bah désolé, j'ai appris qu'un journaliste, ça se manipule. Parce que sinon il va raconter n'importe quoi.
C'est un jeu en fait. Il est pas là pour relayer l'info, mais pour vendre.
Toi ton rôle, c'est de faire relayer ton message sans déformation.
Donc le journaliste, dès fois c'est ton copain, dès fois il te met dans la merde.
Après ça t'empêche pas de penser que dans l'ensemble ils sont nuls.
Et que tu sois un gros hypocrites et pas clair dans tes relations avec eux ne change rien. Ils sont nuls, ne parlent jamais de débats de fonds, et c'est un gros problème pour notre démocratie, c'est tout.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Ouais ok, tous pourri, ils sont tous de mèches avec leur copain les journalistes et ces derniers écrivent ce qu'ils veulent quand ils veulent.
Mais arrêtez de les mettre tous dans le mêe sac, ça nous aiderait !
Oui le monde politique et journalistique politique est un microcosme qui se cotoie, voire s'unit. Oui il y a beaucoup de copinage.
Mais non, ça n'est pas uniforme. Certains sont mieux servis que d'autres (en particulier parce que les journalistes politique ayant le pouvoir dans les rédactions veulent imposer le bi partisme, ça leur permettrait de réfléchir encore moins).
Effectivement Mélenchon peut avoir des facilités pour avoir accès à l'Huma. Ou Dupont-Aignan à Valeurs Actuelles.
Et tu vas te servir de ça pour nous servir "ouais de toutes façons ils sont tous de mèches, tous médias et bords confondus".
C'est un peu plus compliqué que ça, et un peu, ohhh aller, je vais sortir un gros grs mot dont il faudrait qu'on discute un jour c'est un peu.... populiste.
Voilà, c'est ça, populiste.
Tous ces gens là ce cotoient, jouent dans la même arène, mais ne pensent pas tous la même chose, ni ne poursuivent les mêmes intérêts et objectifs, alors merci de ne pas simplifier.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Ah oui zut pardon merci, j'ai oublié de le copier :
* Mélanchon l'accuse d'être un "bourgeois" et l'autre de répondre "ah bah non pas de chance je suis boursier" Ah bon, c'est une question de revenu la bourgeoisie ?
Non pas pour moi, c'est une façon de vivre, des centres d'intérêts, de préocupations, etc... Et Science-Po est un très bon éducateur de bourgeois, boursier ou non.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
> SQLite ? C'est juste une librairie...
On a un pot SQlite,
nan ce qui serait intéressant, ce serait de pouvoir mettre toute sortes de fonction dans le where, des fonctions de ton code, et pas se limiter au filtrage offert par SQL.
Et tu ne peux pa faire de requete imbriquées avec SQlite, donc ça limite.
Ca n'enlève rien que cette lib est merveilleuse !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Heu nan, parce j'adore le SQL et j'ai pas envie de me prendre la tête à coder des boucles pour récups mes infos..
Sur les forums Pgsql, ils m'ont conseillé de faire une transaction complète pour encadrer les insertions, de mettre le minimum d'indexs. Ce qui rejoint la remarque de facatergnie plus haut sur les 8ms pour l"insert : il y avait autocommit, on avait donc un temps d'accès disque.
Les résultats sont spectaculaires ! Ca prend toujours qq heures, mais plus 2 jours.
Donc c'est toujours possible.
Mais franchement ton idée est intéressante, et j'y penses souvent, il faudrait juste un sql interne à un langage aussi puissant que SQL voire HQL. On a passé pas mal de temps à imaginer une syntaxe sympa en Lisaac avec l'auteur du langage, et j'espère qu'un jour ça deviendra réalité.
Mais là encore, je suis pas sûr qu'on soit toujours plus rapide : c'est qd même bien foutu un SGBD.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Ca à l'air très alléchant tout ça, surtout après avoir découvert Dwarf Fortress *, mais en survolant les liens, je comprend pas vraiment de quoi il retourne...
Quel est le concept - avec plus de précision que "on peut tout créer" - Comment ça marche ? Est-ce qu'il modélise une sorte de monde physique ?
Bref, tu as l'air d'avoir compris pas mal de chose, mais je reste sur ma faim :-)
Dans ce jeu, vous pouvez vous amuser à creuser des galleries, avec un système de vase communicante, voire d'écluses, qui va fonctionner quand vous aller innonder votre gallerie.
De même chaque nain a sa psychologie et réagit différent aux ordres, aux évènements.
Je crois qu'on est jamais allé aussi loin, c'est proprement hallucinant !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
3 connexions parce que je serai le seul à faire des requetes dessus, et mon serveur est en local..
Où est le problème ?
Pour le schéma, j'ai 2 tables, une de 300 k lignes, l'autre de 5 millions.
ce qui rame, c'est l'update sur la table de 5 millions, qui consiste à calculer la variance de 3 valeurs.
Il met 8ms par lignes, soit 11h pour toute la table
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Il y a tout de même une question de liberté là dedans. Ce serait dommageable que sous prétexte de préserver les concept albums, on nous oblige systématiquement, comme à l'époque du CD à acheter 15 morceaux alors que seuls un ou deux nous intéresse.
Certes un problème de liberté, mais ya des limites à masacrer des oeuvres d'art.
Tu voudrais couper une partie d'une reproduction de Gernica de Picasso, parce que t'aimes pas l'autre partie du tableau ?
Pas mal d'albums de Pink Floyd doivent être pris comme un tout.
Couper animals en petit bout c'est débile, The Wall encore plus, surtout qu'il n'y a pas de coupure entre les morceaux (enfin la plupart).
Ne parlons pas des Sysyphus ou The narrow way dans ummaguma.
Et pourquoi pas couper Echoes pendant que tu y es.
Ya vraiment un truc malsein dans cette société où, à vouloir la liberté à tout prix, on accepte plus aucune contraintes : artistiques, démocratiques, etc...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Bon l'ergonomie admettons, c'est pas leur principal problème.
Vous en connaissez des gens qui ont acheté un tel Android et qui ne sont pas geeks ? Perso je n'en connais qu'un. Par contre aux USA cela semble plus courant.
Voilà, ça c'est LE problème. Google doit forcer les fabriquant, les opérateurs à vendre leur marque, avec un gros Android.
Quand je vais à la Fnac à côté de chez moi, je vois des gros iPhone, mais pour savoir si c'est un android faut chercher longtemps..
La concurrence aujourd'hui, c'est comme la gauche en europe aujourd'hui : pas d'idées...
- Symbian a 50% du marché, mais Symbian c'est pas fait pour faire du smartphone, mais plutôt des téléphones tout simple avec un agenda et trois jeux dessus. Ils essayent certes de remonter la pente, bon courage !..
- Samsung avec Bada débute, et c'est pas forcément mieux
- Et enfin Google avec Android. Là c'est consternant..
° L'ergonomie est loin derrière
° Ils vendent pas leur marque, résultat personne connait Android
° Leur store est nul, mal pensé, difficile d'y entrer, résultat, ils vendent 1000 fois moins qu'apple (1 milliards d'opération)
Bref, si un jour un concurent un peu plus ouvert, surtout si c'est google, qui se met enfin à comprendre qu'ils vont droit dans le mur, Apple aura du souçi à se faire, car là, les développeurs migreront.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
Justement !
Le néolibéralisme est une sorte de communisme inversé, un "communisme à base privé" comme le dit J-F Khan.
Donc cela s'applique tout à fait.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
En ce qui me concerne, mais c'est que mon avis, je fais la différence entre capitalisme, qui est un mode d'organisation de production, distribution des biens particulier, et libéralisme qui est une forme particulière de capitalisme qui s'articule dessus.
Le capitalisme suppose quelques valeurs acceptées, comme le droit à la propriété pour l'individu (ce qui n'a pas toujours été le cas dans pas mal de civilisation et autres organisations sociales). A part quelques valeurs de base, le capitalisme ne requiert pas énormément de "construction" dans le système de valeur.
Le capitalisme est apparu chez les romains, les grecs, les phéniciens, sous diverses formes.
Elles n'étaient pas pour autant libérales.
Le libéralisme (originel) sous tend un système de valeur plus complet(xe), et plus spécifique : on y trouve outre le droit à la propriété, l'égalité juridique avec toutes ses conséquence, droits opposables à la société et au pouvoir, etc...
Il faut bien voir, qu'à l'époque romaine, on avait pas tout cela, on avait qq chose qui y ressemblait, mais pas tout à fait.
Après effectivement, certaines formes de capitalismes évoluent vers l'oligarchisation.
Mais cite moi des grandes civilisation au cours des 5000 dernières années, qui n'ont pas eu ce trait déviant vers l'oligarchisation ?
La social-démocratie, après 45, n'était pas oligarchique, c'est pourtant une forme de capitalisme, régulé.
Comme quoi ça peut exister.
Donc dire "tout ça c'est la même chose", c'est un peu rapide.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: On est pas vendredi mais je m'en fous
Posté par Ontologia (site web personnel) . En réponse à la dépêche Acceleo 2.7.0 est sorti !. Évalué à 2.
Imagine un modèle avec une classe qui comporte des attibuts private et public.
Pour diverses raisons, tu as décidé que ton générateur de code transforme tous les attributs en public dans le code généré de la classe.
Si tu fais un reverse, tu n'as pas moyen de revenir au modèle initial en remettant les bon attributs.
Tu régenères donc une version de modèle qui a tous ses attributs à public et tu t'en remets au modeleur et à ses capacités à merger les modèles pour reconstituer le modèle que tu attends. La transfo inverse ne peut pas être automatique.
Pour une classe ca va, mais pour un projet complet.
C'est pourquoi, on privilégie une approche top down car le roundtrip est beaucoup trop complexe voire inapplicable.
L'autre solution consiste à conserver la tracabilité de la génération (modèle de marquages). La transfo modèle vers code (vu comme un modèle) mémorise chaque relation entre elt du modèle souce et du modèle cible.
Ca marche pas mal avec les modèles parce que tous les elts ont des identifiants immuables.
Avec du code source cet identifiant est dans les commentaires.
Ca reste ardu car il y a plein de cas tordu (cas des surjections: 1elt donne n elt dont 1 seul a changé dans le code , ...)
Je veux bien croire qu'on veuille contraindre son modèle, mais j'ai du mal à comprendre la pertinence de ta limite : si une classe comporte des attributs publics, qu'ils soient rendus comme tel dans le modèle, de même pour les privés, protected.
Bref la bijectivité suppose que le modèle rende compte du code pour ce qu'il sais représenter : essentiellement les prototypes de fonction et la config.
Si ça contrevient à une règle posé, genre celle que tu cite en exemple, eh bien pond un warning, mais va pas dire que c'est pas bijectif :-)
Pour RSM et ClearCase, je t'assure que j'ai jamais vu cette fonction de gestion de modification de source, mais on avait peut être une version trop vieille, je ne sais pas
Même question. Je comprend pas ce que tu veux dire. J'ai pas du être clair.
Tu me disais ds le précédent post que ces outils géraient une sorte de bijectivité, je te répondais que ds la pratique que j'en ai eu, non.
Clearcase n'a effectivement rien à voir, c'est un VCS comme tu le disais, mais tu les citaient plus haut.
C'est avec RSM que je devait faire mes boiboites (j'en ai envie de vomir rien que d'y penser, brrrrrr), et c'est une des interfaces les plus mal pensée et imbitable que j'ai jamais vu.
Tout ça décidé d'en haut par des abrutis qui n'ont jamais eu à y toucher. Voilà les dégats d'ingénieurs au poste de managment qui lisent des plaquettes de pub, et qui croient connaitre parce qu'ils ont codé 10 lignes de java ya 10 ans.
Bref, au minimum, il faut garantir la bijectivité, l'outil dusse t-il sortir une palanqué de warning pour dire qu'il ne sait pas reverser tel chose, ou que ça viole telle ou telle contrainte.
Mais croire qu'on va attirer le développeurs en lui imposant un outil où il doit se débrouiller avec du code généré à partir d'un moment x du projet, j'ai peur que ça marche mal, la pénétration dans le secteur..
PS : Votre techno a 15 ans, il va falloir 15 autres années pour que ça parvienne au cerveau des industriels, on pari ? ;-)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: On est pas vendredi mais je m'en fous
Posté par Ontologia (site web personnel) . En réponse à la dépêche Acceleo 2.7.0 est sorti !. Évalué à 2.
La coque de la fonction, bref ce qu'il a généré, ne doit pas être touchée, on est d'accord, même si ça pourrait être plus pratique dans certains cas, surtout avec Eclipse qui te gère le refactoring automatique, alors que ton outil (je connais RSM + ClearCase) ne le fait pas, ce qui fait que tu dois le faire à de multiple endroits, moins nombreux certes, mais néanmoins multiples.
Donc partant de cela, et si c'est géré automatiquement, ça devient intéressant... dans certains projets, bien bateaux, et bien cadrés.
En gros les projets neufs, ce qui est assez rare dans une SSII.
Pour RSM et ClearCase, je t'assure que j'ai jamais vu cette fonction de gestion de modification de source, mais on avait peut être une version trop vieille, je ne sais pas.
M'est avis, que vous allez avoir du mal à imposer ça dans l'industrie, ie. à l'average programmer, parce qu'il va falloir imposer ça au développeur, et quand on voit comment certains sont pédants (voire plus haut), c'est mal parti.
Java, n'est ni plus ni moins qu'une application de concept de Simula (1967), soit un décalage de 35 ans entre le labo et sa généralisation dans l'industrie.
Mais un conseil, veillez vraiment à la bijectivité, je pense que c'est un gros frain à l'adoption. Et travailler vos interfaces de dev, parce que 20 clics (et j'exagère au pire d'un facteur 1,2) pour dire que ma fonction toto a un param machin de type string -----> Poubelle.
J'ai pas envie d'avoir une tendinite au poignet..
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: On est pas vendredi mais je m'en fous
Posté par Ontologia (site web personnel) . En réponse à la dépêche Acceleo 2.7.0 est sorti !. Évalué à -2.
T'es quoi, encore un ingénieur qui rêve avec ses beaux modèles, et qui fait trimer les pauvres développeurs se démerder avec toutes les conséquences de ses modèles tout beaux tout propres qui te font mousser ?
Excuse moi, mais ça me gonfle profondément.
Si tu pars avec ce genre de ton suffisant, t'es pas prêt d'imposer ton approche MDA, parce que nous les développeur on continuera à gueuler et démontrer par A + B que ça nous emmerde et nous fait perdre du temps.
De l'expérience que j'en ai eu (certes pas Acceleo, mais un concurrent) c'est une perte de temps totale. Comprendre j'aurai fait 100 fois mieux avec un script perl de 200 lignes, ce que j'ai d'ailleurs fait discrètement à la fin, parce que ça devenait ingérable.
Fait toi passer pour un dev Bac + 2, va faire le grouillot dans une SSII pour apprendre ce qu'est la réalité, et tu calmera ton ton peremtoire.
J'ai entendu des milliers de fois ton refrain "un projet bien fait est modélisé dès le début"
Ca marche pas p**** ! Parce que le modélisateur aussi doué qu'il est loupe des concepts, que le client a changé d'avis, que le framework Y marche pas sur tel fonctionnalité et qu'il faut changer pas mal de truc dans le code généré parce que tel truc s'implémente plus de la même façon, etc...
J'en ai eu plein des cas comme ça, et à cause de ça on a été obligé de jeter les boiboites et de bosser à la main sur du code généré, génial !
Votre truc de métatruc ça sera très bien quand ça sera bijectif, pas avant, fou toi le dans le crane.
Merci.
Et c'est pas parce que t'as quelques exemple qui ont eu la chance de marcher, que ça se généralisera.
Descend sur terre ! (et arrête de nous prendre pour des glandus)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: On est pas vendredi mais je m'en fous
Posté par Ontologia (site web personnel) . En réponse à la dépêche Acceleo 2.7.0 est sorti !. Évalué à 2.
Dommage !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: On est pas vendredi mais je m'en fous
Posté par Ontologia (site web personnel) . En réponse à la dépêche Acceleo 2.7.0 est sorti !. Évalué à 2.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: On est pas vendredi mais je m'en fous
Posté par Ontologia (site web personnel) . En réponse à la dépêche Acceleo 2.7.0 est sorti !. Évalué à 3.
En plus t'es obligé de tout jeter quand tu as commencé à coder dans tes classes, ce qui peut souvent arriver dans une approche incrémentale (qui se développe).
Je ne parle même des heures passées à rajouter le fait que dans la fonction toto dans la classe machin, il y a deux paramètre string.
Mais bon ça c'est Rational. Acceleo pas testé, peut être que c'est bien fait.
Même dans un approche cycle en V c'est la merde à cause de la non bidirectionalité : c'est rare qu'on ait pas besoin de corrigé un truc après coup. Et là horreur : on doit gérer du code généré à la main, ya plein d'incohérence qui pètent de partout. Merde le framework a un bug, mais on le savait pas, fo prendre la version suivante (ou précédente), et là faut tout refaire.
Ah mais attend si tu veux regénérer, t'écrases le code déjà ecris.
Bref, c'est beau sur le papier...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: On est pas vendredi mais je m'en fous
Posté par Ontologia (site web personnel) . En réponse à la dépêche Acceleo 2.7.0 est sorti !. Évalué à 2.
Car dans ce cas ça peut avoir un quelconque intérêt, pour générer le "code à faible valeur ajoutée" (la bouse à framework est son autre petit nom)
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: On est pas vendredi mais je m'en fous
Posté par Ontologia (site web personnel) . En réponse à la dépêche Acceleo 2.7.0 est sorti !. Évalué à 7.
J'ai regardé les screecast, et particulièrement celui-là : http://www.acceleo.org/screencast.php?width=858&height=6(...)
Bilan, encore un métatruc !
Effectivement c'est intéressant de pouvoir générer toutes les parties chiantes d'une bouse J2EE : Base de données, DTO, coques des DTA, coques Services, etc...
On voit bien dans le screencast à 2/3 (le temps n'est pas affiché), que le code Java, à l'intérieur du code, enfin, des coques générées, il faut se le farcir à la main.
En gros, c'est un outil moyennement intéressant, qui s'épargne d'écrire à la main le code bête et stupide que l'on trouve dans tous framework java : gestion de la BDD, prototypes des fonctions, gestions des multiples fichiers de la susdite bouse.
Mais ce qui me fait marrer, c'est qu'on continue à dessiner des boiboites, qui sémantiquement ne valent rien : un User est une simple boiboite avec le titre User, et des champs à l'intérieur.
Pire on voit à quel point c galère d'expliquer que la fonction findCategoryByName a un param String, ça prend 3 fois plus de temps que l'écrire, faut cliquer partout !
Là c'est débile.
Est-ce qu'on pourrait avoir un truc qui soit plus haut niveau où on définit les specs et qui nous génère le code à l'intérieur ?
Ou pourrait t'on définir des HFSM, des règles pour un moteur de règle, une interface à FSM tant qu'on y est.
Bref autre chose que du code qu'on est obligé de générer pour coller au framework de 20T qui accompagnent ces technos.
Je dis pas que c'est criminel, je dis que c'est stupide par certains côté, et que ce n'est pas la bonne approche d'attaquer le problème de l'industrialisation du logiciel.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Et XCB ?
Posté par Ontologia (site web personnel) . En réponse au journal Xorg 1.8: épatant ?. Évalué à 3.
Parce que pour vivre sous mac au quotidien, même une debian ou un ubuntu bien carrosé, l'affichage c'est encore caca.. On voit encore un peu trop les délai d'affichages, les refresh pas propres, etc...
Bon j'avoue, je n'ai absolument rien touché de ma config installé par défaut sur les machines dont je parle.
Mais j'ai quand même la nette impression que XCB apporterait une nette impressions.
Dans le même ordre : XCB est-il fourni aisément dans nos distros habituelles ? Ou faut-il explicitement installer le paquet, mis de côté par défaut ?
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Tu m'Elton, John !
Posté par Ontologia (site web personnel) . En réponse au journal Le langage C serait redevenu le langage le plus utilisé. Évalué à 2.
http://www.google.com/search?hl=fr&q=%22go+language%22&a(...)
153 000 réponses
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Ahahahah
Posté par Ontologia (site web personnel) . En réponse au journal Haro sur le Mélanchon. Évalué à 3.
En effet, sans parler d'Arlette Chabot et des journalistes de TF1/LCI qui servent la soupe (mais ça on a l'habitude)
Mais vous croyez que les journalistes en auraient parlé ?
Que Neni, ça les emmerdes ! Faudrait réfléchir, vous vous rendez compte ! C'est fatigant !
Ah bon, c'est une question de revenu la bourgeoisie ?
Non pas pour moi, c'est une façon de vivre, des centres d'intérêts, de préocupations, etc...
Bien vu ;-) Je t'aurai prié de ne pas me souffler mes contradictions au visage, mais c'est raté ;-)
Quand je parle de TF1/LCI, il s'agit vant tout des directeurs de rédactions qui font les choix éditoriaux. Je t'invite à lire J-F Khan sur la question qui analyse très bien la dichotomie entre "grand journaliste" et troufion de base.
Effectivement, je trouve que la plupart des journalistes connus des médias les plus en vus ne réfléchissent pas trop.
T'en lis/entend/voit beaucoup des articles de fond ? Dans des revues spécialisées oui, mais que là.
Quand à la bourgeoisie, je maintient qu'un apprenti bourgeois fut-il boursier, dans le temps de l'oligarchie, Science-Po, adopte les préoccupations qui s'y rattachent.
Bref, je me justifie comme je peux ;-)
Pour le reste, Mélenchon, politique pro, hypocrite.
Effectivement, le personnage me gonfle assez prodigieusement pour ça d'habitude, même si je dois reconnaitre qu'il est un peu plus cohérent dans ses idées que ses anciens petits camarades du PS.
Il y a 10 ans, j'ai monté la première assoc de consommateur internautes. On s'est battu ferme (devant les parlementaires, l'ART, etc...) pour qu'on ait l'ADSL comme on l'a aujourd'hui. On a eu jusqu'à 5000 adhérents. Je saurais jamais quel impact on aura eu...
Je m'occupais de la comm', des journalistes (puis du lobbying devant les parlementaires, l'ART).
Bah désolé, j'ai appris qu'un journaliste, ça se manipule. Parce que sinon il va raconter n'importe quoi.
C'est un jeu en fait. Il est pas là pour relayer l'info, mais pour vendre.
Toi ton rôle, c'est de faire relayer ton message sans déformation.
Donc le journaliste, dès fois c'est ton copain, dès fois il te met dans la merde.
Après ça t'empêche pas de penser que dans l'ensemble ils sont nuls.
Et que tu sois un gros hypocrites et pas clair dans tes relations avec eux ne change rien. Ils sont nuls, ne parlent jamais de débats de fonds, et c'est un gros problème pour notre démocratie, c'est tout.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Ahahahah
Posté par Ontologia (site web personnel) . En réponse au journal Haro sur le Mélanchon. Évalué à 6.
Mais arrêtez de les mettre tous dans le mêe sac, ça nous aiderait !
Oui le monde politique et journalistique politique est un microcosme qui se cotoie, voire s'unit. Oui il y a beaucoup de copinage.
Mais non, ça n'est pas uniforme. Certains sont mieux servis que d'autres (en particulier parce que les journalistes politique ayant le pouvoir dans les rédactions veulent imposer le bi partisme, ça leur permettrait de réfléchir encore moins).
Effectivement Mélenchon peut avoir des facilités pour avoir accès à l'Huma. Ou Dupont-Aignan à Valeurs Actuelles.
Et tu vas te servir de ça pour nous servir "ouais de toutes façons ils sont tous de mèches, tous médias et bords confondus".
C'est un peu plus compliqué que ça, et un peu, ohhh aller, je vais sortir un gros grs mot dont il faudrait qu'on discute un jour c'est un peu.... populiste.
Voilà, c'est ça, populiste.
Tous ces gens là ce cotoient, jouent dans la même arène, mais ne pensent pas tous la même chose, ni ne poursuivent les mêmes intérêts et objectifs, alors merci de ne pas simplifier.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Oubli ?
Posté par Ontologia (site web personnel) . En réponse au journal Haro sur le Mélanchon. Évalué à 5.
* Mélanchon l'accuse d'être un "bourgeois" et l'autre de répondre "ah bah non pas de chance je suis boursier" Ah bon, c'est une question de revenu la bourgeoisie ?
Non pas pour moi, c'est une façon de vivre, des centres d'intérêts, de préocupations, etc... Et Science-Po est un très bon éducateur de bourgeois, boursier ou non.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Ce n'est pas étonnant de leur part, celà dit ....
Posté par Ontologia (site web personnel) . En réponse au journal Oracle réduit ses activités dans le libre. Évalué à 6.
Pour info (d'après ce que j'ai trouvé), OpenOffice.org 1.1.3 c'était 5 181 000 SLOC
pour 3 547 000 de ligne de C++ et 1 040 000 SLOC de C
Bon courage...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: On sent les influences ...
Posté par Ontologia (site web personnel) . En réponse au journal Elysee.fr un site techniquement propre.. Évalué à 2.
Rassure toi, Sarko ne sait même pas ce qu'est un standard. Il sait ce qu'est une souris, c'est déjà pas mal.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: 300K x 5M...
Posté par Ontologia (site web personnel) . En réponse au message Optimisation Postgre pour requetes de stats. Évalué à 2.
On a un pot SQlite,
nan ce qui serait intéressant, ce serait de pouvoir mettre toute sortes de fonction dans le where, des fonctions de ton code, et pas se limiter au filtrage offert par SQL.
Et tu ne peux pa faire de requete imbriquées avec SQlite, donc ça limite.
Ca n'enlève rien que cette lib est merveilleuse !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Mais encore ?
Posté par Ontologia (site web personnel) . En réponse au journal Le problème de l'intelligence artificiel enfin résolu. Évalué à 3.
Pour Dwarf, tu as un visualiseur 3D, qui peut te permettre d'y voir un peu plus clair.
http://www.bay12games.com/forum/index.php?topic=608.0
Mais c'est vrai que c'est rebutant cette interface Ascii..
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: 300K x 5M...
Posté par Ontologia (site web personnel) . En réponse au message Optimisation Postgre pour requetes de stats. Évalué à 1.
Sur les forums Pgsql, ils m'ont conseillé de faire une transaction complète pour encadrer les insertions, de mettre le minimum d'indexs. Ce qui rejoint la remarque de facatergnie plus haut sur les 8ms pour l"insert : il y avait autocommit, on avait donc un temps d'accès disque.
Les résultats sont spectaculaires ! Ca prend toujours qq heures, mais plus 2 jours.
Donc c'est toujours possible.
Mais franchement ton idée est intéressante, et j'y penses souvent, il faudrait juste un sql interne à un langage aussi puissant que SQL voire HQL. On a passé pas mal de temps à imaginer une syntaxe sympa en Lisaac avec l'auteur du langage, et j'espère qu'un jour ça deviendra réalité.
Mais là encore, je suis pas sûr qu'on soit toujours plus rapide : c'est qd même bien foutu un SGBD.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Mais encore ?
Posté par Ontologia (site web personnel) . En réponse au journal Le problème de l'intelligence artificiel enfin résolu. Évalué à 7.
Quel est le concept - avec plus de précision que "on peut tout créer" - Comment ça marche ? Est-ce qu'il modélise une sorte de monde physique ?
Bref, tu as l'air d'avoir compris pas mal de chose, mais je reste sur ma faim :-)
* Ce jeu est proprement hallucinant, ok çapucépalibre toussa, l'interface est en ascii http://www.bay12games.com/dwarves/screens/carnage_in_town.PN(...) , mais il est tellement dingue que des fans en font des logiciel lisant la mémoire pour faire un rendu 3d de l'univers du jeu http://www.videogames.net.au/images/dwarf-fortress-3d-visual(...)
Dans ce jeu, vous pouvez vous amuser à creuser des galleries, avec un système de vase communicante, voire d'écluses, qui va fonctionner quand vous aller innonder votre gallerie.
De même chaque nain a sa psychologie et réagit différent aux ordres, aux évènements.
Je crois qu'on est jamais allé aussi loin, c'est proprement hallucinant !
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: 300K x 5M...
Posté par Ontologia (site web personnel) . En réponse au message Optimisation Postgre pour requetes de stats. Évalué à 1.
Où est le problème ?
Pour le schéma, j'ai 2 tables, une de 300 k lignes, l'autre de 5 millions.
ce qui rame, c'est l'update sur la table de 5 millions, qui consiste à calculer la variance de 3 valeurs.
Il met 8ms par lignes, soit 11h pour toute la table
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Bizarre
Posté par Ontologia (site web personnel) . En réponse au journal Pink Floyd vs EMI : Vente de musique en ligne. Évalué à 10.
Certes un problème de liberté, mais ya des limites à masacrer des oeuvres d'art.
Tu voudrais couper une partie d'une reproduction de Gernica de Picasso, parce que t'aimes pas l'autre partie du tableau ?
Pas mal d'albums de Pink Floyd doivent être pris comme un tout.
Couper animals en petit bout c'est débile, The Wall encore plus, surtout qu'il n'y a pas de coupure entre les morceaux (enfin la plupart).
Ne parlons pas des Sysyphus ou The narrow way dans ummaguma.
Et pourquoi pas couper Echoes pendant que tu y es.
Ya vraiment un truc malsein dans cette société où, à vouloir la liberté à tout prix, on accepte plus aucune contraintes : artistiques, démocratiques, etc...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: En face, pas grand chose
Posté par Ontologia (site web personnel) . En réponse au journal Apple sous le feu des critiques des développeurs IPhone. Évalué à 3.
Vous en connaissez des gens qui ont acheté un tel Android et qui ne sont pas geeks ? Perso je n'en connais qu'un. Par contre aux USA cela semble plus courant.
Voilà, ça c'est LE problème. Google doit forcer les fabriquant, les opérateurs à vendre leur marque, avec un gros Android.
Quand je vais à la Fnac à côté de chez moi, je vois des gros iPhone, mais pour savoir si c'est un android faut chercher longtemps..
http://www.generation-nt.com/gameloft-jeux-mobiles-retrait-i(...)
Et surtout le mode d'achat est mal foutu : http://www.igeneration.fr/0-apple/est-ce-rentable-de-develop(...)
Bref, je sais pas ce qui leur arrive à Google, mais soit ils le font exprès, soient ils sont victime du syndrome Microsoft.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# En face, pas grand chose
Posté par Ontologia (site web personnel) . En réponse au journal Apple sous le feu des critiques des développeurs IPhone. Évalué à -8.
- Symbian a 50% du marché, mais Symbian c'est pas fait pour faire du smartphone, mais plutôt des téléphones tout simple avec un agenda et trois jeux dessus. Ils essayent certes de remonter la pente, bon courage !..
- Samsung avec Bada débute, et c'est pas forcément mieux
- Et enfin Google avec Android. Là c'est consternant..
° L'ergonomie est loin derrière
° Ils vendent pas leur marque, résultat personne connait Android
° Leur store est nul, mal pensé, difficile d'y entrer, résultat, ils vendent 1000 fois moins qu'apple (1 milliards d'opération)
Bref, si un jour un concurent un peu plus ouvert, surtout si c'est google, qui se met enfin à comprendre qu'ils vont droit dans le mur, Apple aura du souçi à se faire, car là, les développeurs migreront.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: l'économie pour les serins
Posté par Ontologia (site web personnel) . En réponse au journal La stratégie du choc. Évalué à 0.
Le néolibéralisme est une sorte de communisme inversé, un "communisme à base privé" comme le dit J-F Khan.
Donc cela s'applique tout à fait.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: capitalisme
Posté par Ontologia (site web personnel) . En réponse au journal La stratégie du choc. Évalué à 4.
Le capitalisme suppose quelques valeurs acceptées, comme le droit à la propriété pour l'individu (ce qui n'a pas toujours été le cas dans pas mal de civilisation et autres organisations sociales). A part quelques valeurs de base, le capitalisme ne requiert pas énormément de "construction" dans le système de valeur.
Le capitalisme est apparu chez les romains, les grecs, les phéniciens, sous diverses formes.
Elles n'étaient pas pour autant libérales.
Le libéralisme (originel) sous tend un système de valeur plus complet(xe), et plus spécifique : on y trouve outre le droit à la propriété, l'égalité juridique avec toutes ses conséquence, droits opposables à la société et au pouvoir, etc...
Il faut bien voir, qu'à l'époque romaine, on avait pas tout cela, on avait qq chose qui y ressemblait, mais pas tout à fait.
Après effectivement, certaines formes de capitalismes évoluent vers l'oligarchisation.
Mais cite moi des grandes civilisation au cours des 5000 dernières années, qui n'ont pas eu ce trait déviant vers l'oligarchisation ?
La social-démocratie, après 45, n'était pas oligarchique, c'est pourtant une forme de capitalisme, régulé.
Comme quoi ça peut exister.
Donc dire "tout ça c'est la même chose", c'est un peu rapide.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker