Модераторы: xvr

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему так нужны разработчики под Linux? попытка понять, а не холивара ради 
:(
    Опции темы
EvilsInterrupt
Дата 5.5.2013, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Считаю себя разработчиком под Windows. За прошедший апрель ко мне позвонило 3 HR-рекрутера с вопросом могу ли я разрабатывать под Linux на C++? За год таких вопросов было не мало.

Поэтому и возник: Что толкает работодателей искать разработчиков под Linux? Мне кажется это коммерчески не выгодно.

Причина непонимания кроется в том, что считаю и думаю что хорошим разработчиком среднего уровня под Linux стать сложнее, чем под Windows! 

Прежде чем человек станет уверенным пользователем Linux проходит не менее 1-1.5 года, а под windows этот срок значительно ниже!

Прежде чем человек начинает программировать под Linux скажем на уровне "среднячка" пройдет 2-2.5 года, а под Windows это время тоже меньше 1-2 года.

Если любой программный проект требует поддержки, то с точки зрения бизнеса время поиска программиста иногда идет на дни, иначе конкуренты задавят. Найти же хорошего программера среднего уровня под Linux значительно сложнее чем под Windows , вот и возникает мое непонимание : зачем же начинаеть проект писать под Linux?
PM MAIL WWW ICQ Jabber   Вверх
Qu1nt
Дата 5.5.2013, 13:09 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: нет
Всего: 50



Цифры взяты с потолка, а Qt/boost и вовсе делают разработку платформонезависимой.
PM MAIL   Вверх
EvilsInterrupt
Дата 5.5.2013, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Qu1nt
Не следует начинать разговор с грубости! Не с потолка, а из головы.

Года 4 назад я визжал от восторга когда начал осваивать FreeBSD и произошел у меня диалог с одним из программистов, которому не важно что за система. За его плечами область разработки модулей ядра Linux, FreeBSD и OS X. Спустя время начал ему задавать вопрос: "А чего не запилишь проект под FreeBSD?". На что услышал : "Ты когда реально на практике касаешься организации, а не на обсуждениях на форуме, тогда и понимаешь что все это оооочень не просто".
В тот момент я не поверил его словам и подумал, что он не достаточно хорошо искал. Но недавно задумался, а почему одна из компаний из которой мне звонили до сих пор в течении 5 месяцев не закрыли вакансию Linux разработчика? Вакансия только для одного специалиста. Условия вкусные и зарплату от 120 и по результатам испыт. срока.

Вот и вспомнился разговор с этим моим знакомым, да и все эти звонки с вопросами.

PM MAIL WWW ICQ Jabber   Вверх
Amp
Дата 5.5.2013, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: нет
Всего: 17



Цитата(EvilsInterrupt @  5.5.2013,  13:18 Найти цитируемый пост)
Не с потолка, а из головы.

Мне тоже непонятны цифры. Возникает вопросы. Кто такой уверенный пользователь и средний программист, что они умеют? Почему под Linux начинающий программист потратит больше времени на освоение C++? Из-за дополнительного объема специфических знаний (тут без уточнения области разработки не ответить)? Из-за отсутствия инструментария уровня Visual Studio? Из-за ограниченного красноглазого комьюнити? Плохой документации? Отсутствия нужных библиотек, всяких прочих плюшек?

Если бы речь шла не конкретно о C++, то я бы согласился с тем, что порог вхождения в разработку под Windows несколько ниже и человек быстрее осваивается благодаря отличным технологиям, документации, средствам разработки и нечужеродности окружения. Но C++, на мой взгляд, дается людям непросто везде. 

Цитата(EvilsInterrupt @  5.5.2013,  12:24 Найти цитируемый пост)
 Найти же хорошего программера среднего уровня под Linux значительно сложнее чем под Windows , вот и возникает мое непонимание : зачем же начинаеть проект писать под Linux? 

Шутливая аналогия - а зачем начинать писать проекты на C++, если найти хорошего C++ программиста среднего уровня значительно сложнее, чем на C# или Java? smile 
PM MAIL   Вверх
NoviceF
Дата 5.5.2013, 16:02 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 13.3.2012
Где: Ростов-на-Дону

Репутация: нет
Всего: 2



есть мнение, что линукс можно вполне успешно использовать в качестве embedded системы для определённого круга устройств и он способен в определённых условиях быть привлекательнее QNX и windows embedded ("и самое главное - он бесплатный"). Так что линукс это не только ценный мех smile)

