Je te crois sur parole, je prétends pas être un expert en développement de pilotes, mais c'est du vécu. Il est beaucoup plus simple de développer un pilote Linux que Windows et ce malgré toute la doc et l'outillage Microsoft.
Creer un pilote basique oui, creer un pilote avec tout le bousin qu'il faut, en gardant a l'esprit la maintenance, je trouves pas.
Bon nombre de BSOD sont dû à des pilotes foireux, foireux à cause d'une API monstrueusement complexe. C'est même une des raisons pour laquelle, personne n'enseigne en école le développement de pilotes sous Windows.
Ben il y a des ecoles qui enseignent le developpement de pilotes Windows, en France je sais pas, mais ici c'est clair et net, il y en a meme plusieurs qui plongent leurs etudiants dans le code du kernel Windows.
Certes, Microsoft est capable d'innover et de fournir des produits de qualité (.Net, Silverlight, Visual Studio, etc...), mais la sacro-sainte compatibilité est un boulet. Raymond Chen l'avait très bien expliqué sur blog.
C'est bien d'avoir le choix, mais si ça résulte par une inflation des entrailles, à plus ou moins long terme, on tombe sur mur (ce qui est arrivé à DOS/windows 9x).
Oui et non, c'est une question d'architecture. Typiquement avec la virtualisation aujourd'hui, ca resoud pas mal de ces problemes.
Alors la compatibilite c'est un boulet, mais au final c'est MS qui gere le boulet, les developpeurs n'ont pas a s'en charger. Et visiblement ca nous a pas empeche d'innover dans l'OS donc c'est faisable. Certes ca serait plus simple pour nous de casser les APIs, mais au final pour l'ecosysteme, ca serait pire.
Ce qu'ils veulent, c'est fermer les sources et faire chier la concurrence, juste des broutilles non négociables. Si tu dois te soumettre aux diktats des constructeurs, c'est ingérable, c'est ce qui a mené à la création d'OpenGL, Direct3D, OpenCL, etc ...
Honnetement, je suis pas la pour dire qui a tort et qui a raison. Je vois la situation :
- Les constructeurs n'aiment pas la solution proposee, peu importe leurs raisons.
- Linux a besoin de drivers de qualite si il veut avoir une chance sur le desktop
Partant de la, le choix est entre :
- Avoir une chance sur le desktop
- Garder l'ensemble libre
Question de choix, que voulez vous ? Mais faut assumer le choix fait : perdre un peu de liberte ou perdre le desktop et la masse critique
Je sais, la conception originale de NT à base de micro-noyaux était particulièrement bien foutue, et extrêmement portable. Ce qui a plombé NT c'est la compatibilité, au revoir la portabilité, au revoir une API pilote simple à appréhender etc ...
La portabilite est toujours la, elle n'a pas change. Le nombre de plateformes supportees il depend pas du code, il depend de la viabilite de la plateforme d'un point de vue commercial : est-ce que ca vaut la peine d'investir dans une passe de test specifique pour cette plateforme, former le support, pousser les constructeurs a creer les drivers pour, etc...
Porter le code, c'est de loin la partie la plus simple.
L'API de pilotes quand a elle n'a pas enormement change (excepte pour les drivers graphiques) depuis Windows 2000 reellement.
[^] # Re: Argh
Posté par pasBill pasGates . En réponse au journal Xorg 1.8: épatant ?. Évalué à 1.
Creer un pilote basique oui, creer un pilote avec tout le bousin qu'il faut, en gardant a l'esprit la maintenance, je trouves pas.
Bon nombre de BSOD sont dû à des pilotes foireux, foireux à cause d'une API monstrueusement complexe. C'est même une des raisons pour laquelle, personne n'enseigne en école le développement de pilotes sous Windows.
Ben il y a des ecoles qui enseignent le developpement de pilotes Windows, en France je sais pas, mais ici c'est clair et net, il y en a meme plusieurs qui plongent leurs etudiants dans le code du kernel Windows.
Certes, Microsoft est capable d'innover et de fournir des produits de qualité (.Net, Silverlight, Visual Studio, etc...), mais la sacro-sainte compatibilité est un boulet. Raymond Chen l'avait très bien expliqué sur blog.
C'est bien d'avoir le choix, mais si ça résulte par une inflation des entrailles, à plus ou moins long terme, on tombe sur mur (ce qui est arrivé à DOS/windows 9x).
Oui et non, c'est une question d'architecture. Typiquement avec la virtualisation aujourd'hui, ca resoud pas mal de ces problemes.
Alors la compatibilite c'est un boulet, mais au final c'est MS qui gere le boulet, les developpeurs n'ont pas a s'en charger. Et visiblement ca nous a pas empeche d'innover dans l'OS donc c'est faisable. Certes ca serait plus simple pour nous de casser les APIs, mais au final pour l'ecosysteme, ca serait pire.
Ce qu'ils veulent, c'est fermer les sources et faire chier la concurrence, juste des broutilles non négociables. Si tu dois te soumettre aux diktats des constructeurs, c'est ingérable, c'est ce qui a mené à la création d'OpenGL, Direct3D, OpenCL, etc ...
Honnetement, je suis pas la pour dire qui a tort et qui a raison. Je vois la situation :
- Les constructeurs n'aiment pas la solution proposee, peu importe leurs raisons.
- Linux a besoin de drivers de qualite si il veut avoir une chance sur le desktop
Partant de la, le choix est entre :
- Avoir une chance sur le desktop
- Garder l'ensemble libre
Question de choix, que voulez vous ? Mais faut assumer le choix fait : perdre un peu de liberte ou perdre le desktop et la masse critique
Je sais, la conception originale de NT à base de micro-noyaux était particulièrement bien foutue, et extrêmement portable. Ce qui a plombé NT c'est la compatibilité, au revoir la portabilité, au revoir une API pilote simple à appréhender etc ...
La portabilite est toujours la, elle n'a pas change. Le nombre de plateformes supportees il depend pas du code, il depend de la viabilite de la plateforme d'un point de vue commercial : est-ce que ca vaut la peine d'investir dans une passe de test specifique pour cette plateforme, former le support, pousser les constructeurs a creer les drivers pour, etc...
Porter le code, c'est de loin la partie la plus simple.
L'API de pilotes quand a elle n'a pas enormement change (excepte pour les drivers graphiques) depuis Windows 2000 reellement.