Ta mise en lumière aurait été pertinente si j''avais affirmé que GNAT était un fork de gcc. C'est bien de redresser un tort quand il existe.
Sinon on remarquera que QSOS est sur savannah et non sur sourceforge alors que savannah est un fork de sourceforge. Quelle raison de choisir savannah : sourceforge est pourtant sous GPL.
Pourquoi la FSF a-t'elle donc forké un projet "libre", si la licence est suffisante ? Pourquoi des gens choisissent savannah ?
La question du logiciel libre initialement est : celle de s'assurer que les logiciels n'ont pas la possibilité d'être approprié par des personnes. RMS a trouvé une solution technique à un problème qui ne l'était pas. Mais sa question originale est toujours valide : comment s'assurer qu'un logiciel est libre.
Sa réponse est d'énoncer 4 libertés qui doivent s'appliquer à un logiciel. Et il postule qu'avoir une licence suffit pour que ces libertés soient disponibles.
Remontons à la question originale : pourquoi Stallman n'aime pas l'appropriation ?
Parce que cela restreint les libertés (voir le texte)... Est ce que ce qui importe c'est l'objectif (que le logiciel n'est pas de propriétaire) ou le moyen ?
Placer un logiciel sous licence libre est un moyen, pas une fin, et on peut questionner (ce qui est le but véritable de l'article) le postulat : logiciel libre = logiciel placé sous licence libre et se demander si cela permet bien d'obtenir l'objectif voulu : avoir l'usage entier des 4 libertés.
L'étude est intéressante, mais la redéfinition du mot 'libre' est peut-être malvenu.
Pourquoi ne pas plutôt essayer de créer un nouveau "concept" comme 'communautaire', ou 'public' ?
Parce qu'on parle bien de libre.
Parce que là, ça fait un peu : vous n'avez rien compris, les 4 libertés fondamentales, ça suffit pas pour être libre, faut aussi (tous vos critères).
Déjà que certains trouvent que la GPL, de part son obligation de redistribution sous GPL, n'est pas si libre que ça. Si en plus, il faut fournir les sources à tout le monde, mais aussi avoir un serveur publiquement accessible, à ses frais, de gestion de mailing-list, de bugs et downloads ...
Le métier dont je vis depuis 1999 est l'intégration de logiciel libre : je prend des logiciels que j'adapte pour les clients, et j'essaie qu'ils ne soient pas obligés de faire des pieds et des mains pour les maintenir, qu'ils puissent les comprendre, les maintenir, les étudier et les modifier et les redistribuer. Les 10 règles proposées, sont des règles simples issues de ma pratique pendant 6 ans. Les 4 libertés s'appliquent au logiciel comme un tout, non aux licences uniquement. Se baser uniquement sur la licence, c'est comme jugé une personne sur ces intentions et non sur ses actes. Après tout, les licences ne sont qu'une déclaration d'intention.
Se poser des questions de la pratique de libérer les logiciels (qui nécessite une licence libre) est à mon avis une démarche saine. Les licences libres sont une conditions nécessaire mais non suffisante pour accéder aux quatres libertés.
Pour info, on a pas fait de critère pour l'évaluation du code, car libroscope n'a pas vocation à parler technique. À ce titre je rajoute les critères pour le code sur linuxfr que j'applique.
En ce qui me concerne quand je regarde le code je regarde :
0) les données internes et externes ! (la chose la plus importante en ce qui me concerne)
1) dispersion des fichiers (beaucoup de fichiers dispersés c'est un enfer, tout dans un gros fichier aussi)
2) cohérence dans les nommages (begin/end,star/stop), notation wiki ou avec_underscore suivie
3) inclusion des tags $Id$ pour le traçage des versions (svn/cvs)
4) style de l'auteur (est-ce que l'on à affaire à un texte littéraire dont les noms sont faits pour aider ou un truc laborieux)
5) programmation scolaire (genre les gens qui veulent du OO partout et qui font des getteur et des setteurs pour accéder aux tables de hachage en PHP je fuis),
6) intégration (la personne s'appuie-t'elle intelligemment sur l'OS/distro) ;
7) réinvention de la roue ou sur-utilisation de projet ;
8) complexité (plus un code est complexe, plus il risque de foirer)
9) Enfin pour vérifier que je comprend le code, j'essaie systématiquement de trouver comment modifier la fonction login/authentification.
Un bon code ne nécessite pas de doc, SAUF pour les librairies ou l'API doit être décrites (arguments en entrées, en sortie, traitement, et exemples de code). Je lis toujours les documents : sur les modes de configuration d'un logiciel, l'idée générale derrière le projet.
Cependant, j'ai souvent remarqué que les 10 critères énoncés dans le benchmark étaient suffisants pour assurer de manière satisfaisante la qualité du code ; peut être que quand le code est visible/modifiable par tous, il a plus de chance d'être corrigé.
PS j'ai au mieux 70% comme note avec le code que j'écris.
Mais les agiter sous le nez des gens en disant "vous voyez, j'ai raison, vous avez tort, bande de minables" (oui, je sais, tu n'as traité personne de minable, mais parfois, les phrases sont elliptiques...), forcément, ça n'aide pas à soutenir ta thèse.
On soutient un thèse sur son impression personnelle ou en partant de référence ? Tiens explique moi comment poser le problème de la bonne manière. Je ne dois pas évoquer ces chiffres, on fait comment pour en discuter ?
PS (attention humour) Si tu vois du mépris dans des ellipses, c'est que tu ne tournes pas rond.
Personne n'a sérieusement réfuté les chiffres autrement qu'en disant : les chiffres sont US donc biaisés, oui mais comment ? Imaginons que c'est vrai, on parle d'un facteur 10 à 20 quand même. Aucune étude ne met en évidence une avancée technologique qui en elle même arrive au 100éme de ce facteurs. Et les études sous citées, ne remettent pas en cause la variabilité de la productivité independamment du diplome et de l'expérience. Je ne crois pas que les diplômes US soient fondamentalement différents des diplômes français.
à partir des années 90, l'avantage d'être informatisé commençait à se dessiner clairement.
L’apparente absence d’impact des technologies de l’information sur la productivité globale des facteurs cacherait en fait un double phénomène : de forts gains de productivité dans les entreprises ayant adopté simultanément des innovations technologiques et organisationnelles et un échec de l’informatisation dans les entreprises qui n’ont pas réorganisé leur processus de production.
Plus précisément, seules les industries ayant simultanément adopté des pratiques de travail flexibles et fortement investi en informatique ont enregistré une forte hausse de la productivité totale des facteurs.
En revanche, la mise en oeuvre de changements organisationnels sans recours aux nouvelles technologies ou l’informatisation sans réorganisation, ont un impact négatif sur la productivité.
On notera que l'informatisation sans réorganisation et vice versa entraînent une perte de productivité. L'informatique apporte à elle seule aucun de gain de productivité.
J'ai fait un IUT, puis une école d'ingénieur. Je te promets que la formation, aussi limitée puisse-t-elle paraître, permet à quelqu'un de motivé de réussir à faire de bien belles choses.
La chose que je dit par rapport aux diplômes en informatique, c'est qu'à priori il n'est pas évident l'en prenant au hasard des gens diplomés dans cette discipline (sur une population ayant au moins deux ans de pratiques), on ait forcément des informaticiens *siginificativement* meilleurs professionellement parlant qu'en prenant n'importe qui. On peut me retorquer ce que l'on veut, mais je ne vois pas où est la culture scientifique dans le fait d'affirmer une chose (les diplômes en informatique représentent une valeur ajoutée) sans la démontrer, alors qu'a priori les seuls chiffres même biaisés vont dans l'autre sens. En l'absence de chiffre, il n'y a aucune raison d'affirmer aujourd'hui que les études en informatique au dela de d'un apport de 2 ans de pratiques sont corrélées à une quelconque plus value pour l'entreprise dans le domaine de spécifique de l'informatique, il peut y avoir des croyances, mais pas de certitude.
Pourquoi ai je tort sur le fait que vous avez oublié que la rationnalité des agents n'était pas parfaite ? Le fait que les entreprises soient friandes de master ne veut pas dire que leur choix est pertinents, car leur information n'est pas parfaite. Ils ne connaissent pas par exemple les études citées; qui ne sont pas contredites par M Volle. Lui même est le premier par ailleurs à remettre en cause les enseignements modernes d'une manière plus virulente que je ne le fais.
Mon ton vous semble probablement suffisant, parce que je n'accorde aucun crédit à vos titres, et que ce que vous écrivez n'est pas argumenté. Les "on dit que", "tout le monde sait/fait" ne sont pas des arguments sauf au comptoir d'un bar.
Pour le moinssage, et bien, je ne cherche pas à gagner un concours de popularité en disant ce qui fait plaisir, donc ça ne me dérange pas. Je propose un point de vue argumenté. Si pour vous la popularité se substitue à la raison, je vous conseille d'installer windows, et vénérer les textes profonds de la star'ac.
Par ailleurs, les responsables du master et de sa comm, et les partenaires industriels lisant le forum, il est assez rationnel qu'ils n'aient pas envie d'avoir de mauvais commentaires sur leur diplômes et leur initiative qui apparaissent sur le web, c'est peut être aussi une explication partielle en ce qui concerne le moinssage.
Je m'en fous ce sera publié sous une forme articulée ailleurs sur le net, avec un bon google ranking :) Là je pré-rédige juste mon article.
Des études faites aux US ne sont pas forcément invalides en France, malgré le décalage horaire.
Monsieur l'économiste par ailleurs il semble que vous avez du loupé le cours d'intro où l'on apprend que "la rationnalité des agents est imparfaite".
Dites moi, si l'entrepreprise n'engage pas des gens de couleurs ce serait .... rationnel ? De grace, ne confondez pas la cote d'une chose sur un marché avec sa valeur réelle.
C'est assez heureux que vous ayez pas continué en économie apparemment, vous ne sembliez pas avoir acquis les bases.
T'es la première personne que je rencontre qui assimile le génie logiciel à la littérature.
Pour les américains, c'est à mon avis plus immédiat.
Tu es mûr pour lire code complete et/ou rapid development. Deux produits microsoft, intéressants et sans techno DRM. Remarques c'est normal pour des livres.
J'ai codé au tout début pour des chercheurs un en système complexe, d'autres chez IBM qui voulaient que les variables et les méthodes rélfètent les modèle, et que cela reste simple pour qu'ils le modifient. C'était des gens réputés pour la qualité des résultats de leur logiciels, et pourtant ils étaient pas informaticiens (physiciens, médecins, linguistes).
Cela m'a toujours paru évident après cela que pour faire un programme complexe maintenable, il valait mieux que le code source transcrive l'idée qui était derrière littéralement en faisant des efforts de nommage. Et c'est aussi dans cet esprit ce que je lis qans le code source des autres. Ca marche assez souvent sauf pour des trucs comme la zlib et le noyau BSD.
Le code, c'est peut être que 16% du temps de développement, mais ça aide bien pour la partie déboguage et maintenance, et ça aide à toujours garder une trace de son modèle conceptuel. C'est utile quand on essaie de comprendre pourquoi ça marche pas.
Pour avoir vu bonabeau en séminaire, il s'arrangeait pour que les paramètres soit nommés avec des noms que tous comprennent. D'ailleurs c'est pour ça qu'il a appelé ça optimisation par colonie de fourmis, pour que les gens comprennent facilement l'idée.
Je suis comme d'autres je m'intéresses aux contraintes de la solutions pour voire si on ne peux pas simplifier le problème. J'appelle justement ça l'informatique ; Keep It Simple Stupid. Et trouver une solution simple arbitraire est une question d'intuition à mon avis pas de connaissances.
ne renseigne pas sur $a, car plus loin je peux avoir
$a={ 'a' => 1 };
dans ce cas $a est une référence sur une table de hachage,
$a="0"; c'est une chaine
$a++; qui devient un entier.
de même
$$a{b} est il ${$a{b}} ou {$$a}{b} ? Certes pour l'interpréteur c'est déterministe (tant que l'inférence de type est pas implémentée dans perl 6), mais pour le lecteur humain ? C'est ambigu. Mieux vaut $a->{b}
Et encore, si $a est recyclé, on risque d'avoir des soucis pour dire $a c'est ça.
Nommer une chose, c'est lui donner un sens. C'est pour ça que la GPL indique que ce qui est le source est la forme préférée pour la modification. En musique ce serait une partition. Certes la partition n'est pas la musique, comme le texte n'est pas l'idée. Juste une transcription.
Code complete passe 600 pages sur 900 à expliquer comment bien écrire son code, bien nommer ces variables, bien architecturer son texte. En programmation un mauvais regroupement des fonctions, de mauvaises déclarations de variables peuvent provoquer des couplages entre objets indésirés. Ce n'est pas que de l'informatique de gestion. C'est de l'ingénierie de code. Code complete est un bon produit microsoft ... press sur ce sujet.
pi = 3.14159 à 10-5 est une mesure exacte largement suffisante pour mesurer une circonférence dans un intervale de confiance déterminé (10-5). Pour connaître la circonférence d'un cercle de rayon 1m avec une précision au mm ça devrait suffire.
pi= ln (-1) / -i est une valeur exacte qui est inutilisable pour un programme numérique. Pour trouver la circonférence d'un cercle c'est assez inutile.
Pour les problèmes NP complets, on peut les contourner similairement. Par exemple en passant par des réseaux de moments magétiques pour résoudre la K-satisfiabilité, ou autre méthode issue de la physique. par exemple voici un exemple de résolution du voyageur de commerce par recuit simulé. http://www.lps.ens.fr/~weisbuch/livre/b9.html
Une fois l'algo trouvé, la mise en oeuvre ne nécessite pas d'avoir un doctorat, voir c'est plus simple que les algo purement informatique, et ils ont souvent l'avantages souvent de ne pas être explosifs en terme de temps de calculn ni récursif.
TIMTOWTDI, on peut faire autrement que ce qui est enseigné en informatique théorique pour résoudre un problème, tout en ayant des résultats suffisamment précis.
quand on écrit un programme on espère qu'il sera réutilisé soit par l'API, soit en code. Voire il faudra le modifier pour corriger un bug. Donc, il faut qu'il soit lisible. La plupart des méthodes pour faciliter la relecture sont liées à la lettre (et à sa typographie) et non au chiffre :
- indentation ;
- coherence dans les noms de variables,
- utilisation de noms descriptifs
- ne pas mélagner begin et stop/start end),
- le choix de graphies plus claires
- champs sémantiques cohérents
Un code bien écrit est un must. Perso je lis le source pour comprendre un programme.
On ne fait pas passer une émotion, le programme est la description d'un concept que l'on a dans ta têts, c'est une question d'exprimer efficacement une idée, pas des émotions. Si quelq'un sait retranscrire une idée sans les mots, je suis épater. Aujourdh'ui un code informatique est pour moi la restranscription la plus proche du concept que le codeur avait en tête, et coucher en mot ce qu'on pense ou l'on ressent c'est de la littéraire. Les rayon poésies ne représentent d'ailleurs pas la plus grande partie du rayonnage dans les librairies que je sache. Donc littérature oui, poésie non (sauf pour le black perl).
Avoir un esprit scientifique ce n'est pas poser des équations, c'est savoir douter. Les maths je ne sais pas ce que c'est :-)
Si j'ai une bonne analyse du problème, je le résoud. Résoudre un problème NP complet, n'est pas résoudre un problème, c'est un champs de recherche composés de multiples problèmes sans rapport les uns avec les autres.
Mais bon comme je suis un goret, j'essaierais de trouver une solution exacte en perdant en précision (mais en connaissant la perte) sur le résultat afin de me retrouver dans un domaine où le temps de calcul n'explose pas. Et si je peux pas, et bien je le dirais parce qu'un pro doit savoir ce qu'il ne sait pas faire, et ils trouveront un gars spécialisé dans la résolution de ce problème.
L'UML n'a pas prouvé apporter un gain de productivité. Pourquoi est-ce enseigné ? L'uml enferme les informaticiens dans un langage qui n'est n'est pas naturel ni pour les humains, ni pour ordinateurs.
Le dialogue : Important ?
Essentiel, une ML développeur logiciel libre, c'est largement plus de ligne de mails écrits que de code pondus. Justement le dialogue ne s'apprend pas, c'est crucial et le diplôme ne peut pas l'apprendre, et ne sanctionne pas ce type de savoirs. Autrement dit le diplome ne renseigne pas sur l'essentiel.
Un projet à 2 ou 3 ?
Plus de 90% des projets informatiques libres (même gros) sont statistiquement démarrés par au max 1 à 3 individus (voir FLOSS). Avec un facteur de variation d'1 à 100 en productivité, on peut tout à fait envisager de réduire les groupes d'intervenants à 3 sur les taches non partitionnables même grosses. J'étais dans une boite où ils n'arrivaient pas à livrer à 50 en 18 mois, ce que 2 avaient livrés chez le concurrent en 1 an. C'est ce que j'appelle de l'organisationnel. Je ne pense pas que l'on soit arriver au bout de tous le programmes réalisables par de petites équipes.
(vision étriquée) En ce qui me concerne, ce n'est pas la taille de mon avis qui compte :-) Mais bon si pour toi c'est la taille qui compte hein, ça me dérange pas.
Pour ce qui concerne décoreller le travail de sa fonction sociale, je suis pas d'accord, le libre se fait probablement mieux que le logiciel en entreprise (même sous GPL) parce que justement il se fait dans un cadre décorrélé du monde social. Quand t'es noir sur internet ça se voit pas, on te demande pas ton diplôme, et c'est clairement un avantage pour attirer les meilleurs développeurs.Et, on ne peut pas honnêtement prétendre être meilleurs que d'autres de par sa naissance.
Literraire, ce n'est pas juste coucher des mots sur du papier hein, sinon les secrétaires seraient beaucoup plus literraires que les poètes d'après leur rendement. Soit c'est de la mauvaise foi, soit une vision très étriquée de la literrature.
Littéraire par opposition à mathématiques quand il s'agit de l'interaction sociale. Littéraire au sens propre quand il s'agit d'écrire du code. Et la créativité, ça ne s'enseigne pas, pas plus que les écoles d'art ne forment des artistes.
Tout le monde est d'accord là dessus, mais il faut bien réussir à distinguer ceux qui ont les compétences de ceux qui ne les ont pas, et en cela, un diplôme est une attestation qu'une personne a acquit au moins un certain niveau de compétence.
Quelle compétences ? En tout cas pas celle d'apréhender scientifiquement les métiers de l'informatique, ni celle qui importe.
Bien évidemment, c'est pour ça que ce n'est pas de l'informatique appliquée, mais bien théorique... et ne va pas me dire que l'informatique théorique n'a pas d'intérêt.
Si mais le barycentre est trop déplacé du coté mathématique même pour la partie théorique pour des métiers qui se veulent des métiers d'encadrement. Il n'y a même pas une UV sur l'évaluation des couts en informatique (qui est un sujet autant théorique que pratique). L'année M2 du master se veut être un DESS, et ce diplôme ainsi que les diplômes d'ingénieur se veulent des diplômes d'entrée dans la vie active. A mon avis la part mathématique est déséquilibrée.
Tu ne crois pas que le côté humain est plus facile à apprendre avec le temps que le côté très technique et théorique ? Disons que les deux soient importants, il me semble donc nécessaire d'apprendre celui s'acquérant le moins facilement. De plus
Dans un système qui relient les humains, l'humain est au centre de la préoccupation des informaticiens. Et par expérience, les connaissances théoriques sont moins sollicitées que les compétences humaines. Elles sont même peut être plus faciles à acquérir. Les deux sont certes importants, mais les programmes ne le reflètent pas en terme de poids.
Et non, non seulement je trouve pas ça facile, mais en plus le diplome devrait au pire, permettre de virer ceux qui n'ont pas la fibre de l'interaction sociale. C'est à mon avis la raison pour laquelle des diplomés d'écoles de commerce sont utilisés de manière croissante pour piloter des projets informatique avec succès. Je l'ai vécu, c'est finalement assez agréable.
Qui plus est, un diplôme discrimine pas ceux qui ont une capacité 10 fois supérieure aux autres, autrement dit ce qui fait la compétence, le talent. Il est donc trompeur pour une entreprise de lui vendre les diplomés au delà de deux ans de pratiques comme plus "efficaces" en informatique que la moyenne. Les ingénieurs et les universitaries ne sont pas pire que les autres, ils sont justes aussi bien que les autres en l'état actuel de l'enseignement, voire moins bons en situation d'interaction sociale, c'est à dire ... en situation professionelle quotidienne.
Pas littéraire ? C'est pas parce qu'on manipule des mots, des verbes des idées que c'est littéraire ? C'est pas parce que l'on interagis aussi verbalement et à l'écrit avec des humains que c'est pas littéraire ? Oki, amusons nous donc à compter le nombre de temps passé à lire et à écrire (code inclus) comparé au temps passé à poser des équations. Et le vainqueur est ?
Je dis pas que les grandes écoles c'est de la merde, je dis qu'on ne devrait pas juger quelqu'un sur son statut, mais ses compétences (comme dans le logiciel libre). Et en informatique le diplôme ne donnant pas de compétences au delà des deux ans de pratiques qu'il apporte. Je ne vois pas pourquoi je leur donnerais plus qu'un crédit nul, bac+N, bac -12 dans le même sac.
Par contre si quelqu'un me dit que je dois en écouter un autre non parce que ces arguments sont pertinents, mais parce qu'il est ingénieur (ou issue des cités, ou enarque, ou plus vieux ou plus jeune ou autres ou expert) je lui donne un crédit négatif. Quand en plus le diplôme est clairement non pertinent pour le métier et qu'il s'arroge une expertise sur le domaine, j'ai des doutes abyssaux.
Si tu préfères, quelqu'un qui veut que je m'attache non à ses arguments, mais à son statut, je me dit que son argumentaire va être creux.
Par ailleurs la division des taches en entreprise est faites sur le statut et non sur la compétence (poste de manager réservés au bac+5 grille salariale indexée sur le diplôme), donc je dit qu'elle n'est pas pertinente. En tout cas, ce n'est pas la division scientifique du travail pronée .... par le modèle de l'ingénierie :) donc, je dis que l'entreprise n'a pas pour objetcif de rationnaliser ses structures de coûts. mais bien de favoriser des objectifs sociaux (allez sociétaux pour faire dans le buzz).
Ensuite, l'informatique théorique française basée sur les maths, est éloignée de l'informatique pratique française puisqu'on parle de métier. Le plus important pour un système d'information c'est son adéquation aux besoins :
1) de l'entreprises ;
2) de ceux qui l'utilisent.
3) des autres professionnels des SI (interopérabilité oblige un SI seul, est un peu inutile)
La conduite d'entretien, l'interaction avec les humains sont donc primordiales pour atteindre ce but, bien plus que la théorie des graphes. L'informaticien résoud rarement un problème d'équilibrage d'un arbre binaire (en plus il y a des bibliothèques pour ça) mais souvent un problème de transposition d'un problème en langage naturel (ressortir les informatitions pertinentes en temps et en heure) en système d'informations qui se doit d'être utilisable (les messages doivent être clairs, l'interface mignone, le logiciel bien conçu ....) et conformes aux besoins utilisateurs réels. Pour cela il doit récolter les desiderata, les modéliser, les communiquer, prototyper, les coder, les monter ... La dernière chose qui semble importer dans les cursus d'informatiques c'est bien les autres humains. Pour bâtir des systèmes qui relient les gens entre eux, c'est peut être une lacune, non ?
Le langage n'est pas un artefact mathématique, mais culturel, les mots ont le sens que leur donne un groupe, pas un compilateur.
Le fait qu'il n'y ait pas d'études chiffrées sur un secteur clé de l'économie montre bien que les informaticiens français n'ont pas une approche scientifique du problème et ne sont pas capables de l'apréhender.
Sur quoi se base donc leur expertise, si finalement ils ne peuvent quantifier (donc qualifier leur métier) ?
Ce qui est incorrect cher benapi est de vouloir réfuter un argument par la personne et non sur les idées. On appelle ça un argument sur la personne (http://fr.wikipedia.org/wiki/Ad_hominem). Donc, pour moi cela prouve que tu es ... ce que tu faits. Pour réfuter une proposition logique A dites par un locuteur B, et tu veux réfuter B. Oui mais où réfutes tu A ? C'est une démonstration de ton savoir faire rigoureux d'informaticien appris en école ?
Tu réfutes des études parce qu'il n'y en a pas en France. Qui sont ces ingénieurs qui ne connaissent rien des couts liés à leur industrie, et ne cherchent pas à les évaluer ? Des gens avec une formation scientifique ou théologique ?
L'absence de chiffre est un problème auquel je suis confronté pour mon mémoire d'ingénieur (ça tombe bien) et la seule opinion que j'ai et issue du président du club de la MOA
L’économie des systèmes d’information est mal connue : diverses raisons concourent à obscurcir la connaissance de leurs coûts, et la fonction de production du système d’information n’a pas fait à ma connaissance l’objet d’une formalisation précise. Certaines directions générales croient pouvoir maîtriser le coût de l’informatique en suivant des règles simples, mais ces règles, si on les applique à l’aveuglette, peuvent avoir des effets pervers.
Si les coûts sont mal connus, les apports du système d’information le sont plus encore. Aucune entreprise ne peut se passer aujourd’hui d’un système d’information, fût-il sommaire ; mais les décisions le concernant sont rarement rationnelles parce que l’on ne sait pas évaluer ce qu’il apporte. C’est cette ignorance qui est à l’origine du fameux paradoxe de Solow « You can see the computer age everywhere but in the productivity statistics.»(Robert Solow, New York Review of Books, 12 juillet 1987) on voit des ordinateurs partout, sauf dans les statistiques de productivité, ainsi que de certaines des
analyses de Strassmann.
Michel Volle
Il serait peut être temps, de former des professionnels, et pas forcément sur les bancs des écoles
PS je cite beaucoup les autres, de la même manière que j'emprunte le code des autres, parce que je ne vais pas réinventer la roue. N'est ce pas la base de l'informatique que de se tenir sur les épaules des géants ?
1) voir plus haut : inadaptée en France du fait de la division des tâches.
2) en informatique (voir les commentaires moinssés) non pertinente. Bac+5 pas de soucis, bac+5 en informatique, c'est juste non efficient.
Je pourrais rajouter un commentaire d'un ancien X (ancien directeur de l'insee)
Il y a bien sûr un mensonge à s’arroger la légitimité de la direction des entreprises sous le prétexte qu’à 20 ans, en Taupe, on se débrouillait mieux que les copains pour résoudre des équations. Les dirigeants d’entreprise polytechniciens avaient l’arrogance de leur technicité ; ceux d’aujourd’hui ont gardé l’arrogance, mais ils ont perdu leur technicité, qu'ils soient X ou non.
Sinon, d'après les stats, l'enseignement supérieur est un lieu de reproduction social http://www.insee.fr/fr/ffc/docs_ffc/ES361B.pdf
Comme la plupart ce sont donnés pour seul mérite de naître, et que je suis plutôt monarchiste ça me rend la république qui leur consacre autant de moyens et de crédit plus sympatique. C'est un peu comme les enfants d'artistes qui héritent des droits sur l'oeuvre pendant 70 ans après la mort du créateur.
3) des études pour savoir lire écrire, et raisonner par soi même, 2 ans de pratiques (C, ASM, structures de données évoluées), peut être un peu de culture de l'informatique (usages, lecture et rédaction de docs techniques, droit de la PÏ, qu'est ce que les SI, la gestion de la créatvitié et des créatifs), beaucoup de formation continue tout au long de la vie, et se concentrer sur les problématiques humaines et leur impact ;
Les études en référence sont assez citées, notamment dans les références bibliographiques, qu'apparemment on n'enseigne pas en france. C'est dommage que ce soit pas enseigné, vu le coût représenté. En plus qu'aucun bac +n ne connaissent la littérature sur le sujet dans ce forum sur le paramètre qui impacte le plus le coût en informatique, c'est quand même assez interpelant, non ?
Le développement n'est pas l'art noble il est malheureusement émietté en entreprise entre tache nobles et non nobles en dépit du bon sens.
Si je devais penser enseignement, j'ouvrirais les portes du recrutement à tous (littéraires, EU, cours du soir..), et si je devais penser à une UV en informatique qui n'est pas enseignée, ce serait une UV d'organisation du travail (facteur 10 d'impact), et elle participerait à monter des études comparatives chiffrées pour justement essayer de faire rentrer la france dans l'ère de l'écocomie des SI. Sans expériences sérieuses, sans mesures, la science c'est du vent et les experts se résument à faire du shamanisme. (voir le paradoxe de solow, on arrive pas à mesurer de gains de productivité lié à l'adoption de SI en entreprise, voire dans certains cas on mesure des impacts négatifs)
Je pense qu'en France la division des métier de l'informatique (MOA, MOE, AMOA, architecte, ingénieur) est directement dérivée de l'industrie lourde (approched'ingénierie), et que si elle est clairement appropriée pour le monde de l'industrie, elle ne l'est pas pour le monde du service. Cette approche typiquement française échoue dans sa finalité : prédire les couts et encadrer les dépassements de budgets. J'avais lu dans mes cours que 63% des projets informatiques dépassent leur date de livraisons, et que moins d'1/5é le dépasse le budget de moins de 20%.
Les standards industriels ne changent généralement pas entre le début et la fin d'un chantier, et les services sont relativement calibrées : faire des terrassement pour une surface de 100m² à un coût facilement estimable, faire un framework applicatifs beaucoup moins. Et la division des taches n'a pas de sens dans un métier de création littéraire. C'est pour ça que le logiciel est protégé par le droit d'auteur, et pas par les brevets.
J'ai donc du mal avec cette division arbitraire héritère directe du positivisme d'auguste comte (c'est plus 1968 mais 1839 si tu veux réfuter le modèle par son age) père des grandes écoles à la française, et de la sélection par les maths (p'tet pas adpatée pour un métier littéraire).
A priori, coordonner des projets et des humains est une fonction support spécifique de l'informatique, qui nécessite de connaître le coeur de métier mais pas forcément de développer. Le coeur de métier de l'informatique c'est réduire la complexité d'un problème, et développer une solution autour de ce problèmes (je reviendrais pas sur le terme de développement) et de la transposer dans un langage claire (tant informatique que compréhensible pour les utilisateurs).
Si ton métier est celui ci alors tu es un informaticien. Après que les entreprises soient irrationelles dans l'affectation des taches, ce n'est pas mon soucis.
Je fais remarquer juste que pour ce cas précis (l'informatique) ils ne sont pas une réponse adaptée, et que cela est **chiffrable**. Il faut avoir un bac +combien pour être capable de lire de simples études pratiques ?
Apparemment bac+5 ne suffit pas.
Il faut avoir un bac+combien pour savoir faire abstraction de sa situation personnelle quand on a une discussion sur des échantillons statistiques ?
Que viennent faire mes sentiments, mon expertise ou mes diplômes dans la discussion alors que je ne m'appuie pas dessus, est-il possible, que tu envisages les arguments, les idées, le raisonnement et non la personne qui discute ? On n'apprend pas à la fac qu'un argumentaire ce doit être étudier en :
1) évaluant les hypothèse (libre à toi de retrouver les références et les réfuter pour biais d'échantillon et de définition),
2) regardant le raisonnement
3) les conclusions.
4) faisant abstraction du locuteur ?
Ah ben non, je m'ai gouré c'était dans mes cours de 3éme en géométrie. Ils ont tant changé les programmes que ça au collège ?
PS Coder c'est même pas 16% du temps de développement, pour moi développer c'est de ne pas coder 84% du temps.
par ailleurs, étant donné :
1) qu'aucune technologie ou méthode de management n'a montré une augmention à deux chiffre (en %) de la productivité,
2) que la variabilité en productivité varie d'un facteur 1 à 10 par organisation 1 à 10 voir 20 par indvidu ;
Un diplôme formant des chefs de projets en informatique ne devrait il pas être principalement tourné vers les techniques les plus efficaces pour maitriser les couts ?
1) la gestion de la créativité et des RH, (facteur 1 à 20)
2) l'organisation du travail (1à 10) ?
or ici la formation est orientée à 90% sur les technos. Ouahou, les gens seront surement les mieux formés pour augmenter la productivité dans le meilleurs des cat de 10% :-) Impressionnant comparé au 10 000% potentiellement obtenu en s'intéressant aux humains et non aux technos.
Le programme est logiquement 99,9% à coté de la plaque si et seulement si l'objectif est de maitriser les couts. Il est donc 100% adéquat au marché français : l'inefficience je suis pour ; ça fait plus de salaires pour tout le monde.
Former une personne est considérée comme couter 6 mois homme, un turnover de 24 mois est clairement couteux (25% du cout lié au salaire est non productif), il est donc clair que reconnaître, retenir et former les meilleurs développeurs devraient faire partie de l'enseignement de base des informaticiens encadrant (consultant, managers, chef de projets). Quel diplôme en informatique propose ça : aucun, car aucune entreprise ne le demande. Peut être que les gens qui devraient décider comment former un bon informaticien ne sont pas les entreprises, car si elles ont besoin de recruter des spécialistes, c'est peut être qu'elles n'ont pas la compétence.
1) ce ne sont pas des études théoriques (apparemment tu as pas été essayer des les lire, ce qui en dit long sur la qualité de ton argumentation)
2) J'ai pas dit réduire les couts, mais les encadrer. Savoir combien va coûter quelque chose est essentiel pour une entreprise. Savoir que plus il y a de développeurs plus ça coute cher (cout perdu en communication), savoir que le variation de productivité est indépendante du diplome et est peut monter jusqu'à 10 - 20 veut dire qu'un bon développeur peut réduire les couts au delà de 100. Se focaliser sur un recrutement et une reconnaissance du travail selon des critères rationnels, augmente durablement les profits.
A coté de ça, aucune technologie, aucune méthode de managment n'ont réussi à montrer une augmentation de productivité de 0,1 ou plus en informatique.
Rien n'empêche le marché des entreprises de favoriser des solutions inefficientes pour des raisons sociales. Les entreprises ne sont pas faites pour faire des profits, elles sont faites par des humains. A ce que je sache par exemple les grands ne travaillent pas mieux que les petits, pourtant, leurs salaires sont plus élevés en entreprises. http://www.insee.fr/fr/ffc/docs_ffc/ES361D.pdf
Mais c'est vrai dans l'absolu, il n'est nul besoin pour des gens à bac +5 de connaitre leur métier, et de s'informer. Tant que les entreprises sont contentes, c'est ce qui compte.
Le rapport avec microsoft, je vois pas. On doit être incompétente parce que les windowsiens sont incompétents, et que c'est ce que les entreprises réclament ? Toi tu deviendras chef :-)
c'est quoi l'intérêt de moinsser les seules références vers des études chiffrées du fil de discussion ? Faire un débat sur nos croyance et nos sentiments et non sur des faits ?
Voilà qui en dit long sur la culture générale, et la rigueur scientifique de ceux qui moinssent : oh mon dieu ! Des études, on pourrait les vérifier, on pourrait même le contredire en allant les lire !
J'ai à faire à des experts, je vois. Des bacs + 5 surement :-P
Bon je vois que la discussion ne pourra pas se faire sur des bases sérieuses, alors je sais pas je vais faire comme tout le monde.
indication scénique lire avec un ton emprunté, la potrine sortie et l'oeil fier
Mon expérience prouve que j'ai raison. Regardez ce fil de discussion, les gens y parlent de manière fort savante, comme les médecins de Molière, et sont doctes comme Sganarelle.
Votre expérience avec le doigt mouillé tendu dans le sens du vent ? A contrario je propose des références vers de études chiffrées
En terme de bibliographie sur le sujet voilà mes références :
- Code Complete: A Practical Handbook of Software Construction
Steve C. McConnell
- Rapid Development: Taming Wild Software Schedules
Steve C. McConnell
- The Mythical Man-Month
Frederick P. Brooks
- Peopleware: Productive Projects and Teams
Tom Demarco and Timothy R. Lister
SI vous ne les connaissez pas ils sont assez fondamentaux dans tous ce qui est compréhension des disparités de productivité, ce qui coute cher ce sont les salaires, et comment peut on prétendre à former des managers (gens qui encadrent surtout les cout) voire des informaticiens en ignorant les aspects stratégiques en terme de coût en informatique que ce sont les aspects liés aux ressources humaines.
Pour l'argumentum ad hominem (argument de mauvaise fois comme quoi je dis ça parce que j'en veux au diplôme), cela en dit long sur le sérieux de votre façon de réfléchir. Vous êtes incapables de faire de la recherche bibliographique scientifique pour confirmer ou infirmer mes dires, vous êtes apparemment pas au fait de la littérature en ingénierie informatique et des études sur le sujet de l'impact des diplômes sur la productivité (un comble en ce qui vous concerne). Ce qui prouve par le fait mes dires.
J'adore étudier, je suis en train de passer un diplôme d'ingénieur en organisation au CNAM (vous savez les cours du soirs), et pour les études je ne citerais que feynman
Science is the belief in the ignorance of experts.
"We have many studies in teaching, for example, in which people make observations, make lists, do statistics, and so on, but these do not thereby become established science, established knowledge. They are merely an imitative form of science-- analogous to the South Sea island airfields, radio towers, etc., made out of wood. The islanders expect a great airplane to arrive. They even build wooden airplanes of the same shape as they see in foreigners' airfields around them, but strangely enough, their wood planes do not fly. The results of this pseudoscientific imitation is to produce experts, which many of you are. You teachers who are really teaching children at the bottom of the heap can maybe doubt the experts once in a while. Learn from science that you must doubt the experts. As a matter of fact, I can also define science another way: Science is the belief in the ignorance of experts." (The Physics Teacher, 7
September, 1969, 313-320)
développer (pas coder hein) ce qui inclut :
concevoir
modéliser
choisir ses technos
prototyper
programmer
faire de la stratégie de développement
travailler en comité (enteretien de compréhension)
gérer la production logicielle (versioning smoke tests)
intégrer
Je pense que toutes ses taches doivent être faites par chaque personne d'un projet car je ne crois pas que la division des taches ne fasse autre chose que faire perdre en produvtivité.
Peu importe le diplôme ce qui importe pour une formation c'est quelle apporte les deux ans d'expérience au delà desquelles on attend plus de variation dans la productivité.
[^] # Re: Evaluation de projets libres
Posté par Jul (site web personnel) . En réponse à la dépêche QSOS ou comment gagner en objectivité dans l'évaluation et la sélection de logiciels libres. Évalué à 1.
Sinon on remarquera que QSOS est sur savannah et non sur sourceforge alors que savannah est un fork de sourceforge. Quelle raison de choisir savannah : sourceforge est pourtant sous GPL.
Pourquoi la FSF a-t'elle donc forké un projet "libre", si la licence est suffisante ? Pourquoi des gens choisissent savannah ?
[^] # Re: Evaluation de projets libres
Posté par Jul (site web personnel) . En réponse à la dépêche QSOS ou comment gagner en objectivité dans l'évaluation et la sélection de logiciels libres. Évalué à 3.
La question du logiciel libre initialement est : celle de s'assurer que les logiciels n'ont pas la possibilité d'être approprié par des personnes. RMS a trouvé une solution technique à un problème qui ne l'était pas. Mais sa question originale est toujours valide : comment s'assurer qu'un logiciel est libre.
Sa réponse est d'énoncer 4 libertés qui doivent s'appliquer à un logiciel. Et il postule qu'avoir une licence suffit pour que ces libertés soient disponibles.
Remontons à la question originale : pourquoi Stallman n'aime pas l'appropriation ?
Parce que cela restreint les libertés (voir le texte)... Est ce que ce qui importe c'est l'objectif (que le logiciel n'est pas de propriétaire) ou le moyen ?
Placer un logiciel sous licence libre est un moyen, pas une fin, et on peut questionner (ce qui est le but véritable de l'article) le postulat : logiciel libre = logiciel placé sous licence libre et se demander si cela permet bien d'obtenir l'objectif voulu : avoir l'usage entier des 4 libertés.
[^] # Re: Evaluation de projets libres
Posté par Jul (site web personnel) . En réponse à la dépêche QSOS ou comment gagner en objectivité dans l'évaluation et la sélection de logiciels libres. Évalué à 2.
Parce qu'on parle bien de libre.
Le libre est une démarche exigeante. Vae victis.
http://www.libroscope.org/Liberer-les-logiciels
Le métier dont je vis depuis 1999 est l'intégration de logiciel libre : je prend des logiciels que j'adapte pour les clients, et j'essaie qu'ils ne soient pas obligés de faire des pieds et des mains pour les maintenir, qu'ils puissent les comprendre, les maintenir, les étudier et les modifier et les redistribuer. Les 10 règles proposées, sont des règles simples issues de ma pratique pendant 6 ans. Les 4 libertés s'appliquent au logiciel comme un tout, non aux licences uniquement. Se baser uniquement sur la licence, c'est comme jugé une personne sur ces intentions et non sur ses actes. Après tout, les licences ne sont qu'une déclaration d'intention.
Se poser des questions de la pratique de libérer les logiciels (qui nécessite une licence libre) est à mon avis une démarche saine. Les licences libres sont une conditions nécessaire mais non suffisante pour accéder aux quatres libertés.
Pour info, on a pas fait de critère pour l'évaluation du code, car libroscope n'a pas vocation à parler technique. À ce titre je rajoute les critères pour le code sur linuxfr que j'applique.
En ce qui me concerne quand je regarde le code je regarde :
0) les données internes et externes ! (la chose la plus importante en ce qui me concerne)
1) dispersion des fichiers (beaucoup de fichiers dispersés c'est un enfer, tout dans un gros fichier aussi)
2) cohérence dans les nommages (begin/end,star/stop), notation wiki ou avec_underscore suivie
3) inclusion des tags $Id$ pour le traçage des versions (svn/cvs)
4) style de l'auteur (est-ce que l'on à affaire à un texte littéraire dont les noms sont faits pour aider ou un truc laborieux)
5) programmation scolaire (genre les gens qui veulent du OO partout et qui font des getteur et des setteurs pour accéder aux tables de hachage en PHP je fuis),
6) intégration (la personne s'appuie-t'elle intelligemment sur l'OS/distro) ;
7) réinvention de la roue ou sur-utilisation de projet ;
8) complexité (plus un code est complexe, plus il risque de foirer)
9) Enfin pour vérifier que je comprend le code, j'essaie systématiquement de trouver comment modifier la fonction login/authentification.
Un bon code ne nécessite pas de doc, SAUF pour les librairies ou l'API doit être décrites (arguments en entrées, en sortie, traitement, et exemples de code). Je lis toujours les documents : sur les modes de configuration d'un logiciel, l'idée générale derrière le projet.
Cependant, j'ai souvent remarqué que les 10 critères énoncés dans le benchmark étaient suffisants pour assurer de manière satisfaisante la qualité du code ; peut être que quand le code est visible/modifiable par tous, il a plus de chance d'être corrigé.
PS j'ai au mieux 70% comme note avec le code que j'écris.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à -1.
On soutient un thèse sur son impression personnelle ou en partant de référence ? Tiens explique moi comment poser le problème de la bonne manière. Je ne dois pas évoquer ces chiffres, on fait comment pour en discuter ?
PS (attention humour) Si tu vois du mépris dans des ellipses, c'est que tu ne tournes pas rond.
Personne n'a sérieusement réfuté les chiffres autrement qu'en disant : les chiffres sont US donc biaisés, oui mais comment ? Imaginons que c'est vrai, on parle d'un facteur 10 à 20 quand même. Aucune étude ne met en évidence une avancée technologique qui en elle même arrive au 100éme de ce facteurs. Et les études sous citées, ne remettent pas en cause la variabilité de la productivité independamment du diplome et de l'expérience. Je ne crois pas que les diplômes US soient fondamentalement différents des diplômes français.
http://www.insee.fr/fr/ffc/docs_ffc/ES339I.pdf
On notera que l'informatisation sans réorganisation et vice versa entraînent une perte de productivité. L'informatique apporte à elle seule aucun de gain de productivité.
La chose que je dit par rapport aux diplômes en informatique, c'est qu'à priori il n'est pas évident l'en prenant au hasard des gens diplomés dans cette discipline (sur une population ayant au moins deux ans de pratiques), on ait forcément des informaticiens *siginificativement* meilleurs professionellement parlant qu'en prenant n'importe qui. On peut me retorquer ce que l'on veut, mais je ne vois pas où est la culture scientifique dans le fait d'affirmer une chose (les diplômes en informatique représentent une valeur ajoutée) sans la démontrer, alors qu'a priori les seuls chiffres même biaisés vont dans l'autre sens. En l'absence de chiffre, il n'y a aucune raison d'affirmer aujourd'hui que les études en informatique au dela de d'un apport de 2 ans de pratiques sont corrélées à une quelconque plus value pour l'entreprise dans le domaine de spécifique de l'informatique, il peut y avoir des croyances, mais pas de certitude.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à -1.
Mon ton vous semble probablement suffisant, parce que je n'accorde aucun crédit à vos titres, et que ce que vous écrivez n'est pas argumenté. Les "on dit que", "tout le monde sait/fait" ne sont pas des arguments sauf au comptoir d'un bar.
Pour le moinssage, et bien, je ne cherche pas à gagner un concours de popularité en disant ce qui fait plaisir, donc ça ne me dérange pas. Je propose un point de vue argumenté. Si pour vous la popularité se substitue à la raison, je vous conseille d'installer windows, et vénérer les textes profonds de la star'ac.
Par ailleurs, les responsables du master et de sa comm, et les partenaires industriels lisant le forum, il est assez rationnel qu'ils n'aient pas envie d'avoir de mauvais commentaires sur leur diplômes et leur initiative qui apparaissent sur le web, c'est peut être aussi une explication partielle en ce qui concerne le moinssage.
Je m'en fous ce sera publié sous une forme articulée ailleurs sur le net, avec un bon google ranking :) Là je pré-rédige juste mon article.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à -2.
Monsieur l'économiste par ailleurs il semble que vous avez du loupé le cours d'intro où l'on apprend que "la rationnalité des agents est imparfaite".
Dites moi, si l'entrepreprise n'engage pas des gens de couleurs ce serait .... rationnel ? De grace, ne confondez pas la cote d'une chose sur un marché avec sa valeur réelle.
C'est assez heureux que vous ayez pas continué en économie apparemment, vous ne sembliez pas avoir acquis les bases.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à -1.
Pour les américains, c'est à mon avis plus immédiat.
Tu es mûr pour lire code complete et/ou rapid development. Deux produits microsoft, intéressants et sans techno DRM. Remarques c'est normal pour des livres.
J'ai codé au tout début pour des chercheurs un en système complexe, d'autres chez IBM qui voulaient que les variables et les méthodes rélfètent les modèle, et que cela reste simple pour qu'ils le modifient. C'était des gens réputés pour la qualité des résultats de leur logiciels, et pourtant ils étaient pas informaticiens (physiciens, médecins, linguistes).
Cela m'a toujours paru évident après cela que pour faire un programme complexe maintenable, il valait mieux que le code source transcrive l'idée qui était derrière littéralement en faisant des efforts de nommage. Et c'est aussi dans cet esprit ce que je lis qans le code source des autres. Ca marche assez souvent sauf pour des trucs comme la zlib et le noyau BSD.
Le code, c'est peut être que 16% du temps de développement, mais ça aide bien pour la partie déboguage et maintenance, et ça aide à toujours garder une trace de son modèle conceptuel. C'est utile quand on essaie de comprendre pourquoi ça marche pas.
Je ne me doutais pas que c'était original.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 0.
Je suis comme d'autres je m'intéresses aux contraintes de la solutions pour voire si on ne peux pas simplifier le problème. J'appelle justement ça l'informatique ; Keep It Simple Stupid. Et trouver une solution simple arbitraire est une question d'intuition à mon avis pas de connaissances.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 1.
my $a;
ne renseigne pas sur $a, car plus loin je peux avoir
$a={ 'a' => 1 };
dans ce cas $a est une référence sur une table de hachage,
$a="0"; c'est une chaine
$a++; qui devient un entier.
de même
$$a{b} est il ${$a{b}} ou {$$a}{b} ? Certes pour l'interpréteur c'est déterministe (tant que l'inférence de type est pas implémentée dans perl 6), mais pour le lecteur humain ? C'est ambigu. Mieux vaut $a->{b}
Et encore, si $a est recyclé, on risque d'avoir des soucis pour dire $a c'est ça.
Nommer une chose, c'est lui donner un sens. C'est pour ça que la GPL indique que ce qui est le source est la forme préférée pour la modification. En musique ce serait une partition. Certes la partition n'est pas la musique, comme le texte n'est pas l'idée. Juste une transcription.
Code complete passe 600 pages sur 900 à expliquer comment bien écrire son code, bien nommer ces variables, bien architecturer son texte. En programmation un mauvais regroupement des fonctions, de mauvaises déclarations de variables peuvent provoquer des couplages entre objets indésirés. Ce n'est pas que de l'informatique de gestion. C'est de l'ingénierie de code. Code complete est un bon produit microsoft ... press sur ce sujet.
pi = 3.14159 à 10-5 est une mesure exacte largement suffisante pour mesurer une circonférence dans un intervale de confiance déterminé (10-5). Pour connaître la circonférence d'un cercle de rayon 1m avec une précision au mm ça devrait suffire.
pi= ln (-1) / -i est une valeur exacte qui est inutilisable pour un programme numérique. Pour trouver la circonférence d'un cercle c'est assez inutile.
Pour les problèmes NP complets, on peut les contourner similairement. Par exemple en passant par des réseaux de moments magétiques pour résoudre la K-satisfiabilité, ou autre méthode issue de la physique. par exemple voici un exemple de résolution du voyageur de commerce par recuit simulé. http://www.lps.ens.fr/~weisbuch/livre/b9.html
Une fois l'algo trouvé, la mise en oeuvre ne nécessite pas d'avoir un doctorat, voir c'est plus simple que les algo purement informatique, et ils ont souvent l'avantages souvent de ne pas être explosifs en terme de temps de calculn ni récursif.
TIMTOWTDI, on peut faire autrement que ce qui est enseigné en informatique théorique pour résoudre un problème, tout en ayant des résultats suffisamment précis.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 0.
- indentation ;
- coherence dans les noms de variables,
- utilisation de noms descriptifs
- ne pas mélagner begin et stop/start end),
- le choix de graphies plus claires
- champs sémantiques cohérents
Un code bien écrit est un must. Perso je lis le source pour comprendre un programme.
On ne fait pas passer une émotion, le programme est la description d'un concept que l'on a dans ta têts, c'est une question d'exprimer efficacement une idée, pas des émotions. Si quelq'un sait retranscrire une idée sans les mots, je suis épater. Aujourdh'ui un code informatique est pour moi la restranscription la plus proche du concept que le codeur avait en tête, et coucher en mot ce qu'on pense ou l'on ressent c'est de la littéraire. Les rayon poésies ne représentent d'ailleurs pas la plus grande partie du rayonnage dans les librairies que je sache. Donc littérature oui, poésie non (sauf pour le black perl).
Avoir un esprit scientifique ce n'est pas poser des équations, c'est savoir douter. Les maths je ne sais pas ce que c'est :-)
Si j'ai une bonne analyse du problème, je le résoud. Résoudre un problème NP complet, n'est pas résoudre un problème, c'est un champs de recherche composés de multiples problèmes sans rapport les uns avec les autres.
Mais bon comme je suis un goret, j'essaierais de trouver une solution exacte en perdant en précision (mais en connaissant la perte) sur le résultat afin de me retrouver dans un domaine où le temps de calcul n'explose pas. Et si je peux pas, et bien je le dirais parce qu'un pro doit savoir ce qu'il ne sait pas faire, et ils trouveront un gars spécialisé dans la résolution de ce problème.
PS En 10 ans ça ne m'est jamais arrivé.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 0.
Le dialogue : Important ?
Essentiel, une ML développeur logiciel libre, c'est largement plus de ligne de mails écrits que de code pondus. Justement le dialogue ne s'apprend pas, c'est crucial et le diplôme ne peut pas l'apprendre, et ne sanctionne pas ce type de savoirs. Autrement dit le diplome ne renseigne pas sur l'essentiel.
Un projet à 2 ou 3 ?
Plus de 90% des projets informatiques libres (même gros) sont statistiquement démarrés par au max 1 à 3 individus (voir FLOSS). Avec un facteur de variation d'1 à 100 en productivité, on peut tout à fait envisager de réduire les groupes d'intervenants à 3 sur les taches non partitionnables même grosses. J'étais dans une boite où ils n'arrivaient pas à livrer à 50 en 18 mois, ce que 2 avaient livrés chez le concurrent en 1 an. C'est ce que j'appelle de l'organisationnel. Je ne pense pas que l'on soit arriver au bout de tous le programmes réalisables par de petites équipes.
(vision étriquée) En ce qui me concerne, ce n'est pas la taille de mon avis qui compte :-) Mais bon si pour toi c'est la taille qui compte hein, ça me dérange pas.
Pour ce qui concerne décoreller le travail de sa fonction sociale, je suis pas d'accord, le libre se fait probablement mieux que le logiciel en entreprise (même sous GPL) parce que justement il se fait dans un cadre décorrélé du monde social. Quand t'es noir sur internet ça se voit pas, on te demande pas ton diplôme, et c'est clairement un avantage pour attirer les meilleurs développeurs.Et, on ne peut pas honnêtement prétendre être meilleurs que d'autres de par sa naissance.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 0.
Littéraire par opposition à mathématiques quand il s'agit de l'interaction sociale. Littéraire au sens propre quand il s'agit d'écrire du code. Et la créativité, ça ne s'enseigne pas, pas plus que les écoles d'art ne forment des artistes.
Quelle compétences ? En tout cas pas celle d'apréhender scientifiquement les métiers de l'informatique, ni celle qui importe.
Si mais le barycentre est trop déplacé du coté mathématique même pour la partie théorique pour des métiers qui se veulent des métiers d'encadrement. Il n'y a même pas une UV sur l'évaluation des couts en informatique (qui est un sujet autant théorique que pratique). L'année M2 du master se veut être un DESS, et ce diplôme ainsi que les diplômes d'ingénieur se veulent des diplômes d'entrée dans la vie active. A mon avis la part mathématique est déséquilibrée.
Dans un système qui relient les humains, l'humain est au centre de la préoccupation des informaticiens. Et par expérience, les connaissances théoriques sont moins sollicitées que les compétences humaines. Elles sont même peut être plus faciles à acquérir. Les deux sont certes importants, mais les programmes ne le reflètent pas en terme de poids.
Et non, non seulement je trouve pas ça facile, mais en plus le diplome devrait au pire, permettre de virer ceux qui n'ont pas la fibre de l'interaction sociale. C'est à mon avis la raison pour laquelle des diplomés d'écoles de commerce sont utilisés de manière croissante pour piloter des projets informatique avec succès. Je l'ai vécu, c'est finalement assez agréable.
Qui plus est, un diplôme discrimine pas ceux qui ont une capacité 10 fois supérieure aux autres, autrement dit ce qui fait la compétence, le talent. Il est donc trompeur pour une entreprise de lui vendre les diplomés au delà de deux ans de pratiques comme plus "efficaces" en informatique que la moyenne. Les ingénieurs et les universitaries ne sont pas pire que les autres, ils sont justes aussi bien que les autres en l'état actuel de l'enseignement, voire moins bons en situation d'interaction sociale, c'est à dire ... en situation professionelle quotidienne.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à -1.
Je dis pas que les grandes écoles c'est de la merde, je dis qu'on ne devrait pas juger quelqu'un sur son statut, mais ses compétences (comme dans le logiciel libre). Et en informatique le diplôme ne donnant pas de compétences au delà des deux ans de pratiques qu'il apporte. Je ne vois pas pourquoi je leur donnerais plus qu'un crédit nul, bac+N, bac -12 dans le même sac.
Par contre si quelqu'un me dit que je dois en écouter un autre non parce que ces arguments sont pertinents, mais parce qu'il est ingénieur (ou issue des cités, ou enarque, ou plus vieux ou plus jeune ou autres ou expert) je lui donne un crédit négatif. Quand en plus le diplôme est clairement non pertinent pour le métier et qu'il s'arroge une expertise sur le domaine, j'ai des doutes abyssaux.
Si tu préfères, quelqu'un qui veut que je m'attache non à ses arguments, mais à son statut, je me dit que son argumentaire va être creux.
Par ailleurs la division des taches en entreprise est faites sur le statut et non sur la compétence (poste de manager réservés au bac+5 grille salariale indexée sur le diplôme), donc je dit qu'elle n'est pas pertinente. En tout cas, ce n'est pas la division scientifique du travail pronée .... par le modèle de l'ingénierie :) donc, je dis que l'entreprise n'a pas pour objetcif de rationnaliser ses structures de coûts. mais bien de favoriser des objectifs sociaux (allez sociétaux pour faire dans le buzz).
Ensuite, l'informatique théorique française basée sur les maths, est éloignée de l'informatique pratique française puisqu'on parle de métier. Le plus important pour un système d'information c'est son adéquation aux besoins :
1) de l'entreprises ;
2) de ceux qui l'utilisent.
3) des autres professionnels des SI (interopérabilité oblige un SI seul, est un peu inutile)
La conduite d'entretien, l'interaction avec les humains sont donc primordiales pour atteindre ce but, bien plus que la théorie des graphes. L'informaticien résoud rarement un problème d'équilibrage d'un arbre binaire (en plus il y a des bibliothèques pour ça) mais souvent un problème de transposition d'un problème en langage naturel (ressortir les informatitions pertinentes en temps et en heure) en système d'informations qui se doit d'être utilisable (les messages doivent être clairs, l'interface mignone, le logiciel bien conçu ....) et conformes aux besoins utilisateurs réels. Pour cela il doit récolter les desiderata, les modéliser, les communiquer, prototyper, les coder, les monter ... La dernière chose qui semble importer dans les cursus d'informatiques c'est bien les autres humains. Pour bâtir des systèmes qui relient les gens entre eux, c'est peut être une lacune, non ?
Le langage n'est pas un artefact mathématique, mais culturel, les mots ont le sens que leur donne un groupe, pas un compilateur.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 0.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à -1.
Sur quoi se base donc leur expertise, si finalement ils ne peuvent quantifier (donc qualifier leur métier) ?
Ce qui est incorrect cher benapi est de vouloir réfuter un argument par la personne et non sur les idées. On appelle ça un argument sur la personne (http://fr.wikipedia.org/wiki/Ad_hominem). Donc, pour moi cela prouve que tu es ... ce que tu faits. Pour réfuter une proposition logique A dites par un locuteur B, et tu veux réfuter B. Oui mais où réfutes tu A ? C'est une démonstration de ton savoir faire rigoureux d'informaticien appris en école ?
Tu réfutes des études parce qu'il n'y en a pas en France. Qui sont ces ingénieurs qui ne connaissent rien des couts liés à leur industrie, et ne cherchent pas à les évaluer ? Des gens avec une formation scientifique ou théologique ?
L'absence de chiffre est un problème auquel je suis confronté pour mon mémoire d'ingénieur (ça tombe bien) et la seule opinion que j'ai et issue du président du club de la MOA
Il serait peut être temps, de former des professionnels, et pas forcément sur les bancs des écoles
PS je cite beaucoup les autres, de la même manière que j'emprunte le code des autres, parce que je ne vais pas réinventer la roue. N'est ce pas la base de l'informatique que de se tenir sur les épaules des géants ?
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 0.
2) en informatique (voir les commentaires moinssés) non pertinente. Bac+5 pas de soucis, bac+5 en informatique, c'est juste non efficient.
Je pourrais rajouter un commentaire d'un ancien X (ancien directeur de l'insee)
Sinon, d'après les stats, l'enseignement supérieur est un lieu de reproduction social http://www.insee.fr/fr/ffc/docs_ffc/ES361B.pdf
Comme la plupart ce sont donnés pour seul mérite de naître, et que je suis plutôt monarchiste ça me rend la république qui leur consacre autant de moyens et de crédit plus sympatique. C'est un peu comme les enfants d'artistes qui héritent des droits sur l'oeuvre pendant 70 ans après la mort du créateur.
3) des études pour savoir lire écrire, et raisonner par soi même, 2 ans de pratiques (C, ASM, structures de données évoluées), peut être un peu de culture de l'informatique (usages, lecture et rédaction de docs techniques, droit de la PÏ, qu'est ce que les SI, la gestion de la créatvitié et des créatifs), beaucoup de formation continue tout au long de la vie, et se concentrer sur les problématiques humaines et leur impact ;
Les études en référence sont assez citées, notamment dans les références bibliographiques, qu'apparemment on n'enseigne pas en france. C'est dommage que ce soit pas enseigné, vu le coût représenté. En plus qu'aucun bac +n ne connaissent la littérature sur le sujet dans ce forum sur le paramètre qui impacte le plus le coût en informatique, c'est quand même assez interpelant, non ?
Le développement n'est pas l'art noble il est malheureusement émietté en entreprise entre tache nobles et non nobles en dépit du bon sens.
Si je devais penser enseignement, j'ouvrirais les portes du recrutement à tous (littéraires, EU, cours du soir..), et si je devais penser à une UV en informatique qui n'est pas enseignée, ce serait une UV d'organisation du travail (facteur 10 d'impact), et elle participerait à monter des études comparatives chiffrées pour justement essayer de faire rentrer la france dans l'ère de l'écocomie des SI. Sans expériences sérieuses, sans mesures, la science c'est du vent et les experts se résument à faire du shamanisme. (voir le paradoxe de solow, on arrive pas à mesurer de gains de productivité lié à l'adoption de SI en entreprise, voire dans certains cas on mesure des impacts négatifs)
Dans les UVs de culture générale il y a le cours de Mr Volle sur les SI qui est bien :
http://www.volle.com/ulb/plan0203.htm
Pour qui je suis tu passes sur l'url à coté de mon pseudo, et tu trouves en 3 cliques.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 3.
Les standards industriels ne changent généralement pas entre le début et la fin d'un chantier, et les services sont relativement calibrées : faire des terrassement pour une surface de 100m² à un coût facilement estimable, faire un framework applicatifs beaucoup moins. Et la division des taches n'a pas de sens dans un métier de création littéraire. C'est pour ça que le logiciel est protégé par le droit d'auteur, et pas par les brevets.
J'ai donc du mal avec cette division arbitraire héritère directe du positivisme d'auguste comte (c'est plus 1968 mais 1839 si tu veux réfuter le modèle par son age) père des grandes écoles à la française, et de la sélection par les maths (p'tet pas adpatée pour un métier littéraire).
A priori, coordonner des projets et des humains est une fonction support spécifique de l'informatique, qui nécessite de connaître le coeur de métier mais pas forcément de développer. Le coeur de métier de l'informatique c'est réduire la complexité d'un problème, et développer une solution autour de ce problèmes (je reviendrais pas sur le terme de développement) et de la transposer dans un langage claire (tant informatique que compréhensible pour les utilisateurs).
Si ton métier est celui ci alors tu es un informaticien. Après que les entreprises soient irrationelles dans l'affectation des taches, ce n'est pas mon soucis.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 1.
Apparemment bac+5 ne suffit pas.
Il faut avoir un bac+combien pour savoir faire abstraction de sa situation personnelle quand on a une discussion sur des échantillons statistiques ?
Que viennent faire mes sentiments, mon expertise ou mes diplômes dans la discussion alors que je ne m'appuie pas dessus, est-il possible, que tu envisages les arguments, les idées, le raisonnement et non la personne qui discute ? On n'apprend pas à la fac qu'un argumentaire ce doit être étudier en :
1) évaluant les hypothèse (libre à toi de retrouver les références et les réfuter pour biais d'échantillon et de définition),
2) regardant le raisonnement
3) les conclusions.
4) faisant abstraction du locuteur ?
Ah ben non, je m'ai gouré c'était dans mes cours de 3éme en géométrie. Ils ont tant changé les programmes que ça au collège ?
PS Coder c'est même pas 16% du temps de développement, pour moi développer c'est de ne pas coder 84% du temps.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 1.
1) qu'aucune technologie ou méthode de management n'a montré une augmention à deux chiffre (en %) de la productivité,
2) que la variabilité en productivité varie d'un facteur 1 à 10 par organisation 1 à 10 voir 20 par indvidu ;
Un diplôme formant des chefs de projets en informatique ne devrait il pas être principalement tourné vers les techniques les plus efficaces pour maitriser les couts ?
1) la gestion de la créativité et des RH, (facteur 1 à 20)
2) l'organisation du travail (1à 10) ?
or ici la formation est orientée à 90% sur les technos. Ouahou, les gens seront surement les mieux formés pour augmenter la productivité dans le meilleurs des cat de 10% :-) Impressionnant comparé au 10 000% potentiellement obtenu en s'intéressant aux humains et non aux technos.
Le programme est logiquement 99,9% à coté de la plaque si et seulement si l'objectif est de maitriser les couts. Il est donc 100% adéquat au marché français : l'inefficience je suis pour ; ça fait plus de salaires pour tout le monde.
Former une personne est considérée comme couter 6 mois homme, un turnover de 24 mois est clairement couteux (25% du cout lié au salaire est non productif), il est donc clair que reconnaître, retenir et former les meilleurs développeurs devraient faire partie de l'enseignement de base des informaticiens encadrant (consultant, managers, chef de projets). Quel diplôme en informatique propose ça : aucun, car aucune entreprise ne le demande. Peut être que les gens qui devraient décider comment former un bon informaticien ne sont pas les entreprises, car si elles ont besoin de recruter des spécialistes, c'est peut être qu'elles n'ont pas la compétence.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 0.
2) J'ai pas dit réduire les couts, mais les encadrer. Savoir combien va coûter quelque chose est essentiel pour une entreprise. Savoir que plus il y a de développeurs plus ça coute cher (cout perdu en communication), savoir que le variation de productivité est indépendante du diplome et est peut monter jusqu'à 10 - 20 veut dire qu'un bon développeur peut réduire les couts au delà de 100. Se focaliser sur un recrutement et une reconnaissance du travail selon des critères rationnels, augmente durablement les profits.
http://libroscope.org/doc/KnowledgeStrategy.htm
A coté de ça, aucune technologie, aucune méthode de managment n'ont réussi à montrer une augmentation de productivité de 0,1 ou plus en informatique.
Rien n'empêche le marché des entreprises de favoriser des solutions inefficientes pour des raisons sociales. Les entreprises ne sont pas faites pour faire des profits, elles sont faites par des humains. A ce que je sache par exemple les grands ne travaillent pas mieux que les petits, pourtant, leurs salaires sont plus élevés en entreprises.
http://www.insee.fr/fr/ffc/docs_ffc/ES361D.pdf
Mais c'est vrai dans l'absolu, il n'est nul besoin pour des gens à bac +5 de connaitre leur métier, et de s'informer. Tant que les entreprises sont contentes, c'est ce qui compte.
Le rapport avec microsoft, je vois pas. On doit être incompétente parce que les windowsiens sont incompétents, et que c'est ce que les entreprises réclament ? Toi tu deviendras chef :-)
[^] # Re: il faut voir
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à -1.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 1.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à -2.
Voilà qui en dit long sur la culture générale, et la rigueur scientifique de ceux qui moinssent : oh mon dieu ! Des études, on pourrait les vérifier, on pourrait même le contredire en allant les lire !
J'ai à faire à des experts, je vois. Des bacs + 5 surement :-P
Bon je vois que la discussion ne pourra pas se faire sur des bases sérieuses, alors je sais pas je vais faire comme tout le monde.
indication scénique lire avec un ton emprunté, la potrine sortie et l'oeil fier
Mon expérience prouve que j'ai raison. Regardez ce fil de discussion, les gens y parlent de manière fort savante, comme les médecins de Molière, et sont doctes comme Sganarelle.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 2.
En terme de bibliographie sur le sujet voilà mes références :
- Code Complete: A Practical Handbook of Software Construction
Steve C. McConnell
- Rapid Development: Taming Wild Software Schedules
Steve C. McConnell
- The Mythical Man-Month
Frederick P. Brooks
- Peopleware: Productive Projects and Teams
Tom Demarco and Timothy R. Lister
SI vous ne les connaissez pas ils sont assez fondamentaux dans tous ce qui est compréhension des disparités de productivité, ce qui coute cher ce sont les salaires, et comment peut on prétendre à former des managers (gens qui encadrent surtout les cout) voire des informaticiens en ignorant les aspects stratégiques en terme de coût en informatique que ce sont les aspects liés aux ressources humaines.
Pour l'argumentum ad hominem (argument de mauvaise fois comme quoi je dis ça parce que j'en veux au diplôme), cela en dit long sur le sérieux de votre façon de réfléchir. Vous êtes incapables de faire de la recherche bibliographique scientifique pour confirmer ou infirmer mes dires, vous êtes apparemment pas au fait de la littérature en ingénierie informatique et des études sur le sujet de l'impact des diplômes sur la productivité (un comble en ce qui vous concerne). Ce qui prouve par le fait mes dires.
J'adore étudier, je suis en train de passer un diplôme d'ingénieur en organisation au CNAM (vous savez les cours du soirs), et pour les études je ne citerais que feynman
Science is the belief in the ignorance of experts.
[^] # Re: Bac +5 ? c'est idiot
Posté par Jul (site web personnel) . En réponse à la dépêche Un Master en Ingénierie du Logiciel Libre. Évalué à 2.
concevoir
modéliser
choisir ses technos
prototyper
programmer
faire de la stratégie de développement
travailler en comité (enteretien de compréhension)
gérer la production logicielle (versioning smoke tests)
intégrer
Je pense que toutes ses taches doivent être faites par chaque personne d'un projet car je ne crois pas que la division des taches ne fasse autre chose que faire perdre en produvtivité.
Peu importe le diplôme ce qui importe pour une formation c'est quelle apporte les deux ans d'expérience au delà desquelles on attend plus de variation dans la productivité.