Это сообщение отредактировал(а) NoviceF - 5.5.2013, 16:04
PM MAIL   Вверх
Farmazon
Дата 5.5.2013, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Разработчик
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 7.7.2006

Репутация: нет
Всего: 5



Цитата

Поэтому и возник: Что толкает работодателей искать разработчиков под Linux? Мне кажется это коммерчески не выгодно.

Не все задачи возможно легко решить на Windows... некоторые проще на linux решать, это открытая unix-подобная система, дорогого стоит.

Цитата

Причина непонимания кроется в том, что считаю и думаю что хорошим разработчиком среднего уровня под Linux стать сложнее, чем под Windows! 

Я писал ПО как для Linux, так и для Windows и не разделяю вашу точку зрения. Я считаю что для Linux разработка ПО не сложнее, а даже в какой-то мере проще... попробуйте сами, слишком долго объяснять.)

Цитата

Прежде чем человек станет уверенным пользователем Linux проходит не менее 1-1.5 года, а под windows этот срок значительно ниже!

Метанация. Сроки соспоставимы. Но распространение windows на десктопах больше, кто с этим поспорит... Потому и некоторого ПО на Linux не хватает(гори в аду Adobe). И это зачастую вынуждает его использовать (приходится как минимум виртуалку с ней у себя держать для тестирования).

Цитата

Прежде чем человек начинает программировать под Linux скажем на уровне "среднячка" пройдет 2-2.5 года, а под Windows это время тоже меньше 1-2 года.

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

Цитата

Если любой программный проект требует поддержки, то с точки зрения бизнеса время поиска программиста иногда идет на дни, иначе конкуренты задавят. Найти же хорошего программера среднего уровня под Linux значительно сложнее чем под Windows , вот и возникает мое непонимание : зачем же начинаеть проект писать под Linux?

Иногда заменяемостью кадров можно пожертвовать в пользу других качеств разрабатываемой системы. Некоторые задачи порой очень сложно решить с помощью Windows. Вот, к примеру, попробуйте запрограммировать систему равномерного распределения сетевого траффика между пользователями сети на 2-10к пользователей, с логгированием, равномерной загрузкой каналов и прочим на Windows... 


--------------------
Таково моё общее мнение.
PM MAIL WWW   Вверх
EvilsInterrupt
Дата 5.5.2013, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



Цитата

Мне тоже непонятны цифры. Возникает вопросы. Кто такой уверенный пользователь и средний программист, что они умеют?

Хорошо. Возьмем и напишем три символа в поиске мойкруг.ру "C++" во вкладке работа. Найдем эту вакансию и вот эту. Одному платят больше, а другому меньше. Почему? Потому что уровни знаний и опыта разные. Так определяются "серьезный" и "средний". Любой программист, прежде всего пользователь компьютера. Только набор используемых программ у него значительно шире чем у любого "бухгалтера". Это я обобщено, исключений типа "всякие бухи бывают" я не учитываю smile

Цитата

Метанация. Сроки соспоставимы. Но распространение windows на десктопах больше, кто с этим поспорит...

Отнюдь не сей процесс, что Вы упомянули. smile Я о том и говорю, в виду распространенности многие предпочитают не заморачиваться и продолжают используя Windows изучать еще и дебри C++. Вот сейчас если встанет выбор между двумя одинаковыми зарплатами по разработке под Linux или Windows, я предпочту второй выбор. По одной простой причине Время! Не видно никаких причин осваивать новую систему, если за текущую платят и достаточно много вакансий.


Мне просто очень интересно стало, почему за прошедший год стало больше вопросов про Linux?! Может мне все-таки стоит его осваивать. Я к тому что не хочется потом оказаться в числе догоняющих, если прозевал какой-либо момент )

