Які функції за замовчуванням відсутні у Windows, які потрібні програмістам? [зачинено]


13

Які функції відсутні у Windows, які можуть підвищити продуктивність програміста. Я знаю, що багато людей хочуть, щоб деякі функції з порту Linux та OSX були створені і для Windows. Чого вам не вистачає?

Прикладом може бути можливість створення декількох робочих просторів. Коли немає можливості використовувати подвійні монітори, які можуть стати в нагоді.


Кілька робочих просторів? Ви маєте на увазі ... підкаталоги?
Shog9

10
@ Mr.CRT Ви коли-небудь використовували Linux?
Ігрек

7
Я думаю, що під робочими просторами він має на увазі віртуальний робочий стіл.
Джессі Бюкенан

@Ygrec: так. Якщо, як здогадується jbinto, ви маєте на увазі віртуальний робочий стіл, то я не впевнений, як це оцінюється як важливий інструмент програміста. Я вважаю їх дуже корисними для таких завдань, як редагування зображень, але для програмування просто відкриття декількох консолей одночасно достатньо - і обидві ОС це підтримують (хоча і з досить ... сумною різницею у наявних оболонках).
Shog9

І gnome, і kde позначають особливість віртуальних робочих столів як робочі простори, які є, безумовно, найпоширенішими середовищами для настільних ПК Linux, помідорами / помідорами.
Кватерніон

Відповіді:


14

Компілятор і корисна оболонка.


Роз'яснення на основі коментарів:

Мені було незрозуміло, я повинен був написати компілятор C / C ++. Компілятори для C # або Fortran не враховуються, оскільки для більшості потрібних інструментів і бібліотек потрібен компілятор C або C ++. Це було дуже погано, коли ви не могли створити розширення C для Python за допомогою іншого компілятора, ніж Microsofts, тому що саме з цим був складений Python, я думаю, що MinGW це вирішив, і ви можете це зробити з MinGW зараз, але це є вагомою причиною чому стандартний компілятор C / C ++ повинен був бути включений або доступний безкоштовно 20 років тому. Майкрософт лише останнім часом починає розуміти силу наявності армії програмістів хобі.

Я ще не використовував патрон, можливо, це добре. Але корисність bash для мене полягає не в мові оболонки. Сімейство мов * sh все одно є жахливими звірами. Я навіть віддаю перевагу пакетним файлам. ;) Такі речі, як історія команд, пригадують та шукають, які є відносно базовими в Windows, і які мають конвеєри, і такі, про які я говорю (і я бачу, що в Powerhell є трубопроводи, тому це добре).

Є і речі, які хороші в Windows, але це інша тема. ;)


2
Ось чому дистрибутиви Linux зазвичай поєднують кілька компіляторів та інтерпретаторів, а ще багато інших доступних у менеджера пакунків.
david4dev

1
@Victor Hurdugaci: У вас там є крапка, але найсуттєвіше, що це відсутність, звичайно, це компілятор для C / C ++.
Леннарт Регебро

4
Безумовно, ця відповідь застаріла - ви отримуєте компілятор і розумну оболонку (powerhell) в Windows 7.
FinnNk

1
@Matt: Ну, це лише мовна фанатистика з вашого боку. Є багато безкоштовних компіляторів, доступних для інших мов, окрім мов Microsoft, і я сумніваюся, ви звинуватили б їх у натисканні мови.
Роберт Харві

4
Корисна оболонка точно. Абсолютно смішно, що в 2010 році ви просто не можете максимально збільшити вікно командного рядка. WTF ?!
Колін Ґуді

