Welche Funktionen fehlen Windows, die die Produktivität eines Programmierers verbessern können. Ich weiß, dass viele Leute einige Funktionen von Linux und OSX portieren oder auch für Windows erstellen möchten. Was fehlt dir?
Ein Beispiel wäre die Option, mehrere Arbeitsbereiche zu haben. Wenn Sie nicht die Möglichkeit haben, zwei Monitore zu verwenden, kann dies hilfreich sein.
Antworten:
Ein Compiler und eine nützliche Shell.
Klarstellung anhand der Kommentare:
Ich war unklar, ich hätte C / C ++ - Compiler schreiben sollen. Compiler für C # oder Fortran zählen nicht, da für viele der benötigten Tools und Bibliotheken ein C- oder C ++ - Compiler erforderlich ist. Früher war es wirklich schlimm, dass man C-Erweiterungen für Python nicht mit einem anderen Compiler als Microsofts erstellen konnte, weil Python damit kompiliert wurde. Ich denke, MinGW hat das gelöst und Sie können es jetzt mit MinGW tun, aber das ist ein guter Grund warum ein Standard-C / C ++ - Compiler vor 20 Jahren aufgenommen oder kostenlos zur Verfügung gestellt werden sollte. Microsoft fängt erst in letzter Zeit an zu verstehen, wie mächtig es ist, eine Armee von Hobby-Programmierern zur Verfügung zu haben.
Ich habe keine Powershell verwendet, vielleicht ist es gut. Aber der Nutzen von Bash liegt für mich nicht in der Shell-Sprache. Die * sh Sprachfamilie sind sowieso schreckliche Biester. Ich bevorzuge sogar Batch-Dateien. ;) Es sind Dinge wie das Abrufen und Suchen des Befehlsverlaufs, die in Windows relativ einfach sind, und Pipelines und solche, von denen ich spreche (und ich sehe, dass Powershell Pipelines hat, das ist also gut).
Es gibt Dinge, die auch in Windows gut sind, aber das ist ein anderes Thema. ;)
quelle
quelle
apt-get source package-name
wann immer Sie wissen möchten, wie ein bestimmtes Softwarepaket funktioniert.Ich könnte "erforderlich" aus dem Titel streichen, da ich mich seit fast 20 Jahren glücklich für Windows entwickelt habe. Natürlich habe ich eine ziemlich gute Werkzeugkiste mit Dienstprogrammen und Werkzeugen entwickelt. Siehe Scott Hanselmanns Liste für den Anfang. Es ist erstklassig und reicht bis ins Jahr 2003 zurück.
Übrigens enthält Windows 7 PowerShell, das bei den "anständigen Shell" -Kommentaren hilft.
Das heißt, es ist immer gut, bessere Werkzeuge zu haben. Nehmen Sie eines der Werkzeuge in Scotts Liste.
In der Realität könnte MS die Benutzeroberfläche vieler integrierter Tools wie regedit, task mgr (vgl. Process Monitor) und der Event Perf Viewer-Tools verbessern. Es wäre gut, integrierte Unterstützung für mehrere Zwischenablagen zu haben. Unter OSX möchte ich Expose ausführen und die Unterstützung für mehrere Desktops ist gut. Es wäre schön, wenn Windows das Ziehen von Text aus Textfeldern von Haus aus (oder einfacher) unterstützen würde.
XCode nervt wirklich mit IMO, also würde ich das nicht unter Windows wollen. VS ist viel besser, aber nicht integriert, so dass VS Expess möglicherweise mit einer Upgrade-Fähigkeit integriert ist. Natürlich wächst der OS-Fußabdruck damit (wie bei OSX), daher gibt es auch einen Nachteil.
Distributed Gcc ist sehr gut, daher wäre es sehr zu begrüßen, wenn ein eingebauter Rahmen für einen Compiler verwendet würde (siehe Incredibuild für eine VS-Lösung).
Es wäre schön, wenn es einfacher wäre, ein Checked Build des Betriebssystems zu erhalten und zu verwenden, um Probleme zu finden. Die Verwendung von Debug-Kabeln ist etwas extrem für die guten Informationen, die Sie aus Checked Build erhalten. VMs können dies problemlos tun - wenn ja, kommentieren Sie dies bitte mit einem Link.
quelle
BASH, sed, grep, awk, find und ssh
quelle
quelle
Die Möglichkeit, die Benutzeroberfläche auf Kenntnisse anderer Benutzer zu ändern.
Beispielsweise benötigen Sie als Entwickler / Administrator möglicherweise eine Expertenstufe für die Benutzeroberfläche.
quelle
Die Unix-Dateiverarbeitungswerkzeuge (wc, sort, uniq, awk, cat, grep, find usw.), einschließlich - wie bereits erwähnt - einer guten Shell (z. B. bash).
Um unter Windows produktiv zu sein, muss ich bei der Arbeit mit Text irgendwann in die Unix-Befehlstoolbox wechseln. Glücklicherweise ist Cygwin genau für diesen Zweck eine hervorragende Ressource.
Das heißt, Sie müssen Cygwin "zähmen", um gut mit dem Windows-Dateisystem zu arbeiten. Wenn Sie einige Standardeinstellungen nicht überschreiben, können Sie Dateien mit unangenehmen Berechtigungen abrufen, die schwer zu löschen sind. Etwas zu weit über den Grundbedürfnissen und Sie sind besser dran mit einer VM oder einem Dual-Boot, aber für meine Zwecke bin ich mit Cygwin ziemlich zufrieden.
quelle
Ich bin mit den anderen Beiträgen einverstanden, um hinzuzufügen:
Ich vermisse ssh mit x forwarding vs windows remote desktop. Für diejenigen, die nicht wissen, dass Sie ein Desktop-Programm über das Netzwerk ausführen können, das jedoch wie ein lokales Fenster funktioniert.
quelle
Unterstützung für längere Befehlszeilenargumente. Sie werden schnell auf Probleme stoßen, wenn Sie komplexe Java-Lösungen erstellen, die keine Microsoft Build-Systeme verwenden.
quelle
valgrind
undgcov
?Ich benutze PowerShell beim Entwickeln unter Windows (als Hobby) und habe die GnuWin32-Tools (sed, awk, grep, etc ...) und Python installiert, um ein einfaches Skripting zu erhalten, also kein Problem.
Aber ich stoße immer dann an eine Wand, wenn ich mein Programm überprüfen möchte ... Natürlich kann ich den Debugger verwenden (ein bisschen), aber:
Ich habe hier und da einige Tools gesehen und es gab eine gute Frage zu StackOverflow, und die Anzahl der aufgelisteten Tools ist ziemlich erschreckend ... und auch deren Einschränkungen.
Linux wurde von Entwicklern für Entwickler entwickelt, daher gibt es viel mehr entwicklerfreundliche Tools :)
quelle
Kopieren / Einfügen mit Verlaufsfunktion.
Zum Glück bietet ClipX eine Lösung:
PS Ich bin nicht mit ClipX verbunden;)
quelle
Eine anständige Shell und ein Compiler wären ein guter Anfang, wenn es um "Standard" -Funktionen geht.
quelle