Добавлено через 2 минуты и 57 секунд
Цитата(Farmazon @  5.5.2013,  17:27 Найти цитируемый пост)
Не все задачи возможно легко решить на Windows... некоторые проще на linux решать, это открытая unix-подобная система, дорогого стоит.

Вот и хочу примеры, примеры взятые из практики реальных Linux-разработчиков, а не надуманные взятые с потолка. Мне хочется знать реальные примеры когда решение с Linux действительно лучше чем решение с Windows
PM MAIL WWW ICQ Jabber   Вверх
Фантом
Дата 5.5.2013, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 1
Всего: 49



Цитата(EvilsInterrupt @  5.5.2013,  13:24 Найти цитируемый пост)

Поэтому и возник: Что толкает работодателей искать разработчиков под Linux? Мне кажется это коммерчески не выгодно.

Коммерческого софта под Linux достаточно много, причем в этом случае он, как правило, дорогостоящий. Так что смысл в этом есть.


Цитата(EvilsInterrupt @  5.5.2013,  13:24 Найти цитируемый пост)

Причина непонимания кроется в том, что считаю и думаю что хорошим разработчиком среднего уровня под Linux стать сложнее, чем под Windows! 

У Вас противоречие в условиях.  Дело в том, что "хороший разработчик" и "разработчик среднего уровня" - это немного разные люди. smile 

При этом разработчиком среднего уровня стать проще под Windows. Хорошим разработчиком - под Linux. Первое объясняется тем, что в массовой разработке под Windows зайдействовано весьма много весьма слабых программистов, поэтому достичь соответствующего уровня относительно легко. Второе - тем, что Linux (вернее, вообще все *nix) существенно удобнее для разработки, и писать качественный код под Linux технически проще.

Цитата(EvilsInterrupt @  5.5.2013,  13:24 Найти цитируемый пост)

Прежде чем человек станет уверенным пользователем Linux проходит не менее 1-1.5 года, а под windows этот срок значительно ниже!

Это опять смесь теплого с мягким. Под "уверенным пользователем Windows" обычно принято понимать человека, который, скажем так, умеет пользоваться "Проводником" и создавать ярлыки для запуска программ. Для того, чтобы достичь такого же уровня в обращении с каким-нибудь DE под Linux, требуется ровно такое же время и усилия. Под "уверенным пользователем Linux" принято понимать человека, который может существенно больше, это действительно посложнее, но и освоение работы в Windows на том же уровне (умение писать CMD- и PowerShell-скрипты, способность настроить несложный сервер и т.п.) также мгновенным не будет (и, пожалуй, займет даже больше времени, чем в случае с Linux).

Цитата(EvilsInterrupt @  5.5.2013,  13:24 Найти цитируемый пост)

Прежде чем человек начинает программировать под Linux скажем на уровне "среднячка" пройдет 2-2.5 года, а под Windows это время тоже меньше 1-2 года.

О "середнячках" я уже писал, а если брать для сравнения примерно одинаковый (и достаточно высокий) уровень возможностей, то под Linux достичь его получится, наоборот, быстрее, чем под Windows. 

Цитата(EvilsInterrupt @  5.5.2013,  13:24 Найти цитируемый пост)
Если любой программный проект требует поддержки, то с точки зрения бизнеса время поиска программиста иногда идет на дни, иначе конкуренты задавят. Найти же хорошего программера среднего уровня под Linux значительно сложнее чем под Windows , вот и возникает мое непонимание : зачем же начинаеть проект писать под Linux?

А тут возникает вопрос, что критичнее - взаимозаменяемость кодеров и "счет на дни" или что-то другое. Отсюда и результат: для массовой разработки сравнительно несложного софта Windows действительно предпочтительнее, поскольку и покупателей больше, и организовать работу проще. Однако далеко не весь разрабатываемый софт является массовым и несложным.
PM   Вверх
Farmazon
Дата 5.5.2013, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Разработчик
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 7.7.2006