10
  • Можливість писати та запускати програми різними мовами (C, C ++, Python, Perl, Ruby ...), не встановлюючи нічого зайвого.
  • Маючи принаймні один текстовий редактор із встановленим за замовчуванням підсвічуванням синтаксису.
  • Менеджер пакунків, щоб ви могли легко встановлювати додаткові бібліотеки, системи управління версіями, IDE тощо.
  • Потужний інтерфейс командного рядка.
  • Можливість налаштувати графічний інтерфейс для максимальної ефективності (комбінації клавіш, гарячі кути тощо)
  • manpages
  • Наявність вихідного коду операційної системи та програмних пакетів легко доступні та ліцензовані дозволено, так що ви можете використовувати його повторно.
  • Хороша продуктивність на скромному обладнання.

2
"Легко доступні та ліцензовані вихідний код операційної системи та програмних пакетів, що дозволяють використовувати їх повторно." Що?
Ігрек

2
apt-get source package-nameвсякий раз, коли ви хочете дізнатися, як працює певний пакет програм.
david4dev

4
Я не згоден з вашим першим моментом. Навіщо роздувати ОС за допомогою різних редакторів, компіляторів та середовищ виконання, сподіваючись, що ви задоволите всіх? Краще дозволити кожному програмісту встановити потрібні йому речі.
Віктор Хурдугачі

3
@Victor Hurdugaci: Це було б правдою, якби Windows не була роздута, мабуть, нічим. Типова установка для Linux на порядок менша, і поставляється з усіма цими речами.
Метт Столяр

2
(1) Я щойно встановив Ubunto, і мені довелося встановлювати мови та інструмент розробників окремо, як я це роблю у Window. (2) Блокнот - це справді неадекватний редактор за замовчуванням; TextPad ближче до милого місця. (4) Загальна підтримка клавіатури Window краще, ніж будь-який робочий стіл Linux, який я використовував; Я можу керувати робочим столом та більшістю додатків без навіть підключеної миші.
Бруд

4

Я можу скинути "потрібне" з назви, оскільки я щасливо розробляв для Windows майже 20 років. Звичайно, я розробив досить непоганий набір інструментів і утиліт. Дивіться список для Скотта Ханзельмана для початку. Це найвищий рівень та огляд назад аж до 2003 року.

До речі, Windows 7 включає в себе PowerShell, який допомагає в коментарях про "гідну оболонку".

Це означає, що завжди добре мати вбудовані інструменти. Візьміть будь-який інструмент у списку Скотта.

Реально МС може, безумовно, покращити користувальницький інтерфейс багатьох вбудованих інструментів, таких як regedit, mgr завдання (див. Монітор процесів) та засоби перегляду подій perf. Було б добре мати вбудовану підтримку для декількох буферів обміну. З OSX я хотів би експонувати, і їх підтримка на декількох робочих столах хороша. Було б непогано, якби Windows вроджене (він же простіше) підтримував перетягування тексту з текстових полів.

XCode справді смокче IMO, тому я не хотів би цього в Windows. VS набагато краще, але не вбудований, тому, можливо, вбудований VS Expess з можливістю оновлення. Звичайно, на цьому зростає слід операційної системи (як це робить OSX), тому є і мінус.

розподілений gcc дуже хороший, тому було б дуже вітано як вбудований фреймворк для будь-якого компілятора (див. Incredibuild для рішення VS).

Було б непогано, якби було легше отримати та використати перевірену збірку ОС, щоб знайти проблеми. Використання налагоджувальних кабелів є дещо екстремальним для хорошої інформації, яку ви отримаєте з перевіреної збірки. ВМ можуть зробити це легко - якщо так хтось, будь ласка, прокоментуйте посилання.


Так, базовий IDE було б особливо приємно, якщо цього не вдалося зробити непогано редактором тексту.
FinnNk

@FinnNk, які вимоги ви маєте до редактора тексту "помірно в порядку"?

Деяка підтримка підсвічування синтаксису, пошук / заміна регулярних виразів, кілька вікон, видимий пробіл та нумерація рядків - тому я не маю на увазі щось на зразок emacs (хоча це було б непогано як варіант). Хоча насправді це не текстовий редактор, для невеликих шматочків коду .net в наші дні я дуже багато використовую LinqPad.
FinnNk

4

BASH, sed, grep, awk, find and ssh


