Quelles sont les fonctionnalités par défaut manquantes de Windows qui sont requises pour les programmeurs? [fermé]


13

Quelles sont les fonctionnalités manquantes de Windows qui peuvent améliorer la productivité d'un programmeur. Je sais que beaucoup de gens voudraient que certaines fonctionnalités de Linux et OSX soient portées ou créées pour Windows également. Qu'est-ce qui vous manque?

Un exemple serait l'option d'avoir plusieurs espaces de travail. Lorsque vous n'avez pas la possibilité d'utiliser deux moniteurs qui peuvent être utiles.


Plusieurs espaces de travail? Vous voulez dire ... des sous-répertoires?
Shog9

10
@ Mr.CRT avez-vous déjà utilisé Linux?
Ygrec

7
Je pense que par "espaces de travail", il entend les bureaux virtuels.
Jesse Buchanan

@Ygrec: oui. Si, comme le suppose jbinto, vous parlez de bureaux virtuels, alors je ne sais pas comment cela se définit comme un outil de programmation essentiel. Je les trouve très utiles pour des tâches comme l'édition d'images, mais pour la programmation, le fait d'avoir plusieurs consoles ouvertes à la fois suffit - et les deux systèmes d'exploitation le prennent en charge (bien qu'avec une différence plutôt triste dans les shells disponibles).
Shog9

Gnome et kde font référence à la fonctionnalité des bureaux virtuels comme des espaces de travail qui sont de loin les environnements de bureau Linux les plus courants, tomato / tomato.
Quaternion

Réponses:


14

Un compilateur et un shell utile.


Clarification basée sur les commentaires:

Je n'étais pas clair, j'aurais dû écrire un compilateur C / C ++. Les compilateurs pour C # ou Fortran ne comptent pas, car la plupart des outils et bibliothèques dont vous avez besoin nécessitent un compilateur C ou C ++. Auparavant, c'était vraiment mauvais, où vous ne pouviez pas créer d'extensions C pour Python avec un autre compilateur que Microsofts, parce que c'est ce avec quoi Python a été compilé, je pense que MinGW a résolu cela et vous pouvez le faire avec MinGW maintenant, mais c'est une bonne raison pourquoi un compilateur C / C ++ standard aurait dû être inclus ou mis à disposition gratuitement il y a 20 ans. Microsoft ne commence que récemment à comprendre le pouvoir de disposer d'une armée de programmeurs amateurs.

Je n'ai pas utilisé PowerShell, c'est peut-être bien. Mais l'utilité de bash pour moi n'est pas dans le langage shell. La famille de langues * sh est de toute façon des bêtes horribles. Je préfère même les fichiers batch. ;) Ce sont des choses comme le rappel et la recherche de l'historique des commandes qui sont relativement basiques dans Windows, et ayant des pipelines et ce dont je parle (et je vois que powershell a des pipelines, donc c'est bien).

Il y a aussi des choses qui sont bonnes dans Windows, mais c'est un autre sujet. ;)


2
C'est pourquoi les distributions Linux regroupent normalement plusieurs compilateurs et interprètes avec de nombreux autres disponibles à partir du gestionnaire de packages.
david4dev

1
@Victor Hurdugaci: Vous avez un point là-dessus, mais celui qui manque le plus est bien sûr un compilateur pour C / C ++.
Lennart Regebro

4
Certes, cette réponse est obsolète - vous obtenez un compilateur et un shell raisonnable (PowerShell) dans Windows 7.
FinnNk

1
@Matt: Eh bien, ce n'est que du fanatisme linguistique de votre part. Il existe de nombreux compilateurs gratuits disponibles pour d'autres langues en plus des langues Microsoft, et je doute que vous les accusiez de vous pousser une langue.
Robert Harvey

4
Un shell utile à coup sûr. Absolument ridicule qu'en 2010, vous ne pouvez tout simplement pas maximiser la fenêtre d'invite de commande. WTF?!
Colin Goudie

