Я брошу свой ответ на ринг (хотя я верю, что все они тоже хорошие).
Самый простой ответ, который вы можете получить, заключается в том, что все дело в философии.
В мире Microsoft это немного религиозно - у вас есть боги на горе. Редмонд, которому нужно ходатайствовать, если ты хочешь что-то реализовать. Иногда они будут слушать, а иногда ваши жертвы и просьбы не будут услышаны. Возможно, они были на охоте. Microsoft контролирует всю экосистему - им принадлежит ОС, им принадлежит IDE, и они связывают их вместе способами, о которых, вероятно, не следует говорить в сети SE. Даже в пределах IDE части тесно связаны - это можно назвать интегрированнымно я думаю, что в сочетании является более точным. Если вы хотите немного изменить положение вещей, Гейтс запрещает вам изменять то, что явно не разрешали разработчики Windows или Visual Studio. А затем добавьте такие технологии, как IE, IIS, серверы Microsoft, MS SQL Server и Office ... и все это - большая хорошая счастливая семья. Но если вы хотите оставить часть семьи? дрожь !
С другой стороны, у вас есть Linux, который наследует философию Unix, согласно которой каждый компонент должен отвечать за свою небольшую сферу ответственности. Это должно сделать одну вещь, и делать это хорошо. И желательно, чтобы общение происходило посредством текстовых строк. Как уже отмечалось, sed
, awk
, grep
и т.д. являются прекрасными примерами этого. Они делают одну вещь, для которой они предназначены, и делают это очень хорошо. Если вам нужно сделать две вещи, то вы объедините два инструмента. Что очень легко сделать.
Поскольку sed
кроме входного ввода ничего не ожидается, будет текст, это означает, что все, что может генерировать текст, не должно заново изобретать колесо. Они могут просто использовать sed
. А поскольку sed
создает текст, все, что может читать текст, может использовать вывод из sed
. Текст очень универсален (есть некоторые исключения из этого), и очень легко комбинировать эти типы вещей вместе.
Мало того, что их легко объединить, но и очень легко разделить их - если я решу, что мне больше не нужно редактировать поток, но я хочу отфильтровать результаты, а не передавать свой текст sed
, я могу передать это grep
вместо.
Теперь, это фундаментальная философия разработки в среде Linux - поэтому, даже если вы идете оттуда, многие инструменты предоставляют схожие интерфейсы. Они позволяют вам разбивать их на части или взаимодействовать с ними через командную строку или порты или HTTP.
И даже если бы это было не так, у вас также есть программное обеспечение с открытым исходным кодом. Большая часть (если не все) программного обеспечения на платформе Linux имеет открытый исходный код. Так что, если вам не нравится, как это написано, вы полностью, абсолютно, абсолютно способны изменить программное обеспечение самостоятельно. Это невероятно расширяет возможности. Не можете разбить эту IDE так, как вы хотите? Либо внесите изменения и отправьте их обратно в апстрим, либо разветвите проект. Не уверен, почему что-то ведет себя так, как это происходит? Используйте источник, Люк! Нужно уметь что-то автоматизировать через командную строку? Взломайте проект и внесите свои изменения. Обнаружили ошибку или проблему безопасности? Эй, угадайте, что - вы можете это исправить самостоятельно, вам не нужно ждать появления SP3.432vb89234.startdate1eQ.
Вы можете комбинировать инструменты, которые вы хотите, и вам нужно. И если на вашем пути есть что-то, вы можете изменить это на 100%. Даже если у вас нет такой возможности, вы, безусловно, можете заплатить кому-то за разработку этого изменения - или даже предложить его кому-то еще, у кого есть ноу-хау.
Причина, по которой это лучше для программирования, заключается в том, что когда вы сталкиваетесь с трениями , вы можете исключить это из своего рабочего процесса. Поскольку разработка сложна, есть много вещей, о которых вы должны подумать, чтобы стать успешным программистом, и чем больше вы должны думать о том, чем сложнее думать о других вещах .
Устранение трения является ключевым.
Так что, если религия экосистемы Microsoft - это то, где вы чувствуете себя как дома, и вам настолько нравятся эти инструменты, что они не доставляют вам больших / каких-либо трений ... ну, тогда, вероятно, это просто прекрасно.
Но если вам не подходит Microsoft Mold (tm), заявка на патент подана, то вы столкнетесь с трениями. Развитие будет болью. Каждый раз, когда вы хотите что-то сделать, но не можете, это истощит драгоценные когнитивные ресурсы. И если это так, то среда разработки Linux, вероятно, для вас.
vim
по своему вкусу. Это очень субъективная область! Однако многие люди используют IDE в Linux, поэтому вы объединяете несколько вещей здесь.