Репутация: нет
Всего: 5



Вот те пример: разработка системы контроля доступа к сети, распределения и учёта траффика для 2к пользователей, с обеспечением равномерной загрузки внешних каналов траффика и приближённо "справедивым" распределением траффика между активными пользователями. Плюс добавьте группу привилегированных пользователей с приоритетным траффиком.

Linux: разработка заняла 2 недели(2 человека) плюс 2 недели доводки(1 человек)... ну где-то 1.5 человекомесяца. Разработку вели 2 студента третьекурсника. В качестве железки используется сервер на базе Xeon 5xxx (SCSI винт и память DDR400 6 га) с 2мя гигабитными интелловскими интерфейсами, нагрузка создаваемая системой на железо менее 20%.

Сколько вы это будете ваять на Windows и каких людей придётся задействовать?... Какое потребуется оборудование и ПО, какова его будет стоимость? дайте оптимистичный прогноз.


--------------------
Таково моё общее мнение.
PM MAIL WWW   Вверх
fish9370
Дата 6.5.2013, 10:09 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 2
Всего: 1



какой провакационный вопрос

а я задаю себе часто вопрос - а зачем нужны программисты под виндоуз? - они же такие бездари-недоучки

вот и выходит дилемма, кому они нужны?

P.S. не холливора ради, исключительно чтобы понять..


--------------------
undefined
PM MAIL WWW ICQ   Вверх
borisbn
Дата 6.5.2013, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: нет
Всего: 135



Цитата(Фантом @  5.5.2013,  17:39 Найти цитируемый пост)
Второе - тем, что Linux (вернее, вообще все *nix) существенно удобнее для разработки, и писать качественный код под Linux технически проще


Цитата(Фантом @  5.5.2013,  17:39 Найти цитируемый пост)
если брать для сравнения примерно одинаковый (и достаточно высокий) уровень возможностей, то под Linux достичь его получится, наоборот, быстрее, чем под Windows.


Вот много раз видел такого рода утверждения, и никак не могу понять - почему ??? Откуда такая безапелляционность ?
У Linux лучше комьюнити ? Ни разу. Максимум сравнимо.
В Linux удобнее среды разработки ? Если бы не Creator, то тут и сравнивать нечего (желающих объяснить, что отладка из командной строки gdb удобнее, чем встроенный в IDE отладчик, прошу не беспокоить).

...

Мне приходится программировать как в Windows (бОльшая часть проектов), так и в Linux. Лично мне существенно удобнее первое. Да... скорее всего, из-за привычки. Но и в тех, кто говорят, что Linux удобнее, срабатывает привычка. Разве нет ?

Это сообщение отредактировал(а) borisbn - 6.5.2013, 10:45


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Amp
Дата 6.5.2013, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: нет
Всего: 17



Цитата(borisbn @  6.5.2013,  10:43 Найти цитируемый пост)
Но и в тех, кто говорят, что Linux удобнее, срабатывает привычка. Разве нет ?

В определенных мелких аспектах. Development environment (git/ssh/gcc/системы сборки) настраивается в пару кликов. Например понадобилась мне определенная libraryname для моей программы. Что я сделаю в Windows? Скачаю исходники, качну cmake (если он у меня до этого не стоял), пропишу пути к cmake в %PATH%, запущу все это хозяйство на сборку и будет здорово, если оно сразу соберется. В Linux я запущу пакетный менеджер и просто поставлю libraryname-devel. Не говоря уже о работе тех же встроенных cmake скриптов (FindXXX.cmake) под Windows и под Linux - в первом случае их приходится чуть ли не носом, через переменные окружения, тыкать в пути к библиотеке.

Естественно это практически не играет роли в больших проектах. Но изначальное впечатление удобства, легкости и быстрого старта остается надолго. 
PM MAIL   Вверх
Фантом
Дата 6.5.2013, 12:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 1
Всего: 49



Цитата(borisbn @  6.5.2013,  11:43 Найти цитируемый пост)

Вот много раз видел такого рода утверждения, и никак не могу понять - почему ??? 