10
  • La possibilité d'écrire et d'exécuter des programmes dans différents langages (C, C ++, Python, Perl, Ruby ...) sans avoir à installer quoi que ce soit de plus.
  • Avoir au moins un éditeur de texte avec coloration syntaxique installé par défaut.
  • Un gestionnaire de paquets pour que vous puissiez facilement installer des bibliothèques supplémentaires, des systèmes de contrôle de version, des IDE, etc.
  • Une puissante interface de ligne de commande.
  • La possibilité de modifier l'interface graphique pour une efficacité maximale (raccourcis clavier, coins chauds, etc.)
  • pages de manuel
  • Avoir le code source du système d'exploitation et des packages logiciels facilement disponibles et sous licence de façon permissive afin que vous puissiez les réutiliser.
  • Bonnes performances sur du matériel modeste.

2
"Avoir le code source du système d'exploitation et des progiciels facilement disponibles et sous licence de façon permissive afin que vous puissiez le réutiliser." Quelle?
Ygrec

2
apt-get source package-namechaque fois que vous voulez savoir comment fonctionne un progiciel particulier.
david4dev

4
Je ne suis pas d'accord avec votre premier point. Pourquoi gonfler le système d'exploitation avec différents éditeurs, compilateurs et environnements d'exécution, en espérant que vous satisferez tout le monde? Il vaut mieux laisser chaque programmeur installer les choses dont il a besoin.
Victor Hurdugaci

3
@Victor Hurdugaci: Ce serait vrai si Windows n'était déjà pas gonflé de rien. Une installation linux typique est d'un ordre de grandeur plus petit et est livrée avec toutes ces choses.
Matt Joiner

2
(1) Je viens d'installer Ubunto et j'ai dû installer les langues et l'outil de développement séparément, tout comme je le fais sur Windows. (2) Le Bloc-notes est en effet un éditeur par défaut inadéquat; TextPad est plus proche d'un sweet spot. (4) La prise en charge globale du clavier de Windows est meilleure que n'importe quel bureau Linux que j'ai utilisé; Je peux même utiliser le bureau et la plupart des applications sans même brancher une souris.
Mud

4

Je pourrais laisser tomber "requis" du titre car j'ai développé pour Windows avec bonheur pendant près de 20 ans. Bien sûr, j'ai développé une très bonne boîte à outils d'utilitaires et d'outils. Voir la liste de Scott Hanselmann pour commencer. Il est de premier ordre et remonte à 2003.

BTW, Windows 7 inclut PowerShell qui aide avec les commentaires "shell décent".

Cela dit, il est toujours bon d'avoir de meilleurs outils intégrés. Prenez l'un des outils de la liste de Scott.

De manière réaliste, MS pourrait certainement améliorer l'interface utilisateur de nombreux outils intégrés tels que regedit, le gestionnaire de tâches (cf. Process Monitor) et les outils de visualisation des performances d'événements. Il serait bon d'avoir un support intégré pour plusieurs presse-papiers. Depuis OSX, j'aimerais exposer et leur prise en charge multi-bureaux est bonne. Ce serait bien si Windows supportait nativement (alias plus facilement) le glissement du texte depuis les zones de texte.

XCode craint vraiment IMO, donc je ne voudrais pas cela sur Windows. VS est beaucoup mieux mais pas intégré, donc peut-être VS Expess intégré avec une capacité de mise à niveau. Bien sûr, l'empreinte du système d'exploitation augmente avec cela (comme le fait OSX), il y a donc aussi un inconvénient.

gcc distribué est très bon, ce qui serait le bienvenu en tant que framework intégré pour tout compilateur à utiliser (voir Incredibuild pour une solution VS).

Ce serait bien s'il était plus facile d'obtenir et d'utiliser une version vérifiée du système d'exploitation pour trouver des problèmes. L'utilisation de câbles de débogage est un peu extrême pour les bonnes informations que vous obtenez de la construction vérifiée. Les machines virtuelles peuvent le faire facilement - si c'est le cas, veuillez commenter avec un lien.


Oui, un IDE de base serait particulièrement agréable, à défaut d'un éditeur de texte modérément OK serait un début.
FinnNk

@FinnNk, quelles exigences avez-vous pour un éditeur de texte "moyennement OK"?

Prise en charge de la coloration syntaxique, de la recherche / remplacement d'expressions régulières, de plusieurs fenêtres, des espaces visibles et de la numérotation des lignes - je n'ai donc pas quelque chose comme emacs en tête (bien que ce serait bien en option). Bien que ce ne soit pas vraiment un éditeur de texte, pour de petits morceaux de code .net ces jours-ci, j'utilise beaucoup LinqPad.
FinnNk

