Какие функции по умолчанию отсутствуют в Windows, необходимые для программистов? [закрыто]

13

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

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

Ygrec
источник
Несколько рабочих пространств? Вы имеете в виду ... подкаталоги?
Shog9
10
@ Mr.CRT Вы когда-нибудь использовали Linux?
Ygrec
7
Я думаю, что под «рабочими пространствами» он подразумевает виртуальные рабочие столы.
Джесси Бьюкенен
@Ygrec: да. Если, как догадывается jbinto, вы имеете в виду виртуальные рабочие столы, то я не уверен, насколько это ценный инструмент программирования. Я считаю, что они очень полезны для таких задач, как редактирование изображений, но для программирования достаточно иметь несколько открытых консолей одновременно - и обе ОС поддерживают это (хотя и с довольно ... печальной разницей в доступных оболочках).
Shog9
И gnome, и kde относятся к функции виртуальных рабочих столов как к рабочим пространствам, которые на сегодняшний день являются наиболее распространенными средами рабочих столов Linux, томатами / томатами.
Quaternion

Ответы:

14

Компилятор и полезная оболочка.


Пояснения на основе комментариев:

Мне было неясно, я должен был написать компилятор C / C ++. Компиляторы для C # или Fortran не учитываются, так как большая часть необходимых вам инструментов и библиотек требует компилятора C или C ++. Раньше было очень плохо, когда вы не могли создавать расширения C для Python с другим компилятором, кроме Microsoft, потому что это то, с чем Python был скомпилирован, я думаю, что MinGW решил это, и вы можете сделать это с MinGW сейчас, но это веская причина почему стандартный компилятор C / C ++ должен был быть включен или сделан доступным бесплатно 20 лет назад. Microsoft только в последнее время начинает понимать силу наличия армии программистов-хобби.

Я не использовал PowerShell, может быть, это хорошо. Но полезность bash для меня не в языке оболочки. Семья языков в любом случае - ужасные звери. Я даже предпочитаю пакетные файлы. ;) Это такие вещи, как вызов и поиск истории команд, которые относительно просты в Windows, имеют конвейеры и тому подобное, о чем я говорю (и я вижу, у powershell есть конвейеры, так что это хорошо).

В Windows есть и хорошие вещи, но это уже другая тема. ;)

Леннарт Регебро
источник
2
Вот почему в дистрибутивах Linux обычно есть несколько компиляторов и интерпретаторов, а многие другие доступны в менеджере пакетов.
david4dev
1
@Victor Hurdugaci: У вас есть точка зрения, но больше всего не хватает, конечно, компилятора для C / C ++.
Леннарт Регебро
4
Конечно, этот ответ устарел - вы получаете компилятор и разумную оболочку (powershell) в Windows 7.
FinnNk
1
@Matt: Ну, это просто языковой фанатизм с вашей стороны. Есть много бесплатных компиляторов, доступных для других языков, кроме языков Microsoft, и я сомневаюсь, что вы обвините их в том, что они навязывают вам язык.
Роберт Харви
4
Полезная оболочка наверняка. Абсолютно нелепо, что в 2010 году вы просто не можете развернуть окно командной строки. WTF ?!
Колин Гуди
10
  • Возможность писать и запускать программы на разных языках (C, C ++, Python, Perl, Ruby ...) без необходимости устанавливать что-либо дополнительное.
  • Как минимум один текстовый редактор с подсветкой синтаксиса установлен по умолчанию.
  • Диспетчер пакетов, позволяющий легко устанавливать дополнительные библиотеки, системы контроля версий, интегрированные среды разработки и т. Д.
  • Мощный интерфейс командной строки.
  • Возможность настройки GUI для максимальной эффективности (сочетания клавиш, горячие углы и т. Д.)
  • страницы руководства
  • Наличие исходного кода операционной системы и пакетов программного обеспечения, легкодоступных и лицензируемых, что позволяет использовать их повторно.
  • Хорошая производительность на скромном оборудовании.
david4dev
источник
2
«Наличие исходного кода операционной системы и пакетов программного обеспечения, легкодоступных и лицензируемых, чтобы вы могли использовать их повторно». Какая?
Ygrec
2
apt-get source package-nameвсякий раз, когда вы хотите знать, как работает тот или иной программный пакет.
david4dev
4
Я не согласен с вашим первым пунктом. Зачем раздувать ОС различными редакторами, компиляторами и средами выполнения, надеясь, что вы будете удовлетворять всех? Лучше позволить каждому программисту устанавливать то, что ему нужно.
Виктор Хурдугачи
3
@Victor Hurdugaci: Это было бы правдой, если бы Windows уже не была раздутой, очевидно, ничем. Типичная установка linux на порядок меньше и поставляется со всеми этими вещами.
Мэтт Джойнер
2
(1) Я только что установил Ubunto, и мне пришлось отдельно устанавливать языки и инструмент разработки, как я это делал в Window. (2) Блокнот действительно неадекватный редактор по умолчанию; TextPad ближе к сладкому месту. (4) общая поддержка клавиатуры Window лучше, чем у любого рабочего стола Linux, который я использовал; Я могу управлять рабочим столом и большинством приложений даже без подключенной мыши.
Mud
4

Я мог бы опустить «требуемый» из названия, так как я радостно разрабатывал для Windows почти 20 лет. Конечно, я разработал довольно хороший набор утилит и инструментов. См . Список Скотта Хансельмана для начинающих. Это на высшем уровне и оглянуться назад до 2003 года.

Кстати, Windows 7 включает PowerShell, который помогает с комментариями «достойной оболочки».

