J'ai ajouté les propositions de Penguin, elles m'ont bien aidées pour les passages techniques et pour deux grosses erreurs que j'ai faites en voulant aller trop vite.
Il reste le passage "Mono not withstanding" pour lequel je ne suis pas sûr, un dernier avis serait le bienvenu.
Je passerai l'article en "publiable" après quelques jours quand même si personne ne propose une meilleure traduction.
--Yostral 3 mai 2007 à 00:43 (CEST):
Pour "not withstanding" ça pourrait se traduire par "malgré" tout simplement. Donc la phrase voudrait dire qu'avec .NET on est sur la mauvaise pente, et ce malgré Mono.
--Olivier 5 mai 2007 à 14:22 (CEST):
Merci Yostral
The Virtues of Monoculture
Tuesday April 24, 2007 8:41AM
by James Turner in Opinion
Les bienfaits de la monoculture
Mardi 24 avril 2007
par James Turner dans Opinion
I’m probably not saying anything that hasn’t been said before here, but I thought I’d share a few thoughts on why people seem to be drawn to the Microsoft Way. I recently did something at the ‘day job’ that I’ve thought about doing for a long time, but never quite worked up the steam to follow through on, I signed up to participate in a a Microsoft-centric project, and to learn .NET.
Je ne dis certainement rien de nouveau ici, mais j'ai pensé que je pourrai partager quelques réflexions sur les raisons qui poussent les gens à suivre la voie Microsoft. J'ai récemment fait quelque chose dans mon travail "de tous les jours" auquel je pensais depuis longtemps, mais pour lequel je n'ai jamais vraiment pris la peine d'aller jusqu'au bout, je me suis inscrit pour participer à un projet Microsoft-centrique et pour apprendre le .NET.
--Penguin 27 avril 2007 à 23:46 (CEST):
"a few thoughts on why people seem to be drawn to the Microsoft Way." : je traduirai plutot par quelque chose dans ce genre-là : "quelques réflexions sur les raisons qui poussent les gens à suivre la voie Microsoft" ou peut-être "les gens à le faire à la façon de Microsoft", après tout way peut avoir deux sens.....
I have made abortive stabs in the past to learn to code in the Microsoft Universe. I made a stab back in the bad old COM days, but the number of hoops I was being asked to jump through was more than I wanted to bite off at that time. Since then, I’ve carried that bad taste in my mouth, and resisted adding any Microsoft skill sets to my repertoire, even though it was sometimes a gap in my resume.
J'avais fait des tentatives avortées par le passé pour apprendre à coder dans l'Univers Microsoft. J'avais fait un essai à la sale époque des COM, mais le nombre de numéros qu'on me demandait d'exécuter me demandait trop d'effort par rapport à ce que j'étais alors prêt à consentir. Depuis j'ai gardé ce mauvais goût au fond de la bouche et j'ai refusé d'ajouter une seul compétence Microsoft à mon répertoire, même si cela représentait parfois un vide dans mon curriculum vitæ.
--Penguin 27 avril 2007 à 23:51 (CEST):
"j'ai résisté à l'ajout d'un ensemble d'aptitudes Microsoft à mon répertoire" : je dirai plutot "j'ai refusé d'ajouter une seul compétence Microsoft à mon répertoire"
I’ve worked frequently in environments where there was the one Microsoft Guy, the evangelist who would constantly tell you how much easier it would have been in .NET. I’ve written them off as Kool-Aid drinking Gates worshipers. But, at the end of the day, I felt that if I was going to criticize them, I really needed to understand where they were coming from. Know thy enemy, and all that.
J'ai souvent travaillé dans des environnements où il y avait ce Monsieur Microsoft, l'évangéliste qui vous répète sans cesse à quel point ça aurait été plus facile en .NET. Je les ai classés dans la catégorie adorateurs de Gates buveurs de Tang*. Mais, à la fin de la journée, je me suis dit que si je devais les critiquer je devais vraiment comprendre leur monde. Connais ton ennemi et tout ça.
--Olivier 26 avril 2007 à 14:45 (CEST):
/*Banga/Limonade j'ai pas trop d'idée de produit qui véhicule la même image que le Kool-Aid aux USA... que je ne connais pas vraiment de toute façon
"Would" dans ce sens-là n'indique pas le conditionnel mais la répétition, l'habitude...
I spent last week learning in order C#, .NET and VSTO (that’s Visual Studio Toolkit for Office, if you’re not familiar with Microsoft’s alphabet soup.) I used the O’Reilly ‘Learning C#’ book, and did something I rarely do, went through it pretty methodically (at least the first half or so.)
J'ai passé la semaine dernière à apprendre dans l'ordre C#, .NET et VSTO (c'est Visual Studio Toolkit for Office, si les abréviations de Microsoft ne sont pas votre tasse de thé). J'ai utilisé le livre "Learning C#" de chez O'Reilly et j'ai fait quelque chose qui m'arrive rarement : je m'y suis mis de manière très méthodique (du moins pour la première moitié).
Guess what? Microsoft has a pretty good development suite on their hands. To be honest, C# is largely what I’d do if I could rewrite Java from scratch with no concerns for backward compatibility. It has a couple of really cool features, like the virtual, override and new keywords that let you specify what should happen when you cast a class to it’s base class and then call a method on it that’s defined in both.
Et devinez quoi? Microsoft possède dans ses mains une suite de développement plutôt bonne. Pour être honnête, C# est vraiment ce que je ferai si je pouvais complètement ré-écrire Java sans me soucier de la compatibilité descendante. Il y a quelques fonctionnalités vraiment sympas, comme les mots-clés virtual, override, et new qui vous permettent de spécifier ce qu'il se passe lorsque vous transtypez une classe dans sa classe de base et que vous appelez une méthode qui est définie dans les deux.
"like the virtual, override and new keywords that let you specify what should happen when you cast a class to it’s base class and then call a method on it that’s defined in both." C'est quelque chose de purement technique, et là, c'est mal traduit. Ca donne quelque chose comme ça : "comme les mots-clés virtual, override, et new qui vous permettent de spécifier ce qu'il se passe lorsque vous transtypez une classe dans sa classe de base et que vous appelez une méthode qui est définie dans les deux."
Visual Studio is a slick tool that really does let you bang out applications (and with VSTO, plug ins for Office) is very little time. ADO.NET is no worse then JDBC, and is pretty seamlessly integrated into Visual Studio. I was able, by the end of the week, to develop both stand-alone applications and Office plug ins that could talk to back-end databases, having written very little code. From what I’ve seen, ASP.NET does the same for MVC web applications.
Visual Studio est un outil habile qui vous permet vraiment de créer des applications (et avec VSTO des ajouts pour Office) en deux temps trois mouvements. ADO.NET n'est pas pire que JDBC et s'intègre de manière transparente dans Visual Studio. J'ai été capable, arrivé à la fin de la semaine, de développer des applications autonomes et des ajouts pour Office qui étaient capable de dialoguer avec les bases de données en n'ayant écrit que peu de code. D'après ce que j'en ai vu, ASP.NET réalise la même chose pour les applications web MVC [NdT : Model View Controller].
--Penguin 28 avril 2007 à 00:01 (CEST):
"back-end databases" : je le traduirai tout simplement par "base de donneés", la traducation donnée au-dessus ne veut pas dire grand chose pour moi.....
So what’s good about a monoculture, and why does Microsoft win so often when people make a decision about platforms? Largely because what the open source community sees as a strength, people trying to get a job done in the real world see as a weakness. We celebrate the diversity of choices available to solve a problem and call it freedom. IT managers and CIOs look at it and call it chaos, confusion and uncertainty.
Alors, quels sont les avantages d'une monoculture et pourquoi Microsoft gagne-t-il si souvent quand les gens doivent choisir une plateforme ? C'est en grande partie à cause de ce que la communauté open source voit comme une force mais que ceux qui essaient de faire leur boulot dans le monde réel voient comme une faiblesse. Nous célébrons la diversité de choix disponibles pour résoudre un problème et nous appelons cela la liberté. Les directeurs informatiques et les patrons de la branche informatique (IT managers et CIOs en anglais) y voient du chaos, de la confusion et des doutes.
Should I use iBatis or Hibernate? XFire or AXIS? Perl, PHP or Ruby? Debian, Fedora, Ubuntu or Suse? Make the wrong decision, and you can waste a ton of time, as we found out on a recent project when we wasted a week try to make AXIS2 work for a web service project, only to find out that XFire was the right choice.
Est-ce que je devrais utiliser iBatis ou Hibernate? XFire ou AXIS? Perl, PHP ou Ruby? Debian, Fedora, Ubuntu ou Suse? Si vous prenez la mauvaise décision vous pouvez perdre énormément de temps, comme nous l'avons découvert sur un projet récent où nous avons gâché une semaine à essayer de faire marcher AXIS2 pour un projet de service web pour finalement nous rendre compte que XFire était ce qu'il nous fallait.
For the Microsoft Guy, no such confusion. You use ADO.NET, ASP.NET, C# and Windows. They all work, they’re all well documented from the perspective of a developer’s needs, with nary a disparaging ‘go look at the source’ blow-off. Every time I thought I was going to be stuck, there were a dozen articles explaining how to do exactly what I needed to do, with sample code that was up to date with the versions of the software I was using, and that actually related to the problem I was trying to solve.
Pour Monsieur Microsoft cette confusion n'existe pas. Vous utilisez ADO.NET, ASP.NET, C# et Windows. Ils fonctionnent tous, ils sont tous bien documentés du point de vue des besoins des développeurs, sans un seul "regarde le code source" désobligeant. A chaque fois que je pensais que j'allais être bloqué il y avait une douzaine d'articles expliquant comment faire exactement ce que je voulais faire, avec un exemple de code qui était à jour avec les versions du logiciel que j'utilisais et qui répondait vraiment au problème que je cherchais à résoudre.
'go look at the source' : je dirai plutot 'regarde le code' ou 'regarde le code source' voire 'regarde LE source'
"sample code" : exemple de code ou morceau de code
Microsoft offers the certainty of no choices. Choice isn’t always good, and the open source community sometimes offers far too many ways to skin the same cat, choices that are born more out of pride, ego or stubbornness than a genuine need for two different paths. I won’t point fingers, everyone knows examples.
Microsoft apporte le confort de ne pas avoir à choisir. Avoir le choix n'est pas toujours bon et la communauté open source offre parfois bien trop de manières différentes de plumer un canard, des choix qui sont pris plus par fierté, ego ou entêtement que par une authentique nécessité d'avoir deux alternatives différentes. Je ne montrerai personne du doigt, tout le monde connaît des exemples.
Now, least you think I’ve been turned to the Dark Side, there is one BIG problem with a monoculture, which is that you’ve essentially sold your soul for the stability of a clearcut set of choices. You go down the .NET path, you’re pretty much stuck there forever, Mono not withstanding. You’re always going to be running on a Windows platform. You got the pretty gold ring, but Sauron gets to pull your strings and make you dance. For many companies, ones that don’t need to worry about deploying into heterogeneous environments, that’s a deal they’re more than willing to make.
En fait, à moins que vous ne pensiez que je me sois tourné vers le Côté Obscur, le GROS problème avec une monoculture, c'est que vous vendez plus ou moins votre âme pour la stabilité d'un ensemble de choix défriché pour vous. En empruntant le chemin .NET, en gros, vous vous y perdez à tout jamais, et ce malgré Mono. Vous travaillerez toujours sur une plateforme Windows. Vous avez le joli anneau en or, mais Sauron tire les ficelles et vous fait danser. Pour beaucoup d'entreprises, celles qui n'ont pas besoin de se soucier du déploiement dans un environnement hétérogène, c'est un pacte qu'elles sont plus que prêtes à conclure.
--Penguin 27 avril 2007 à 23:37 (CEST):
"Mono not withstanding" : je ne sais pas exactement comment traduire, mais Mono est en fait un clone open source de .NET, qui permet de faire (à peu prés) tourner les programmes .NET sur une plateforme Linux. Je ne sais donc pas trop comment traduire cette partie de la phrase, je ne vois pas trop ce qu'il veut dire.
--Olivier 30 avril 2007 à 00:55 (CEST):
Merci pour la précision, j'ai traduit par "Mono ne fait pas le poids" sans certitude.
The takeaway I get from this entire line of reasoning is this: that somehow, someway, we need to start doing some winnowing. The 700 lb clue-bat has to be available to pound on the head of those who fork for no better reason than a disagreement over a license, or who should get to call the shots. When we hear about two or more projects that answer the same question, we should be asking ourself “Why don’t they pool their effort and produce one really good solution?”, rather than celebrating diversity for diversity’s sake alone.
Voici ce que je retiens de toute cette réflexion : en quelque sorte, nous devons commencer à faire le tri. La massue de 350kg pour faire entrer certaines idées dans les têtes devrait être mise à disposition pour marteler les têtes de ceux qui fourchent [NdT : qui créent une déviation indépendante d'un projet] pour la seule et unique raison qu'ils ne sont pas en accord avec la licence, ou de ceux qui prennent les décisions. Quand on entend parler de deux (ou plus) projets qui répondent à la même problématique, on devrait se demander "Pourquoi ne mettent-ils pas en commun leurs efforts pour fournir une très bonne solution?" plutôt que de célébrer la diversité uniquement pour l'amour de la diversité.
Do we really need Ruby on Rails AND Groovy on Grails? When the April Fools’ announcement of Python on Planes came out, it took me a second to realize it was a hoax, because it’s just the kind of ‘doing something for the sake of doing it’ effort that fractionalizes the OSS community. There’s no way to stop people from starting new duplicative projects, nor should we want to, but please God, do we have to actively encourage it?
A-ton vraiment besoin de Ruby on Rails ET de Groovy on Grails? Quand ils ont annoncé le poisson d'avril de Python on Planes j'ai mis quelques secondes pour réaliser que c'était un canular, parce que c'est exactement le genre d'effort faire quelque chose pour l'amour de le faire qui fractionne la communauté des logiciels open source. Il n'y a aucun moyen d'empêcher les gens de commencer des projets en double, et nous ne le voudrions pas, mais bon sang, doit-on l'encourager activement?
We spend a lot of time complaining about all the evil ways Microsoft uses to foist themselves on the world. By doing this, we automatically remove any blame that we ourselves may bear for their successes and our failures. The reality is that there are good, practical reasons that drive people into the arms of the Redmond tool set, and we need to accept that as a fact and learn from it, rather than shake our fists and curse the darkness. For we have met the enemy, and it is us, not Microsoft, at least not all the time…
On passe beaucoup de temps à se plaindre des moyens démoniaques qu'emploie Microsoft pour s'imposer partout. En faisant cela, nous nous lavons automatiquement de toute responsabilité que nous pourrions nous-même porter pour leur succès ou nos échecs. Le fait est qu'il existe d'excellentes raisons pratiques qui poussent les gens dans les bras de la boîte à outil de Redmond et nous devons accepter ceci comme un fait et en tirer des leçons plutôt que d'agiter nos poings en blamant l'obscurantisme. Car nous avons trouvé notre ennemi et c'est nous, pas Microsoft, du moins pas tout le temps...
--Penguin 27 avril 2007 à 23:43 (CEST):
"The reality is that there are good, practical reasons that drive people into the arms of the Redmond tool set" : je traduirai ça par : "Le fait est qu'il existe d'excellentes raisons pratiques qui poussent les gens dans les bras de la boîte à outil de Redmond"