Jakich domyślnych funkcji systemu Windows brakuje programistom? [Zamknięte]

13

Brak funkcji systemu Windows, które mogą poprawić wydajność programisty. Wiem, że wiele osób chciałoby, aby niektóre funkcje systemu Linux i OSX zostały przeniesione lub utworzone dla systemu Windows. Czego ci brakuje?

Przykładem może być opcja posiadania wielu obszarów roboczych. Gdy nie ma możliwości korzystania z podwójnych monitorów, które mogą się przydać.

Ygrec
źródło
Wiele obszarów roboczych? Masz na myśli ... podkatalogi?
Shog9
10
@ Mr.CRT czy kiedykolwiek używałeś Linuksa?
Ygrec,
7
Myślę, że przez „obszary robocze” rozumie wirtualne komputery stacjonarne.
Jesse Buchanan,
@Ygrec: tak. Jeśli, jak zgaduje jbinto, masz na myśli wirtualne pulpity, to nie jestem pewien, jak to ocenia się jako niezbędne narzędzie programistyczne. Uważam je za bardzo przydatne do zadań takich jak edycja obrazów, ale do programowania wystarczy mieć kilka otwartych konsol na raz - i oba systemy operacyjne obsługują to (aczkolwiek z raczej ... smutną różnicą w dostępnych powłokach).
Shog9
Zarówno gnome, jak i kde określają funkcję wirtualnych pulpitów jako obszary robocze, które są zdecydowanie najpopularniejszym środowiskiem graficznym Linux-a, pomidor / pomidor.
Quaternion,

Odpowiedzi:

14

Kompilator i przydatna powłoka.


Wyjaśnienie na podstawie komentarzy:

Byłem niejasny, powinienem napisać kompilator C / C ++. Kompilatory dla C # lub Fortran się nie liczą, ponieważ wiele potrzebnych narzędzi i bibliotek wymaga kompilatora C lub C ++. Kiedyś było naprawdę źle, gdzie nie można było budować rozszerzeń C dla Pythona za pomocą innego kompilatora niż Microsofts, ponieważ z tym właśnie skompilowano Python, myślę, że MinGW to rozwiązało i możesz to zrobić teraz z MinGW, ale to dobry powód dlaczego standardowy kompilator C / C ++ powinien zostać włączony lub udostępniony za darmo 20 lat temu. Microsoft dopiero niedawno zaczyna rozumieć moc posiadania armii programistów hobbystycznych.

Nie użyłem PowerShell, może to dobrze. Ale użyteczność bash nie jest dla mnie językiem powłoki. Mimo to rodzina języków * sh to okropne bestie. Wolę nawet pliki wsadowe. ;) Takie rzeczy jak przywracanie i wyszukiwanie historii poleceń, które są stosunkowo proste w systemie Windows, posiadanie potoków i takie, o których mówię (i widzę, że PowerShell ma potoki, więc to dobrze).

Są też rzeczy, które są dobre w systemie Windows, ale to inny temat. ;)

Lennart Regebro
źródło
2
Właśnie dlatego dystrybucje Linuksa zwykle zawierają kilka kompilatorów i interpreterów, a wiele innych jest dostępnych w menedżerze pakietów.
david4dev
1
@Victor Hurdugaci: Masz rację, ale tym, którego najbardziej brakuje, jest oczywiście kompilator dla C / C ++.
Lennart Regebro,
4
Z pewnością ta odpowiedź jest nieaktualna - w systemie Windows 7 dostajesz kompilator i rozsądną powłokę (PowerShell)
FinnNk
1
@Matt: Cóż, to po prostu twoja bigoteria językowa. Istnieje wiele darmowych kompilatorów, które są łatwo dostępne dla innych języków oprócz języków Microsoft, i wątpię, byś oskarżył ich o narzucanie ci języka.
Robert Harvey,
4
Na pewno przydatna powłoka. Absolutnie śmieszne, że w 2010 roku nie można zmaksymalizować okna wiersza polecenia. WTF ?!
Colin Goudie,
10
  • Możliwość pisania i uruchamiania programów w różnych językach (C, C ++, Python, Perl, Ruby ...) bez konieczności instalowania dodatkowych elementów.
  • Posiadanie domyślnie zainstalowanego co najmniej jednego edytora tekstu z podświetlaniem składni.
  • Menedżer pakietów, dzięki któremu można łatwo zainstalować dodatkowe biblioteki, systemy kontroli wersji, IDE itp.
  • Potężny interfejs wiersza poleceń.
  • Możliwość dostosowania GUI w celu uzyskania maksymalnej wydajności (skróty klawiaturowe, gorące rogi itp.)
  • strony
  • Kod źródłowy systemu operacyjnego i pakietów oprogramowania jest łatwo dostępny i licencjonowany w sposób umożliwiający jego ponowne użycie.
  • Dobra wydajność na skromnym sprzęcie.