Тем не менее, всегда хорошо иметь лучшие инструменты, встроенные. Возьмите любой из инструментов в списке Скотта.

На самом деле MS может улучшить пользовательский интерфейс многих встроенных инструментов, таких как regedit, task mgr (см. Process Monitor) и инструменты просмотра событий. Было бы хорошо иметь встроенную поддержку нескольких буферов обмена. От OSX я бы хотел выставить и их поддержка нескольких рабочих столов хорошая. Было бы неплохо, если бы Windows изначально (или проще) поддерживала перетаскивание текста из текстовых полей.

XCode действительно отстой IMO, поэтому я не хотел бы этого на Windows. VS намного лучше, но не встроенный, так что, возможно, встроенный VS Expess с возможностью обновления. Конечно, с этим растет площадь ОС (как и у OSX), поэтому есть и обратная сторона.

Распределенный gcc очень хорош, поэтому его можно использовать как встроенную среду для любого компилятора (см. Incredibuild для решения VS).

Было бы хорошо, если бы было проще получить и использовать Проверенную сборку ОС для поиска проблем. Использование отладочных кабелей немного экстремально для хорошей информации, которую вы получаете из Checked Build. Виртуальные машины могут сделать это легко - если так, кто-то, пожалуйста, прокомментируйте со ссылкой.

jschroedl
источник
Да, базовая IDE была бы особенно хороша, если бы не было достаточно текстового редактора с умеренным ОК.
FinnNk
@FinnNk, какие у тебя требования к текстовому редактору "умеренно хорошо"?
Некоторая поддержка подсветки синтаксиса, поиска / замены регулярных выражений, нескольких окон, видимых пробелов и нумерации строк - так что я не имею в виду нечто вроде emacs (хотя это было бы неплохо в качестве опции). Хотя на самом деле это не текстовый редактор, для маленьких кусочков кода .net в наши дни я часто использую LinqPad.
FinnNk
4

BASH, sed, grep, awk, найти и ssh

Делавэр
источник
Я запустил большинство из них на Windows ... и могу сделать большинство из вышеперечисленных с PowerShell.
Murph
2
ssh с поддержкой x windows;) Bash - это мощное средство, но все под ним настраивается, оболочка настолько же мощна, насколько и ресурсы, которыми она может манипулировать.
Quaternion
С каких это пор для программиста нужны awk и sed?
Динамичный
2
  • Копировать / вставить для нескольких объектов
  • Вставить без формата (без информации о шрифте / размере)

источник
3
+1 для формата без. Я всегда заканчиваю тем, что вставляю текстовую область на веб-странице или в блокноте, а затем обрезаю, чтобы удалить стили текста.
Макнейл
3
Windows поддерживает вставку простого текста, приложения просто должны реализовать это как опцию.
GrandmasterB
1
@GrandmasterB Тогда по умолчанию требуется безформатный буфер обмена.
Пестаа
2

Возможность изменения пользовательского интерфейса для разных уровней знаний пользователей.

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

Амир Резаи
источник
1

Инструменты обработки файлов Unix (wc, sort, uniq, awk, cat, grep, find и т. Д.), Включая, как уже упоминалось, хорошую оболочку (например, bash).

Чтобы быть продуктивным в Windows, когда я работаю с чем-либо связанным с текстом, в конце концов мне нужно перейти на панель инструментов Unix. К счастью, Cygwin - отличный ресурс для этой цели.

Тем не менее, вам нужно «приручить» Cygwin, чтобы хорошо работать с файловой системой Windows; если вы не переопределите некоторые настройки по умолчанию, вы можете получить файлы с неприятными разрешениями, которые трудно удалить. Что-то слишком далеко от базовых потребностей, и вам лучше использовать виртуальную машину или двойную загрузку, но для моих целей я вполне доволен Cygwin.

Макнейл
источник
0

Я согласен с другими постами, поэтому добавить:

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

кватернион
источник
0

Поддержка более длинных аргументов командной строки. Вы быстро столкнетесь с проблемами при создании сложных Java-решений, в которых не используются системы сборки Microsoft.

Morten
источник
0

valgrindа gcov?

Я использую PowerShell при разработке приложений для Windows (в качестве хобби), и я установил инструменты GnuWin32 (sed, awk, grep и т. Д.) И Python для упрощения написания сценариев, поэтому никаких проблем нет.

Но я сталкиваюсь со стеной всякий раз, когда хочу проверить свою программу ... Конечно, я могу использовать отладчик (немного), но:

  • как обнаружить утечку памяти?
  • Как определить память свиней?
  • как определить горячие точки?
  • как определить неиспользуемые / непроверенные части кода?

Я видел некоторые инструменты здесь и там, и там был хороший вопрос о StackOverflow, и количество перечисленных инструментов довольно пугающее ... и их ограничения тоже.

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

Матье М.
источник
0

Копирование / вставка с функцией истории.

К счастью, ClipX предлагает решение:

ClipX

PS Я не связан с ClipX;)

Арктур
источник
-1

Приличная оболочка плюс компилятор были бы хорошим началом для функций «по умолчанию».

NPE
источник
csc.exe включен в .NET Framework. Вы можете скомпилировать код C # с ним.
Виктор Хурдугачи
@Victor: Это входит в комплект поставки Windows?
Джош К
Да. .NET 3.0 поставляется с Windows 2008 и Vista, а 3.5 поставляется с Windows 7.
Виктор Хурдугачи
3
Я согласен, если мы говорим о текущей версии Windows, тогда этот ответ не имеет смысла - вы получаете как компилятор, так и powershell.
FinnNk