Хм... ну, само собой, это все тоже личное мнение, но тем не менее.

В Linux существенно более простые и логичные API, структура которых зачастую вырабатывалась десятилетиями. Есть полный доступ не только к документации, но и к исходникам системы, практически исключающий возможность наступить на замаскированные грабли. Почти нет проблем, связанных с обратной совместимостью (вернее, ее отсутствием). Намного лучше унифицированы методы обмена данными между разнородными приложениями, причем соответствующие технологии также стабильны и не меняются раз в несколько лет.

Цитата(borisbn @  6.5.2013,  11:43 Найти цитируемый пост)
В Linux удобнее среды разработки ? Если бы не Creator, то тут и сравнивать нечего (желающих объяснить, что отладка из командной строки gdb удобнее, чем встроенный в IDE отладчик, прошу не беспокоить).

Да, удобнее. Вернее, сама консоль *sh с утилитами - эффективнейшая среда разработки. И, да, gdb таки удобнее. smile

Цитата(borisbn @  6.5.2013,  11:43 Найти цитируемый пост)

Мне приходится программировать как в Windows (бОльшая часть проектов), так и в Linux. Лично мне существенно удобнее первое. Да... скорее всего, из-за привычки. Но и в тех, кто говорят, что Linux удобнее, срабатывает привычка. Разве нет ?

Возможно. Но, судя по тому, что Вы писали выше, под Linux Вы работаете тоже в стиле Windows, а использование "чужеродных" методов работы всегда менее эффективно.
PM   Вверх
borisbn
Дата 6.5.2013, 12:51 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: нет
Всего: 135



Цитата(Amp @  6.5.2013,  12:09 Найти цитируемый пост)
Например понадобилась мне определенная libraryname для моей программы.

Цитата(Amp @  6.5.2013,  12:09 Найти цитируемый пост)
В Linux я запущу пакетный менеджер и просто поставлю libraryname-devel.

Лично для меня это было адом в линуксе без интернета (ну... вот такая специфика).

Цитата(Amp @  6.5.2013,  12:09 Найти цитируемый пост)
Что я сделаю в Windows? Скачаю исходники, качну cmake (если он у меня до этого не стоял), пропишу пути к cmake в %PATH%, запущу все это хозяйство на сборку и будет здорово, если оно сразу соберется.

Вот всегда вы пытаетесь сделать сложнее то, что можно сделать проще. Что я сделаю по Windows ? Скачаю этот пакет (заметьте - со всеми зависимостями внутри), установлю в полтора клика студию (опять же, если её раньше не было), открою *.sln и нажму F7.


Цитата(Фантом @  6.5.2013,  12:13 Найти цитируемый пост)
Почти нет проблем, связанных с обратной совместимостью (вернее, ее отсутствием). 

ну как же... "такой-то пакет требует libc версии 6.1.14.55, а у вас установлен 6.1.13.42"...

Цитата(Фантом @  6.5.2013,  12:13 Найти цитируемый пост)
 под Linux Вы работаете тоже в стиле Windows, а использование "чужеродных" методов работы всегда менее эффективно

ну... да... не без того. x11vnc дико тормозит, а просто vnc вообще работает так, что впечатление, что его вообще не проверяли.

Ладно, господа, давайте завязывать. Судя по всему мы в любом случае останемся при своих мнениях, а конструктивных замечаний кроме того, что в линуксе API не меняется много лет всё равно нет (((

P.S. Поверьте, я не холиварю. Я, также как и ТС, хотел понять, чем линукс привлекательнее для программиста и пользователя. То, что он удобнее для сисадмина, я уже понял.


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
fish9370
Дата 6.5.2013, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 2
Всего: 1



Цитата(Фантом @  6.5.2013,  12:13 Найти цитируемый пост)
Да, удобнее. Вернее, сама консоль *sh с утилитами - эффективнейшая среда разработки. И, да, gdb таки удобнее.


а ты пользуешься gdb-шником в чистом виде? не через cgdb?


--------------------
undefined
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.1515 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.