Привет всем сишникам! В первую очередь тем которые труъ и которые ANSI. провел тут давеча масштабный опрос на тему: сколько строк вы пишите за день (в среднем)? Поскольку опрос проходил в стихийной обстановке неформальной попойки, то обсуждение было бурным и суровым. Мы мужественно пили, ожесточенно спорили и непрерывно калькулировали на салфетках. В итоге пришли к мнению, что если брать полный цикл разработки от идеи до модели (летающей), то получается где-то по 3 строки в день.
Учитывая, что зарплата у сишников начинается от $10k ~ $15k в месяц (и там же и заканчивается), то в первом приближении мы имеем $169 за строку, а при средней длине строки в 30 символов (зависит от форматирования, конечно, но все равно это очень грубый результат), получается $6 баксов за одну нажатую клавишу. Или $3 за нажатую, а $3 за отпущенную.
А теперь, внимание вопрос залу: а сколько клавиш вы в среднем нажимаете за одну минуту? Вопрос, конечно, интересный и главное легко проверяемый. Благо ноуты под рукой имеются. После небольшого эксперимента мы сошлись на цифре 300 символов/min. У меня правда получилось всего двести с хвостиком, но суть не в этом.
Теперь берем цену за одну нажатую клавишу, множим ее на скорость набора и получаем астрономическую цифирь. Если бы программисты были не дятелы (в хорошем смысле этого слова), то получали бы пол-лимона баксов за 6ти часовой рабочий день, т.е. 16 лимонов в месяц или миллиард за три года непрырывного стука по клавишам.
Шутка, конечно, но это хороший пример того, что у сишников (в R&D) производительность труда строками никак не меряется и тот, кто три дня медитирует, а потом пишет рабочий код из девяти строк, зачастую получает больше индуса, настрогавшего за это же время тысячу строк в которых три тысячи багов.
А вообще интересно, что среди моих коллег чистым кодингом никто не занимается. Чистый кодинг аутсорсивается в китай. А тут в штатах основное время уходит на постановку задачи, поиск решения, создание ядра системы, переговоры с начальством, обучение манагеров по продажам (чтобы знали что они продают), кстати, попутно меня поразило что у манагера по продажам на столе книга по ида и по реверсингу. И она уже изрядно зачитанная, то есть не просто лежит для виду.
Глупость вообще это меняться количеством строк, написанных в единицу времени. Хотя выше была речь только про сишников, а тут своя специфика. На сях обычно решаются довольно нетривиальные задачи, потому как все остальное уже решено и на фига изобретать велосипед. Даже если задача более или менее понятная и решение уже как бы известно, все равно — на непосредственную набивку текста уходит лишь маленькая толика времени. Грубо говоря за N времени готова плотная версия, а за 10*N ~ 100*N мы наконец довели ее до того состояния, когда она реально взлетела.
Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.
ЗЫ. Ну а то, что пиковая производительность (у сишиника) порой доходит до пары килострок в день (без копипастинга) ну так это ж понятно. Не за то сейчас речь.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re: # еще раз: сколько стоит одна строка кода на си?
М>Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.
автогенеренные строки считать?
Re[2]: # еще раз: сколько стоит одна строка кода на си?
М>>Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.
e_k>автогенеренные строки считать?
могучий вопрос. мы тут с товарищами никак не можем прийти к соглашению о кошерности автокомпита. тут кстати и другой вопрос. допустим, мне нужен драйвер. допустим, драйвер не сильно сложный и чтобы не писать его с нуля я беру готовый из DDK и точу его под свои нужды. как считать кол-во строк в этом случае? и главное зачем? собственно пост выше это идея подсчета строк доведенная до абсурда. хотя, насколько я в курсе, в некоторых фирмах кол-во строк является чуть ли не решающим фактором, определяющим степнь вклада и вовлеченности в проект. ужос.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re: # еще раз: сколько стоит одна строка кода на си?
Здравствуйте, мыщъх, Вы писали:
М>...сколько у вас выходит строк в среднем...
Когда-то считал, выходило до 400-500 в день, если задача была ясна и понятна. Но это с++.
Re: # еще раз: сколько стоит одна строка кода на си?
Здравствуйте, catBasilio, Вы писали:
B>Здравствуйте, мыщъх, Вы писали:
М>>Учитывая, что зарплата у сишников начинается от $10k ~ $15k в месяц (и там же
B>А можно подробнее это где такая зарплата у сишников?
и в россии в том числе. но это до уплаты налогов. после уплаты останется от $8k.
в штатах в калифорнии мои коллеги получают ~$135k годовых. в dc (на другом побережье) ~$170k
средний возраст моих сишных коллег лет сорок будет. так что тут еще нужно делать "наценку" на опыт, стаж и проч. средняя зараплата чистых сишников выше чем плюсовиков потому что среди сишников намного более выскоий процент сильных программистов. ну потому как очень странно если современный студент укажет в резюме: C89, C99 и после этого поставит жирную точку. типа список кончился
кстати, как правило кол-во перечисленных языков и технологий обратно пропорционально реальным навыкам
ЗЫ. если что, то я реверсер и программирую как умею.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: # еще раз: сколько стоит одна строка кода на си?
Здравствуйте, мыщъх, Вы писали:
М>>>Учитывая, что зарплата у сишников начинается от $10k ~ $15k в месяц (и там же
B>>А можно подробнее это где такая зарплата у сишников? М>и в россии в том числе. но это до уплаты налогов. после уплаты останется от $8k.
8K * 30 = 240 тыщ в месяц?
Что-то я явно пропустил в этой жизни... Я знаю достаточно много не побоюсь этого слова — гениальных сишников, которые работают в двух столицах, уважаемые люди, и получают они, тем не менее, не более сотни.
Теперь по теме:
За три года работы в одной крупной компании, я написал ~5 KLOC, но это — с учетом серьезного Процесса, соблюдением всех дисциплин и т.п.
Значит, незатейливая калькуляция показывает ~10$ / LOC. Неплохо!
С другой стороны, за тот же период, я написал несколько программ "для себя", суммарным объемом ~20 KLOC. Здесь стоимость LOC = 0$.
С третьей стороны, я помог вскрыть одну платную гадину, заменив три команды ассемблера. Стоимость двойного слова составила ~300$.
Помните тот анекдот, про механика? "1 бакс я взял за удар молотком, и 999 баксов за то, что знал куда ударить".
С уважением.
Re[3]: # еще раз: сколько стоит одна строка кода на си?
Здравствуйте, мыщъх, Вы писали:
М>Здравствуйте, e_k, Вы писали:
М>>>Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.
e_k>>автогенеренные строки считать? М>могучий вопрос. мы тут с товарищами никак не можем прийти к соглашению о кошерности автокомпита.
Еще один могучий вопрос — нужно ли учитывать строки комментариев ? Мое мнение — обязательно надо учитывать.
Re[3]: # еще раз: сколько стоит одна строка кода на си?
М>>>Учитывая, что зарплата у сишников начинается от $10k ~ $15k в месяц (и там же
B>>А можно подробнее это где такая зарплата у сишников? М>и в россии в том числе. но это до уплаты налогов. после уплаты останется от $8k.
М>в штатах в калифорнии мои коллеги получают ~$135k годовых. в dc (на другом побережье) ~$170k
ну все, после ваших сумм у многих произошел выброс моска с последующим переучиваением на С, сразу поплыли картины Калифорнии с райском пляжем, горячей девушки рядом, ноута и банкомата с баксами.
зы: а если по делу, то писать на сях, это надо недюженной выдержкой обладать, т.к. любое элементарное действие выплывает в тонны кода...
Пробовал считать статистику по часам. У меня получалось 3 строки в человеко-час и 10 строк в час (на двух разных проектах). Это код который пошел в продукт.
Это С++, CAD, геометрия за 6-й класс...
Проекты обычно на 80% состояли из исследований. Строки/время общие, без выделения фазы "кодинга".
Пришел к выводу, что "10 строк в час" в принципе адекватная цифра. Только непригодна для того, чтобы делать орг. выводы по поводу их автора. Чем сложнее работа, тем меньше строк/час, но больше пользы для потребителя.
Re: # еще раз: сколько стоит одна строка кода на си?
некоторые люди признают эту метрику бессмысленной.
Отчасти из-за того, что она подменяет внутреннюю мотивацию внешней (знаю со слов знакомого бизнесмена).
Re: # еще раз: сколько стоит одна строка кода на си?
Не скажу за Cи, но в C++ если правильно наследоваться и вовсю использовать методики повторного использования кода, то 20 строк кода в день могут иметь огромный вес, это как карточный домик, чем выше домик тем нужно аккуратнее ложить карточки иначе можна навернуть весь дом
Re: # еще раз: сколько стоит одна строка кода на си?
Здравствуйте, мыщъх, Вы писали:
М>Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.
М>ЗЫ. Ну а то, что пиковая производительность (у сишиника) порой доходит до пары килострок в день (без копипастинга) ну так это ж понятно. Не за то сейчас речь.
Часть проекта from scratch ~3-6 kloc/week -> 50 loc/h .
+Тесты ~10 kloc (но много copy-paste) -> 300 loc/h.
+Автогенерёнка — на генератор дней 10 -> ~1M loc -> 20 kloc/h.
Re[2]: # еще раз: сколько стоит одна строка кода на си?
Здравствуйте, UA, Вы писали:
UA>Не скажу за Cи, но в C++ если правильно наследоваться и вовсю использовать методики повторного использования кода, то 20 строк кода в день могут иметь огромный вес, это как карточный домик, чем выше домик тем нужно аккуратнее ложить карточки иначе можна навернуть весь дом
Значит связанность слишком высокая.
Re[4]: # еще раз: сколько стоит одна строка кода на си?
Здравствуйте, traveler, Вы писали:
T>Здравствуйте, мыщъх, Вы писали:
М>>>>Учитывая, что зарплата у сишников начинается от $10k ~ $15k в месяц (и там же
B>>>А можно подробнее это где такая зарплата у сишников? М>>и в россии в том числе. но это до уплаты налогов. после уплаты останется от $8k. T>8K * 30 = 240 тыщ в месяц?
вполне достойная зарплата. знакомые (в москве) получают и триста.
T> Что-то я явно пропустил в этой жизни...
"невероятно, но факт" (с)
T> Я знаю достаточно много не побоюсь этого слова — гениальных сишников, T> которые работают в двух столицах, уважаемые люди, и получают они, T> тем не менее, не более сотни.
а вот мои коллеги без всякой претензии на гениальность в лучшем случае улыбнуться, а худшем сочтут сотку грабежом и оскорблением. одна контора из израиля пыталась аутсорсить им несколько проектов с готовым ТЗ, в котором сишники сходу нашли кучу ляпов, нестыковок, косяков и предложили израильтянам или мы делаем по русски (т.е. по уму) за три ляма в год на рыло, или вы идете дорогой давида. израильтяне помялись сначала, но потом таки согласились. и хотя я не в курсе последних событий — обе стороны довольны. причем, это не финансовые проекты и даже софт для боингов, и математики там немного. обычный системный софт под линь. и это в россии с оплатой белой зарплатой и трудойстройством по ТК, хотя пиплы работают непосредственно на европу и запад. имена сишников обозначать не буду, т.к. не уполномочен, но думаю, что вы их знаете. даже если не лично, то слышали о них, т.к. они уже успели "засветиться" в куче продуктов как под линь, так и под винду.
зы. поинтересуйтесь сколько получают ребята, которые на стыке разлома ссср стыбрили из беркли бзди и перехачили его в унах, позже переименнованный в дэмос. там один антонов чего стоит.
T>Значит, незатейливая калькуляция показывает ~10$ / LOC. Неплохо!
вот, а вы еще на жизнь жалуетесь
T> С третьей стороны, я помог вскрыть одну платную гадину, заменив три команды ассемблера. T> Стоимость двойного слова составила ~300$.
в двойных словах считать я бы не догадался. а почему не в байтах?
T> Помните тот анекдот, про механика? "1 бакс я взял за удар молотком, T> и 999 баксов за то, что знал куда ударить".
только хотел его процитировать, но вы меня опередили
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: # еще раз: сколько стоит одна строка кода на си?
Здравствуйте, Flying Dutchman, Вы писали:
М>>>>Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.
e_k>>>автогенеренные строки считать? М>>могучий вопрос. мы тут с товарищами никак не можем прийти к соглашению о кошерности автокомпита.
FD>Еще один могучий вопрос — нужно ли учитывать строки комментариев ? Мое мнение — обязательно надо учитывать.
Очень часто (хотя, конечно, не всегда) строки комментариев надо учитывать со знаком минус
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[4]: # еще раз: сколько стоит одна строка кода на си?
Здравствуйте, legogogo, Вы писали:
L>Здравствуйте, мыщъх, Вы писали:
М>>в штатах в калифорнии мои коллеги получают ~$135k годовых. в dc (на другом побережье) ~$170k L>Это под виндой/юникс или без разницы?
под линух. винду я последнее время вижу все реже и реже.
L>Какие задачи решаются на Си, приведите пример чтобы представлять?
$135k для калифорнии это хорошие деньги, но вовсе не мегакул. мои знакомые оттуда заняты криптографией, защитой блю-рей на жабе, разработкой трансляторов с си на примитивные виртуальные машины (типа чтобы и сорцы клиенту отдать, которые компилируются на любых никсах, но и не позволить ему ими завладеть, ибо что интересного можно сделать, например, с кодом для сетей петри? или стрелкой пирса? да ничего с ней нельзя сделать, только тупо откомпилировать, чтобы собралась в бинарник на данной архитектуре гнутым си — а вы говорите, что под линь никто ничего не защищает).
в dc у меня знакомых уже побольше будет, в основном все сетевики. о себе говорят, что занимаются контент анализом. что это такое я до конца так и не понял, поэтому объясниить могу только на примерах. ну это как бы написание декомпрессоров для разных пакеров, декомпиляторов, парсеров и всего такого.
сам же я пишу утилиты для реверсеров и приблуды облегчающие написание сигнатур. на си. или даже на ида-си. а еще есть микро-си, который есть подмножество си (довольно сильно урезанное) и на нем люди тоже пишут, ну а я же пока только к нему присматриваюсь.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: # еще раз: сколько стоит одна строка кода на си?
Здравствуйте, ARMSoft, Вы писали:
М>>в штатах в калифорнии мои коллеги получают ~$135k годовых. в dc (на другом побережье) ~$170k ARM>ну все, после ваших сумм у многих произошел выброс моска с последующим переучиваением на С,
да ладно вам. в калифорнии $75k это то, на что может претендовать _рядовой_ прикладник (дотнет, жаба), с опытом работы от трех лет. причем, разницу между дотнетом и сями мне думаю вам объяснять не надо. дотнет весчь в себе. а нормальный программист на си обычно знает во что компилируется его программа, знает "кухню" операционной системы, вникая в кучу низкоуровневых подробностей. разница в объеме знаний — колоссальна. разница в зарплате — где-то в два, ну в три раза. плюс реального рынка труда для сишников нет. работа есть, и работы валом. но вот рынка — нет. впрочем, сишники и работу меняют гораздо реже.
> сразу поплыли картины Калифорнии с райском пляжем, горячей девушки рядом, ноута и банкомата с баксами.
банкоматов здесь что-то не особо видно (или просто я их не замечаю). видел в порту. в городе не встречал. хотя специально и не искал, может они где и стоят. ноуты — гадость. сейчас надо кодить, а рабочей станции под рукой нет, а заказывать — так грят ее только в начале января доставят. вот вам и сша. зато тут есть куча серверов. щас на одном из них развертываем линух, на котором запустим варю, а из под вари мой имаге с привычным мне окружением. причем сервер до жути тормозной. всего два с хвостиком мегагерца. процессоров до кучи, но мне ж все равно только один использовать. вот и приходится выкручиваться.
не, калифорния не для меня. хотя есть вариант перебраться в санта-клару, я лучше тут с белками в рестоне.
ARM> зы: а если по делу, то писать на сях, это надо недюженной выдержкой обладать, ARM> т.к. любое элементарное действие выплывает в тонны кода...
гм. мне казалось, что на плюсах оверхид выше. и там где у меня десяток функций и приплюснутых коллег развернутра могучая иерархия классов с запутанным наследованием. так же мне кажется, что реюз кода на си проще. в смысле, что вот у меня одна функция искала регулярные выражения и парсила жабу на лету. поскольку писалось все это на быструю руку и поиск был тупой как валенок, то это быстро работало лишь на небольшом кол-ве сигнатур. а сейчас было приятно решение переписать эту функцию по науке, разделив ее собственно на парсер и поиск. на сях это заняло меньше получаса (хотя там была дикая мешанина кода). а вот на плюсах изначально кривой дизайн так быстро уже не исправишь.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.