Я запускаю більшість з них на Windows ... і можу зробити більшість перерахованих вище за допомогою shellhell.
Мерф

2
ssh з підтримкою x windows;) Bash потужний, але все під ним налаштовується, оболонка настільки ж потужна, як і ресурси, якими вона може маніпулювати.
Кватерніон

З якого часу для програміста потрібні awk і sed?
Динамічний

2
  • Скопіюйте / вставте для декількох об’єктів
  • Вставити без формату (без інформації про шрифт / розмір)

3
+1 для формату. Я завжди вставляю текстову область на веб-сторінці чи блокноті, а потім вирізаю, щоб видалити текстові стилі.
Macneil

3
Windows підтримує вставлення простого тексту, програма просто потребує його реалізації як опції.
гросмайстерB

1
@GrandmasterB Тоді за замовчуванням прагнення до форматних буферів обміну.
pestaa

2

Можливість змінювати інтерфейс користувача на знання користувачів різних рівнів.

Наприклад, як розробник / адміністратор, можливо, вам знадобиться рівень експертів з інтерфейсу користувача.


1

Інструменти для обробки файлів Unix (wc, sort, uniq, awk, cat, grep, find, et cetera), включаючи - як уже згадували інші - гарну оболонку (наприклад, bash).

Для того, щоб бути продуктивним у Windows, коли я працюю з будь-яким текстом, з часом, мені потрібно буде зайти в панель інструментів команд Unix. На щастя, Cygwin - прекрасний ресурс саме для цієї мети.

З цього приводу вам потрібно «приручити» Cygwin, щоб добре працювати з файловою системою Windows; якщо ви не заміните деякі параметри за замовчуванням, ви можете отримати файли з неприємними дозволами, які важко видалити. Все, що занадто далеко над базовими потребами, і вам краще з VM або подвійним завантаженням, але для моїх цілей я цілком задоволений Cygwin.


0

Я погоджуюся з іншими публікаціями, щоб додати:

Я сумую за ssh з переадресацією x на віддалений робочий стіл Windows. Для тих, хто не знає, можна запустити настільну програму по всій мережі, але вона діє як локальне вікно.


0

Підтримка довших аргументів командного рядка. Ви швидко зіткнетеся з проблемами, будуючи складні рішення Java, які не використовують системи побудови Microsofts.


0

valgrindі gcov?

Я використовую PowerShell при розробці для Windows (як хобі), і я встановив інструменти GnuWin32 (sed, awk, grep тощо) і Python, щоб отримати легкий сценарій, тому проблем там немає.

Але я потрапляю в стіну, коли хочу перевірити свою програму ... Звичайно, я можу використовувати налагоджувач (трохи), але:

  • як протікає пам'ять однієї плями?
  • як можна ідентифікувати свиней пам’яті?
  • як можна визначити гарячі точки?
  • як можна ідентифікувати невикористані / неперевірені частини коду?

Я бачив деякі інструменти тут і там, і у StackOverflow було гарне запитання, і кількість перерахованих інструментів досить лякає ... і їх обмеження теж.

Linux був створений розробниками для розробників, тому він отримав набагато більше дружніх інструментів для розробників :)


0

Скопіюйте / вставте за допомогою функції історії.

На щастя ClipX пропонує рішення:

ClipX

PS Я не пов'язаний з ClipX;)


-1

Порядна оболонка, плюс компілятор, буде гарним початком, що стосується функцій "за замовчуванням".


csc.exe входить у рамки .NET. Ви можете скласти код C # з ним.
Віктор Хурдугачі

@Victor: Це в комплекті з Windows?
Джош К

Так. .NET 3.0 поставляється з Windows 2008 та Vista, а 3.5 постачається з Windows 7.
Віктор Хурдугачі

3
Я згоден, якщо ми говоримо про поточну версію Windows, то ця відповідь не має сенсу - ви отримуєте і компілятор, і оболонку повноважень.
FinnNk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.