david4dev
źródło
2
„Mając łatwo dostępny i licencjonowany kod źródłowy systemu operacyjnego i pakietów oprogramowania, abyś mógł go ponownie użyć”. Co?
Ygrec,
2
apt-get source package-nameilekroć chcesz wiedzieć, jak działa dany pakiet oprogramowania.
david4dev,
4
Nie zgadzam się z twoim pierwszym punktem. Po co nadużywać system operacyjny różnymi edytorami, kompilatorami i środowiskami wykonawczymi, mając nadzieję, że zadowolisz wszystkich? Lepiej pozwolić każdemu programistowi zainstalować to, czego potrzebuje.
Victor Hurdugaci,
3
@Victor Hurdugaci: Byłoby tak, gdyby Windows nie był już rozdęty z pozornie niczym. Typowa instalacja na Linuksie jest o rząd wielkości mniejsza i zawiera wszystkie te rzeczy.
Matt Joiner,
2
(1) Właśnie zainstalowałem Ubunto i musiałem osobno instalować języki i narzędzia programistyczne, tak jak robię to w systemie Windows. (2) Notatnik jest rzeczywiście nieodpowiednim domyślnym edytorem; TextPad jest bliżej słodkiego miejsca. (4) Ogólna obsługa klawiatury Windows lepiej niż jakikolwiek komputer z Linuksem, z którego korzystałem; Mogę obsługiwać pulpit i większość aplikacji nawet bez podłączonej myszy.
Mud
4

Mogę usunąć „wymagane” z tytułu, ponieważ z radością opracowałem dla systemu Windows od prawie 20 lat. Oczywiście opracowałem całkiem niezły zestaw narzędzi i narzędzi. Zobacz listę Scott Hanselmann na początek. Jest na najwyższym poziomie i spogląda wstecz na 2003 rok.

BTW, Windows 7 zawiera PowerShell, który pomaga w komentarzach „przyzwoitej powłoki”.

To powiedziawszy, zawsze dobrze jest mieć wbudowane lepsze narzędzia. Weź dowolne z narzędzi z listy Scotta.

W rzeczywistości MS może z pewnością poprawić interfejs wielu wbudowanych narzędzi, takich jak regedit, mgr zadania (patrz Process Monitor) i narzędzia podglądu zdarzeń. Dobrze byłoby mieć wbudowaną obsługę wielu schowków. Od OSX chciałbym udostępnić, a ich obsługa wielu komputerów jest dobra. Byłoby miło, gdyby Windows (natywnie łatwiej) wspierał przeciąganie tekstu z pól tekstowych.

XCode naprawdę ssie IMO, więc nie chcę tego w systemie Windows. VS jest znacznie lepszy, ale nie wbudowany, więc może wbudowany VS Expess z możliwością aktualizacji. Oczywiście ślad systemu operacyjnego rośnie wraz z tym (podobnie jak OSX), więc jest też pewna wada.

Rozproszony gcc jest bardzo dobry, dlatego byłby bardzo mile widziany jako wbudowana platforma dla dowolnego kompilatora (zobacz Incredibuild dla rozwiązania VS).

Byłoby miło, gdyby łatwiej było uzyskać i użyć sprawdzonej wersji systemu operacyjnego w celu znalezienia problemów. Korzystanie z kabli debugowania jest nieco ekstremalne, jeśli chodzi o dobre informacje uzyskane z Sprawdzonej wersji. Maszyny wirtualne mogą to zrobić z łatwością - jeśli tak, to proszę o komentarz z linkiem.

jschroedl
źródło
Tak, podstawowe IDE byłoby szczególnie miłe, ponieważ nie byłby to średnio edytor tekstu OK.
FinnNk,
@FinnNk, jakie masz wymagania dotyczące edytora tekstu „umiarkowanie OK”?
Trochę obsługi podświetlania składni, wyszukiwania / zamiany wyrażeń regularnych, wielu okien, widocznych białych znaków i numeracji linii - więc nie mam na myśli czegoś takiego jak emacs (chociaż byłoby to miłą opcją). Chociaż tak naprawdę nie jest edytorem tekstu, za małe fragmenty kodu .net często używam LinqPada.
FinnNk,
4

BASH, sed, grep, awk, find i ssh