4

BASH, sed, grep, awk, find et ssh


J'ai exécuté la plupart de ceux-ci sur Windows ... et je peux faire la plupart des choses ci-dessus avec PowerShell.
Murph

2
ssh avec le support de x windows;) Bash est puissant mais tout en dessous est personnalisable, un shell n'est aussi puissant que les ressources qu'il peut manipuler.
Quaternion

Depuis quand awk et sed sont-ils nécessaires pour un programmeur?
Dynamic

2
  • Copier / coller pour plusieurs objets
  • Coller sans format (sans informations de police / taille)

3
+1 sans format. Je finis toujours par coller dans une zone de texte sur une page Web ou un bloc-notes, puis de couper pour supprimer les styles de texte.
Macneil

3
Windows prend en charge le collage de texte brut, les applications doivent simplement l'implémenter en option.
GrandmasterB

1
@GrandmasterB Ensuite, il est souhaitable que les presse-papiers sans format soient la valeur par défaut.
pestaa

2

La possibilité de changer l'interface utilisateur en différents niveaux de connaissances des utilisateurs.

Par exemple, en tant que développeur / administrateur, vous pouvez avoir besoin d'un niveau d'expert sur l'interface utilisateur.


1

Les outils de traitement de fichiers Unix (wc, sort, uniq, awk, cat, grep, find, et cetera), comprenant - comme d'autres l'ont mentionné - un bon shell (par exemple, bash).

Afin d'être productif dans Windows, lorsque je travaille avec tout ce qui est lié au texte, je devrai finalement aller dans la boîte à outils des commandes Unix. Heureusement, Cygwin est une excellente ressource juste à cette fin.

Cela dit, vous devez "apprivoiser" Cygwin pour bien fonctionner avec le système de fichiers Windows; sauf si vous remplacez certains paramètres par défaut, vous pouvez obtenir des fichiers avec des autorisations désagréables qui sont difficiles à supprimer. Quelque chose de trop au-dessus des besoins de base et vous êtes mieux avec une VM ou un double démarrage, mais pour mes besoins, je suis assez satisfait de Cygwin.


0

Je suis d'accord avec les autres messages afin d'ajouter:

Ssh avec le transfert x vs le bureau à distance Windows me manque. Pour ceux qui ne savent pas, vous pouvez exécuter un programme de bureau sur le réseau, mais il agit comme une fenêtre locale.


0

Prise en charge d'arguments de ligne de commande plus longs. Vous rencontrerez rapidement des problèmes lors de la création de solutions Java complexes qui n'utilisent pas de systèmes de construction Microsofts.


0

valgrindet gcov?

J'utilise PowerShell lors du développement sur Windows (comme passe-temps) et j'ai installé les outils GnuWin32 (sed, awk, grep, etc ...) et Python pour obtenir des scripts faciles, donc pas de problème là-bas.

Mais je me retrouve à frapper un mur chaque fois que je veux inspecter mon programme ... Bien sûr, je peux utiliser le débogueur (un peu) mais:

  • comment repérer une fuite de mémoire?
  • comment identifie-t-on les cochons de mémoire?
  • comment identifie-t-on les points chauds?
  • comment identifier les parties inutilisées / non testées du code?

J'ai vu quelques outils ici et là et il y avait une bonne question sur StackOverflow et le nombre d'outils répertoriés est assez effrayant ... et leurs limites aussi.

Linux a été créé par des développeurs pour des développeurs, donc il a beaucoup plus d'outils conviviaux pour les développeurs :)


0

Copiez / collez avec la fonction historique.

Heureusement, ClipX propose une solution:

ClipX

PS je ne suis pas affilié à ClipX;)


-1

Un shell décent, plus un compilateur serait un bon début en ce qui concerne les fonctionnalités "par défaut".


csc.exe est inclus dans le framework .NET. Vous pouvez compiler du code C # avec lui.
Victor Hurdugaci

@Victor: Est-ce inclus dans Windows standard?
Josh K

Oui. .NET 3.0 est livré avec Windows 2008 et Vista tandis que 3.5 est livré avec Windows 7.
Victor Hurdugaci

3
Je suis d'accord, si nous parlons de la version actuelle de Windows, cette réponse n'a aucun sens - vous obtenez à la fois un compilateur et un PowerShell.
FinnNk
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.