Проще и быстрее самому собрать из исходников под линукс - есть rvm, python собрать вообще элементарно. Проще обновлять, только вышел новый руби - и через 10 минут у тебя уже эта версия стоит в системе. В этом плане «преимущества». А для вин руби до недавнего времени собирали раз в месяц-два.
Также есть всякие роллинг дистрибутивы типа арча - где всё новенькое выходит буквально через день после релиза - очень радует нетерпеливых :)
В debian и ubuntu для таких фишек придётся искать и подключать внешние репозитории, которые обычно хостят сами разработчики, например, node.js, java jdk...
Ээээ, а можно пример пакета для pip, который при установке через него хочет что-то скомпилировать? Для виндоус, конечно, там своя особенная подборка пакетов для pip, возможно, чего-то не хватает.
На сайте pillow пишут, что для windows они предоставляют собранные бинарники «in both 32 amd 64-bit versions in wheel, egg» и сразу для установки указывают команду pip install Pillow. Или это не то? С другой стороны, может их бинарник что-то может не поддерживать.
понятия не имею, я последний раз винду видел тогда, когда никаких пипов ещё не было, наверное :) вопрос был *что компилируется?*. но, точно помню, что на форумах про pil от виндузятников были постоянные жалобы *нимогусобратьойойой*
Это бред. Веб разработка ведется в IDE, которая собирает все нужное. Тестирование происходит в броузерах, независимых от платформы. Тоесть к ОС веб разработка не привязана вообще никак.
Сугубо личное имхо. Начиная с некоторого, не слишком высокого уровня владения линуксом, в нем удобнее становится ВСЁ. В том числе и вебдев. Есть, конечно, специфические задачи, решаемые только win-only софтом. Но здесь речь не о них.
Да, можно в винде поставить и настроить всё необходимое. Вот только она этому никак не способствует. Ибо основное ее предназначение — платформа для больших, самостоятельных коммерческих пакетов, которые часто не предполагают взаимодействия с чем-либо еще.
Свободный же софт, взрощенный в среде Unix, следуют Unix-way. Много маленьких программ для всего, легко взаимодействующих друг с другом. Установить всё нужное в винде — целый квест. Посетить десяток сайтов, скачать, поставить и придумать, как бы это всё подружить, да еще и обновлять периодически. В линукс же все работает буквально после одной команды.
ни в чём, разработка происходит в IDE, у нормальных разработчиков dev environment изолирован от рабочего и сидит в виртуальной машине или контейнере (контейнер легче, вот оно преимущество Linux), в vagrant и virtualbox и ище с ними работают одинаково, что на винде, что на Linux, что на MacOS.
Для «не нормальных» разработчиков, которые девопят там же где и «живут», Linux может быть удобнее, так как зачастую production тоже Linux. Но скорее такой подход изврат, чем девелопинг под винду.
Выбор оси вопрос удобства, я пробовал MacOS, вроде бы всё хорошо, но по мелочам напрягает, в винде не могу смерится с багами и вечной самостоятельной перезагрузкой для установки обновлении, пожиранием проца неизвестно чем, и меньшей жизнью от батарейки ноута, под Linux мне хорошо, если всё железо совместимо.
Вот часто слышу что ruby/python писать под винду изврат, но непонятно почему, хотя про php ничего такого не слышал
В проектах на руби используются библиотеки, написанные с использованием расширений на Си, стало быть эти расширения надо скомпилировать, что на венде сделать очень проблематично, да и не факт, что оно будет потом работать. Многие либы собираются для того, чтобы подключить к руби-проекту какой-нибудь софт из мира юникс и тогда на венде это просто в принципе работать не будет. Вот и причина. А ПХП - просто шаблонизатор, если он сам скомпилялся - все, можно юзать
Некоторые платформенные различия можно почувствовать. Например банальщина: на винде вроде как нет того же SIGHUP, если веб приложению в виде демона нужно будет перечитать конфиг и т.д. нужно будет его полностью перезапустить или или.
венду само-по себе юзать адъ и мучение, а ты хочешь на нем еще программировать. Конечно это изврат. Юзаю линукс, стоит python, ruby и php. всё работает как надо, обновляется хорошо, яп и конфиги друг-друга не кусают. Вообще я сервера на венде не поднимала.
На самом деле зависит от знания платформы. А в линуксе овладеешь консолью и всё, ты бог и царь своей системы =D
В венде примерно в пару кликов всё делается, в том числе установка и обновление любого софта 1 командой. В том числе это касается гнутого окружения. Так что можно ещё поспорить, где проще.
На винду всё делают в последнюю очередь. Разработчикам она не интересна. Большую часть свободного софта пишут под униксами, портировать на вин многим влом.
Вон даже Swift так и не вышел под винду. Clang тоже еле шевелится. И тд. Не для разрабов она.
Ну в эпоху виртуалок такие вопросы странно задавать. Но отмечу следующие факты: Большая часть моих знакомых kernel-ковырятелей сидят под виндой. Также многие считают, что под винду разрабатывать удобнее, так как окружение более стабильно (мало что есть по умолчанию), ставишь одним кликом весь бандл для Django вместе с базами, GNU-окружением и web-сервером и разрабатываешь, результат легко деплоится, и не нужно включать мозг по поводу настроек и как что поднять.
Также многие конторы, разрабатывающие только под Linux
делают это ис-под винды. И еще можно почитать документацию по солидным девкитам, где целевая платформа - Linux, там вариант Linux на хосте даже не рассматривается, но дадут виртуалку или coLinux для сборки ядра. Просто период корпоративного фанатизма прошел, а обычным разрабам 8-17 больше нравится винда. Понятное дело, что это просто от нежелания изучать платформу, но если спрашивать «винда уже есть, достаточно ли её для задачи?» ответ «да», и «будет ли разработка более эффективной, если я перейду на GNU/Linux» ответ «скорее нет чем да» так как привычки и мелкие неудобства. Ведь всегда можно использовать сервер разработки для Linux-специфичных задач, или виртуалку. Так как «использование Linux по ssh» и «использование Linux в качестве десктопа» это 2 разных мало пересекающихся experience'а.
Даже те же самые Desktop-приложения в винде часто выглядят лучше и работают побыстрее. Например, использование Eclipse под Linux - это много боли.
Но если ностальгия по винде не мучает и использовать более родные инструменты, прокачать скиллы X11, научиться использовать среду эффективно - получается неплохо.
Но людей на видне часто держит отсутствие мелких фишек софта,
удобств, которые они научились ловко использовать и без которых они чувствуют себя очень некомфортно. Недавний пример - знакомый разраб с большим стажем девелопит под embedded Linux (портирует ядро и u-boot на железки), на десктопе признает только винду, хотя пробовал сидеть на Linux с полгода. Продвинутый пользователь Linux по ssh, просто маг по командной строке, очень быстро клепает однострочники там, где мне нужен midnight commander, когда его спросил, что его держит на винде, это же должно быть неудобно, он мне ответил, что держит много всего, и практически везде есть нюанс. В качестве примера показал teraterm - ваяешь скрипт, и железка полностью прошивается в production. И таких скриптов у него вагон. Заменить это под Linux он не смог - и на chat'е
и на expect'e то же самое сделать не удалось. А глобально что-то писать ему не хотелось. Да и вообще - человек
научился эфеективно работать под виндой, совсем не факт, что ему удастся так же эффективно работать под GNU/Linux. Тут каждому своё.
Ну по моему опыту соместной разработки это так.
По факту впервые работаю в конторе, где Linux у всех разрабов,
а винда только виртуальная (некоторые .pdf можно смотреть только из-под винды из-за защиты, плюс некоторые странные VPN, по подключению из Linux помочь никто не может).
Питоньих разрабов встречал как линуксовых (embedded web) так и виндовых (django).
Так что когда среди всего этого работаешь ис-под Linux'а невольно ощущаешь себя неполноценно,
так как тратишь солидное время на разруливание проблем совместимости. Хотя разработка чисто линуксовая. Проблемы часто возникают на ровном месте из-за того, что все считают что у тебя винда, морочиться никто не хочет.
Приходится всё разгребать самому. Иногда есть понимание на другой стороне - иногда нет. Часто эти трудности обмена/совместимости сводят в 0 всю эффективность непосредственно работы.
Если бы я знал винду на том же уровне, на котором знаю Linux я
бы наверное чаще сидел под виндой, чем на Linux'е. В моём случае эффективность под Linux выше. В текущем месте созданы все условия для минимализации проблем совместимости, но они таки возникают. Хотя времена изменились, кросс-платформенные технологии вытеснили много корпоративного шлака, но всё ещё много странного.
Часто бывает технология кросс-платформенная, поддержка Linux заявлена, но под виндой работает в 1 клик,
а под Linux надо полдня потратить и замучать техподдержку.
Этот весь оверхед часто перевешивает по времени полезную работу. То есть под виндой ты бы потратил на работу час, под Linux - 5 минут. Но ты потратил под Linux ещё полдня, чтобы настроить VPN до нужного гита. Соответственно эффективность никакая. Я вот про это пытаюсь сказать. Надеюсь теперь понятно.
Для pip, да, pycurl нет, есть установщик. Обычно для винды сборки полу-/ не-официальные. А собирать не так удобно, так как заранее окружение настраивать дольше.
лучше понять что недостатков практически нет, только иногда нужно тестировать под виндой ишаком, рисовать фотошопом, еще кому то офисы нужны, а так в линуксе все необходимое нативно