web-dev-qa-db-fra.com

Y a-t-il une philosophie Windows de la programmation?

J'ai programmé les environnements Unix et Windows. Surtout, j'ai travaillé à Unix, où j'ai appris philosophie UNIX , qui peut être résumée comme

  • Écrivez des programmes qui font une chose et le font bien.
  • Écrire des programmes pour travailler ensemble.
  • Écrire des programmes pour gérer les flux de texte, car c'est une interface universelle.

Il semble y avoir une différence claire dans les cultures de programmation entre UNIX et Windows Worlds, par exemple:

  • Gui vs cli
  • Registry vs Config Files
  • Beaucoup d'outils spécialisés pour tout besoin donné à VS Groupe d'outils orthogonaux génériques pouvant être combinés

Y a-t-il équivalent de "philosophie UNIX" dans Windows World ? Quel programmateur UNIX peut apprendre de Windows ou doit être conscient de la programmation de la programmation de Windows?

Je voudrais que des réponses se concentrent sur les meilleures pratiques de la programmation Windows (et non une bagarre entre Windows et UNIX).

30
Maglob

Il y a en fait quelque chose comme "la philosophie de Windows". Surtout, il s'agit du concept de composition et des programmes de conception d'interface utilisateur pour les utilisateurs non destinés à d'autres programmeurs.

Cela signifie:

  • Interfaces utilisateur simples et intuitives
  • Flux de travail naturel
  • Devrait travailler hors de la boîte
  • Aucune connaissance technique n'est requise là où elle n'est pas requise

Voici une bonne lecture:

biculturalisme

Avec la prolifération de Windows, l'approche hacker du codage a commencé à devenir défavorisée. Tout d'abord, il écrivait des programmes C/C++ de la manière la plus complexe et obscurcie, de sorte que seuls les cerveaux les plus difficiles pouvaient les comprendre, comme une sorte de rite de passage. Sous Windows, les choses ont commencé à changer et que le "style de code" est maintenant très défavorable. Je ne sais pas si ses fenêtres directes influencent ou plutôt le nouveau niveau de compréhension de la qualité du code, mais au moins opportun, ils coïncident.

28
user8685

Le blog de Raymond Chen, L'ancienne nouvelle chose , et son livre avec le même nom est un excellent aperçu de la philosophie, de l'histoire et du meilleures pratiques de programmation de Windows natif.

8
Andreas Rejbrand

compromis et personnalisation

Ce n'est pas le meilleur de quoi que ce soit, mais si vous êtes prêt à mettre à l'époque et à prendre des décisions désagréables à certains endroits, vous ne pouvez pas le faire faire. Si vous n'aimez pas ce qu'il fait actuellement, vous pouvez probablement le changer. Il y a peu d'endroits où il n'y a qu'un seul moyen ou même une façon qui est toujours préférable.

assez bon pour que l'utilisateur commence

Très peu de choses sont phénoménales hors de la boîte, mais la plupart des choses sont utilisables. Unix a tendance à aller la direction où rien ne fonctionne avant de la configurer et Apple= Tout fait assez polie, mais au coût de certaines configurabilité/flexibilité.

Attendez-vous à une queue de support journal

Les utilisateurs Windows ne mettent pas la mise à niveau uniquement parce qu'il existe une version plus récente. Ils ne sont même pas toujours toujours surclassés à cause d'une vulnérabilité ou d'une bugfix. Les utilisateurs de Windows doivent souvent être forcés de mettre à niveau, mais si vous les forcez à mettre à niveau rapidement, ils rechercheront des produits alternatifs

Les utilisateurs ont une vaste gamme de niveaux de compétence

Unix a une barrière élevée perçue à l'entrée d'un niveau technique du point de vue d'un utilisateur de maison occasionnel. =Apple Avait un niveau de compétence requis très faible, mais n'encourage pas l'utilisateur occasionnel de faire beaucoup de personnalisation de leur système d'exploitation. Windows est entre. Il est seulement un peu plus difficile de commencer à utiliser que Apple Products, mais il y a encore beaucoup d'informations simples disponibles, parfois dans l'installation elle-même, sur la façon de changer de configuration de système assez approfondie. Cela conduit à un peu au hasard. niveau de compétence dans le niveau moyen des utilisateurs, car s'ils sont suffisamment confiants pour essayer quelque chose, il y a de bonnes chances, ils peuvent comprendre comment le faire. Cela laisse également les utilisateurs plus timides sans aucune expérience dans certains cas car ils se méfient de la Avertissements que ce mal va mal.

4
Bill

Windows a été construit avec une prise en charge explicite pour Standard d'accès utilisateur commun d'IBM (CUA) pour guider le développement des applications.

Ce qui, bien sûr, était une tentative de créer une expérience de type MAC pour l'utilisateur.

3
Steven A. Lowe

Unix il y a longtemps, c'était pour les programmeurs et les personnes comme ça et Windows était toujours destiné aux utilisateurs qui ne savent pas comment écrire des scripts Bash. Parmi les fenêtres, vous devriez vous soucier des utilisateurs, cela signifie faire un outil pour toute tâche que l'utilisateur n'a pas besoin de craindre de configurer peu de programmes pour travailler ensemble.

2
Dainius

Je ne sais pas si c'est une philosophie, mais je suis une sorte de densité de pensée qui va avec la programmation Windows. Il y a aussi un sentiment de surprise à la façon dont les choses fonctionnent parfois.

Je recommanderais de la patience si vous embrassez le développement de Windows et que vous prenez un peu plus attention à vos hypothèses.

1
John Bickers