DE
źródło
Uruchomiłem większość z nich w systemie Windows ... i mogę zrobić większość z powyższych za pomocą programu PowerShell.
Murph,
2
ssh z obsługą x okien;) Bash jest potężny, ale wszystko pod nim jest konfigurowalne, powłoka jest tak potężna, jak zasoby, którymi może manipulować.
Czwarty
Od kiedy programista wymaga awk i sed?
Dynamiczny
2
  • Skopiuj / wklej dla wielu obiektów
  • Wklej bez formatu (bez informacji o czcionce / rozmiarze)

źródło
3
+1 za formatowanie bez formatu. Zawsze kończę wklejanie do obszaru tekstowego na stronie internetowej lub w notatniku, a następnie wycinanie w celu usunięcia stylów tekstu.
Macneil,
3
Windows obsługuje wklejanie zwykłego tekstu, aplikacje muszą go zaimplementować jako opcję.
GrandmasterB,
1
@GrandmasterB Zatem pożądane jest, aby schowka bez formatowania były domyślnymi.
pestaa
2

Możliwość zmiany interfejsu użytkownika na wiedzę różnych użytkowników.

Na przykład jako programista / administrator możesz potrzebować poziomu eksperta w interfejsie użytkownika.

Amir Rezaei
źródło
1

Narzędzia przetwarzania plików w systemie Unix (wc, sort, uniq, awk, cat, grep, find, et cetera), w tym - jak wspominali inni - dobrą powłokę (np. Bash).

Aby być produktywnym w systemie Windows, kiedy pracuję z czymkolwiek związanym z tekstem, w końcu będę musiał przejść do przybornika poleceń systemu Unix. Na szczęście Cygwin jest doskonałym źródłem właśnie do tego celu.

To powiedziawszy, musisz „oswoić” Cygwina, aby dobrze współpracować z systemem plików Windows; chyba że zastąpisz niektóre ustawienia domyślne, możesz uzyskać pliki z nieprzyjemnymi uprawnieniami, które są trudne do usunięcia. Coś zbyt daleko poza podstawowe potrzeby i lepiej jest z maszyną wirtualną lub podwójnym uruchamianiem, ale dla moich celów jestem całkiem zadowolony z Cygwin.

Macneil
źródło
0

Zgadzam się z innymi postami, aby dodać:

Brakuje mi ssh z X przekazywaniem vs zdalny pulpit systemu Windows. Dla tych, którzy nie wiedzą, możesz uruchomić program komputerowy w sieci, ale działa on jak okno lokalne.

Kwaternion
źródło
0

Obsługa dłuższych argumentów wiersza poleceń. Szybko napotkasz problemy podczas budowania złożonych rozwiązań Java, które nie używają systemów kompilacji Microsofts.

Morten
źródło
0

valgrindi gcov?

Korzystam z programu PowerShell podczas programowania w systemie Windows (jako hobby) i zainstalowałem narzędzia GnuWin32 (sed, awk, grep itp.) I Python, aby uzyskać proste skrypty, więc nie ma problemu.

Ale uderzam w ścianę, gdy chcę sprawdzić mój program ... Pewnie, że mogę użyć debuggera (trochę), ale:

  • jak rozpoznać wyciek pamięci?
  • jak rozpoznać świnie pamięci?
  • jak rozpoznać hotspoty?
  • w jaki sposób identyfikuje się niewykorzystane / nieprzetestowane części kodu?

Widziałem niektóre narzędzia tu i tam, a na StackOverflow było dobre pytanie, a liczba wymienionych narzędzi jest dość przerażająca ... i ich ograniczenia również.

Linux został stworzony przez programistów dla programistów, dzięki czemu zyskał znacznie więcej przyjaznych narzędzi dla programistów :)

Matthieu M.
źródło
0

Kopiuj / wklej z funkcją historii.

Na szczęście ClipX oferuje rozwiązanie:

ClipX

PS Nie jestem związany z ClipX;)

Arktur
źródło
-1

Przyzwoita powłoka plus kompilator byłyby dobrym początkiem, jeśli chodzi o funkcje „domyślne”.

NPE
źródło
Plik csc.exe znajduje się w środowisku .NET. Możesz skompilować z nim kod C #.
Victor Hurdugaci,
@Victor: Czy jest to zawarte w standardowym systemie Windows?
Josh K
Tak. .NET 3.0 jest dostarczany z Windows 2008 i Vista, a 3.5 z Windows 7.
Victor Hurdugaci
3
Zgadzam się, jeśli mówimy o bieżącej wersji systemu Windows, to ta odpowiedź nie ma sensu - dostajesz zarówno kompilator, jak i PowerShell.
FinnNk,