• AgoraVox sur Twitter
  • RSS
  • Agoravox TV
  • Agoravox Mobile

Marc Bruxman

Ingénieur, scientifique, et passionné de politique, je m’intérésse particuliérement aux rapports entre le progrés techniques et les conditions sociales des gens.  

Tableau de bord

  • Premier article le 09/06/2006
  • Modérateur depuis le 07/09/2006
Rédaction Depuis Articles publiés Commentaires postés Commentaires reçus
L'inscription 33 3051 1576
1 mois 0 0 0
5 jours 0 0 0
Modération Depuis Articles modérés Positivement Négativement
L'inscription 22 15 7
1 mois 0 0 0
5 jours 0 0 0

Ses articles classés par : ordre chronologique













Derniers commentaires



  • Marc Bruxman 20 décembre 2011 19:30


    "On ne fait que rajouter des gadgets, on pare de mots ronflants (raffinement graduel, objets, réutilisation, fonctionnel, ...) des pratiques que les bons programmeurs ont d’instinct.« 

    Le progrès est justement d’avoir pris une technique de développement existante qui était fait avec les petites mains du développeur tant bien que mal et de l’avoir inclus dans un langage de sorte que leur mise en oeuvre devient facile.

    Oui on peut faire de l’objet avec un langage impératif. Avec un bon usage des pointeurs sur fonction, tu peux même simuler de l’héritage. Mais quel inconfort d’utilisation ! Personne ou presque n’utiliserait l’objet s’il fallait encore faire comme cela.

    De même tu peux faire des fonctions d’ordre supérieur en C plutôt que d’utiliser un langage fonctionnel, mais si tu as besoin de fonctions d’ordre supérieur, il sera surement plus agréable d’écrire le code en ML.

    Et quid du typage ? Trouves tu que le C et le Pascal ont une sécurité de typage satisfaisante ? (Même en compilant en -Wall sur gcc ?). En théorie bien sur, un bon développeur ne fera jamais d’erreur de typage. Sauf que tout homme est étourdi. Quand tu as des crash sur un projet de 6 millions de ligne de code qui occasionnent des indisponibilités tout ca parce qu’un mec a casté un pointeur en integer (vécu), crois moi tu regrettes que le langage n’ai pas empéché cette action et bloqué la compilation. Après oui le développeur n’avait pas à caster en int sont pointeur mais c’est un autre problème. L’empécher de faire cette connerie est déja un progrès.

    Pour la gestion mémoire aussi, tu aimes les buffers overflows avec le C ? Bien sur, tu es un bon développeur et n’en fait jamais sans doute ? Ou plutôt tu es comme tout le monde et tu as passé parfois un peu de temps avec un debugger mémoire à trouver que tu avais écrasés certaines structures de données utilisées par malloc() en interne. Surement que l’on peut s’e satisfaire, mais l’empécher est un progrès.

     »Par exemple, le « cloud computing » s’appelait « time-sharing » il y a une trentaine d’années.
    Simplement, les progrès du matériel, permettent de mettre effectivement en œuvre des techniques existantes, mais il n’y a pas vraiment de progrès conceptuels.« 

    Si le cloud »fonctionne« et si des plateformes PaaS voient effectivement le jour et sont satisfaisante cela sera déja un progrès. Rien que le fait de fonctionner avec un cluster de commodity servers est un progrès. Et nécéssite un travail important pour que cela marche à la fin.

    Quand aux progrès conceptuels, allez voir dans les labos. Allez voir par exemple ce qu’est le model checking. Mais il faudra encore beaucoup de temps avant que tout cela ne soit intégré à nos outils. De même que des choses comme le garbage collector ont mis du temps à être intégré à nos environnements (de maniére efficace).

     »Lorsque je regarde certains code source, je partage totalement votre avis quant à la médiocrité voire la nullité de certains développeurs. "

    Ah ca oui par contre. Et j’ajouterai que l’utilisation de la syntaxe du C dans d’autres langages est un désastre. Combien de gens formés correctement au C codent de la même façon en Java et ont des perfs de merde ? Dans ce cas le langage n’y est pour rien. Si Java avait une autre syntaxe au moins les gens seraient conscient du fait qu’ils ne savent pas coder dans ce langage et peut être apprendraient il à le faire (ou à utiliser un autre langage).



  • Marc Bruxman 20 décembre 2011 19:13

    Du bon et du mauvais dans cet article.

    Je suis d’accord avec vous sur un point : Le manque de développeurs qualifiés nuit grandement à l’industrie informatique.

    Mais ceci me donne envie de hurler :
    "Si l’on codait aujourd’hui les applications, en C ou en Pascal, comme on le faisait dans les années 80, nos ordinateurs donneraient une impression de vitesse et de fluidité dont on n’a pas idée.« 

    Et bien non. Pourquoi ne codez vous plus en C ou Pascal ? Parce que les applications se sont complexifiées De l’interface graphique kikoolol (plus en noir et blanc) à des fonctionalités nouvelles comme la correction ortographique qui se fait au fur et à mesure que vous tapez, le ’smart art’ pour faire à la volée des dessins sans se prendre la tête, le lissage des polices, et ne l’oublions pas l’augmentation de la résolution de votre écran etc, etc, ...

    Or, il y a une limite à ce que le cerveau humain peut encaisser en terme de complexité. Il y a donc deux solutions, soit se limiter en termes fonctionnels, soit faire évoluer nos langages et outils pour pouvoir travailler plus efficacement. L’évolution des langages correspond à ce besoin : Modulo une perte en performance (qui est réelle mais peut être maitrisée si le développeur est compétent), vous diminuez la complexité du code et donc vous pouvez écrire un code plus gros sans bugs.

    Lorsque les premiers gestionnaires de mémoire virtuelle sont apparus (il y a fort longtemps), c’était un jouet couteux et certains informaticiens trouvaient que c’était inutile et qu’un vrai développeur pouvait tout à fait s’en passer. Or, aucun système multi-tache ne serait fiable sans cette évolution (qui reste couteuse). La même chose pour le C qui fut un truc pour les »tafioles" car les vrais hommes codaient en assembleur ;) Mais essayez d’écrire Microsoft Word en 100% Assembleur et vous allez voir le résultat.

    Après les jérémiades sur les performances de l’objet et même de langages décriées pour leur perf comme le java sont une histoire de mauvais développeurs qui éssaient de coder en Java comme ils codent en C ce qui donne des performances merdiques. Un bon développeur java (c’est rare et cher) approche les perfos d’un bon développeur C++ à quelques pourcent près. Dans certains cas, il peut même les dépasser à cause des optimisations permises par le JIT (qu’un compilateur statique ne peut pas réaliser). Maintenant comme peu de devs ont appris à faire de l’orienté objet correct, forcément le résultat est merdique. Mais la solution n’est pas de ne pas utiliser l’objet, juste de former les devs aux technos qu’ils utilisent.

    Beaucoup d’informaticiens conspuent ainsi les langages plus évolués que le C, ils ont tort. Non seulement ces langages sont rapides si on prend le temps de bien les utiliser (mais la le fait que beaucoup reprennent la syntaxe du C est délétaire car les gens croient qu’ils vont pouvoir coder pareil en C qu’en Java ou PHP), mais en plus c’est le fait d’avoir accès à un niveau d’abstraction supérieur qui fait la différence car cela vous permet d’écrire vite et bien des applis complexes. Les langages à objets qui supportent l’introspection par exemple permettent d’écrire très rapidements des codes élégants, et simple à maintenir. Et même si on y perd un peu en performance, dans la plupart des projets, le gain dépasse largement le coût : Des dizaines de jours hommes économisés d’un coté contre 300$ de hardware en plus ? Et vous choisissez quoi ?

    Enfin avez vous tant besoin de vitesse lorsque vous utilisez un ordinateur ? Dans la plupart des cas votre CPU ne fout rien. Dans les quelques pouillémes de cas ou vous avez besoin de perfo, rien ne vous empéche d’écrire en C la routine importante (voir de retoucher le code ASM produit si vous savez comment marche le pipeline), mais pour du boulot général, cela n’a aucun intérêt.



  • Marc Bruxman 19 décembre 2011 19:57

    Nous nous trompons une fois de plus de problème. L’appauvrissement n’a rien à voir directement avec la finance. Si la finance va mal c’est qu’elle n’a plus nulle part ou investire ses richesses.

    Pourquoi ? Parce que la technologie a fait d’énormes progrès mais que l’humain ne suit pas. Ou plus exactement l’éducation ne suit pas.

    On a appris la semaine la fermeture d’un labo qui fabriquait les bobines de film pour le cinéma. Une activité qui fut longtemps essentielle au bon fonctionnement de toute salle. Et une activité tuée par l’arrivée des projecteurs numériques en salle. Le bilan est dur en terme de licenciement et des professionnels compétents qui aimaient leur métier en ont fait les frais. Le drame n’est pas cette fermeture. Le drame c’est que ces professionnels n’ont jamais été formés aux nouvelles technologies. Ils vont donc se retrouver avec de gros soucis sur le marché de l’emploi. Ils ne sont pas idiots, on a juste oubliés de leur donner une chance.

    Dans tous les secteurs, la technologie détruit des emplois. Elle en crée aussi de nouveaux. Et elle crée aussi d’énormes opportunités. Mais comme la population n’est pas assez formée, ces opportunitées ne sont pas saisies.

    L’éducation est la premiére dépense de l’état et il est bien qu’il en soit ainsi. Mais pour réduire la crise, il faut réorienter ce budget pour financer en priorité les formations aux sciences et à la technologie. Il faut arréter les pseudo-formations en management, les dizaines de milliers d’éléves en sciences humaines qui finissent à macdo ou aux caisses de carrouf ! La priorité c’est de remonter le niveau en Maths dès le primaire, de former à l’algorithmique (car sans cela on ne comprend plus rien au monde qui nous entourre) et de remonter le niveau de physique et chimie.

    Dans les écoles d’ingénieur, il faut cesser de former des ’managers’ mais il faut former des professionnels qui connaissent leur métier et qui deviendront manager par leurs compétences dans le métier de leur choix.

    Lorsque cela sera fait, vous constaterez que les entreprises innovantes auront moins de mal à embaucher, que les managers seront rapidement plus avisés et les entreprises mieux gérées. Mieux, l’entreprenariat créera de meilleurs entreprises et la finance retrouvera des endroits ou investir de l’argent. Il n’y a que cela qui fera repartir l’économie. Si on continue de former des pseudos-managers phraseurs et incompétent à grands renforts de bac + 5, on va au contraire se retrouver avec un gap de plus en plus grand et des inégalités qui augmentent.



  • Marc Bruxman 19 décembre 2011 19:39

    Effectivement le libre échange ne marche que si les deux parties en profitent. Le salarié a lui aussi le droit de dire fuck à son patron comme le patron a le droit de lui dire fuck.

    Et lorsque l’on est déja employé avec les bonnes compétences, c’est la qu’on est en position de force pour trouver du taf. A partir du moment ou le boss comprend que vous êtes compétents mais que, faute de mieux vous irez voir ailleurs, il sera plus attentif.

    Le problème c’est lorsque les gens instaurent une relation ’paternaliste’ avec leur entreprise et c’est la que cela finit toujours par créer des drames.



  • Marc Bruxman 19 décembre 2011 19:35

    Pour les employeurs ’butés’’, la meilleure chose à faire est de chercher un taf ailleurs (au hazard dans le même secteur car de toute façon les clauses anticoncurrence sont invalides). Après soit vous partez effectivement, soit si vous voulez rester parce que la boite n’est au fond pas si mal, vous venez lui déposer votre dem en disant que c’est parce qu’il n’a jamais voulu augmenter votre salaire alors que vous lui avez déja demandé que son concurrent l’a fait mais que s’il s’aligne vous restez.

    Au pire, il vous dit fuck, vous partez, au mieux il grogne mais augmente et vous restez. Sinon c’est effectivement toujours la même rangaine. 

Voir tous ses commentaires (20 par page)


Publicité


Publicité



Palmarès

Publicité


Agoravox.tv