# еще раз: сколько стоит одна строка кода на си?
От: мыщъх США http://nezumi-lab.org
Дата: 15.12.09 01:14
Оценка: 4 (3) -1 :)
Привет всем сишникам! В первую очередь тем которые труъ и которые 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: # еще раз: сколько стоит одна строка кода на си?
От: e_k Россия  
Дата: 15.12.09 05:19
Оценка:
М>Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.

автогенеренные строки считать?
Re[2]: # еще раз: сколько стоит одна строка кода на си?
От: мыщъх США http://nezumi-lab.org
Дата: 15.12.09 05:38
Оценка:
Здравствуйте, e_k, Вы писали:


М>>Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.


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: # еще раз: сколько стоит одна строка кода на си?
От: sc Россия  
Дата: 15.12.09 05:39
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>...сколько у вас выходит строк в среднем...

Когда-то считал, выходило до 400-500 в день, если задача была ясна и понятна. Но это с++.
Re: # еще раз: сколько стоит одна строка кода на си?
От: catBasilio  
Дата: 15.12.09 05:56
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>Учитывая, что зарплата у сишников начинается от $10k ~ $15k в месяц (и там же


А можно подробнее это где такая зарплата у сишников?
UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса
Re[2]: # еще раз: сколько стоит одна строка кода на си?
От: мыщъх США http://nezumi-lab.org
Дата: 15.12.09 06:26
Оценка:
Здравствуйте, 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]: # еще раз: сколько стоит одна строка кода на си?
От: traveler Россия  
Дата: 15.12.09 07:15
Оценка: 2 (2) +1
Здравствуйте, мыщъх, Вы писали:

М>>>Учитывая, что зарплата у сишников начинается от $10k ~ $15k в месяц (и там же


B>>А можно подробнее это где такая зарплата у сишников?

М>и в россии в том числе. но это до уплаты налогов. после уплаты останется от $8k.
8K * 30 = 240 тыщ в месяц?
Что-то я явно пропустил в этой жизни... Я знаю достаточно много не побоюсь этого слова — гениальных сишников, которые работают в двух столицах, уважаемые люди, и получают они, тем не менее, не более сотни.

Теперь по теме:
За три года работы в одной крупной компании, я написал ~5 KLOC, но это — с учетом серьезного Процесса, соблюдением всех дисциплин и т.п.
Значит, незатейливая калькуляция показывает ~10$ / LOC. Неплохо!
С другой стороны, за тот же период, я написал несколько программ "для себя", суммарным объемом ~20 KLOC. Здесь стоимость LOC = 0$.
С третьей стороны, я помог вскрыть одну платную гадину, заменив три команды ассемблера. Стоимость двойного слова составила ~300$.
Помните тот анекдот, про механика? "1 бакс я взял за удар молотком, и 999 баксов за то, что знал куда ударить".

С уважением.
Re[3]: # еще раз: сколько стоит одна строка кода на си?
От: Flying Dutchman Украина  
Дата: 15.12.09 07:30
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>Здравствуйте, e_k, Вы писали:



М>>>Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.


e_k>>автогенеренные строки считать?

М>могучий вопрос. мы тут с товарищами никак не можем прийти к соглашению о кошерности автокомпита.

Еще один могучий вопрос — нужно ли учитывать строки комментариев ? Мое мнение — обязательно надо учитывать.
Re[3]: # еще раз: сколько стоит одна строка кода на си?
От: legogogo  
Дата: 15.12.09 07:48
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>в штатах в калифорнии мои коллеги получают ~$135k годовых. в dc (на другом побережье) ~$170k


Это под виндой/юникс или без разницы?
Какие задачи решаются на Си, приведите пример чтобы представлять?
Компьютер — это конечный автомат. Потоковое программирование нужно тем, кто не умеет программировать конечные автоматы (c) Алан Кокс
Re[3]: # еще раз: сколько стоит одна строка кода на си?
От: ARMSoft Украина  
Дата: 15.12.09 08:39
Оценка:
М>>>Учитывая, что зарплата у сишников начинается от $10k ~ $15k в месяц (и там же

B>>А можно подробнее это где такая зарплата у сишников?

М>и в россии в том числе. но это до уплаты налогов. после уплаты останется от $8k.

М>в штатах в калифорнии мои коллеги получают ~$135k годовых. в dc (на другом побережье) ~$170k


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

зы: а если по делу, то писать на сях, это надо недюженной выдержкой обладать, т.к. любое элементарное действие выплывает в тонны кода...
-------------------------
My professional profile
Re: # еще раз: сколько стоит одна строка кода на си?
От: Она На Нас Ий Россия  
Дата: 15.12.09 09:05
Оценка:
Здравствуйте, мыщъх, Вы писали:

Гы, примерно вопрос из той же серии,
что и просьбв предоставить образец кода.

Я тут нашёл класс из пары строк,
из заголовка/комментариев к которому
следует, что он коммитился с изменениями
48 раз двумя десятками авторов
Re: # еще раз: сколько стоит одна строка кода на си?
От: mmopo3  
Дата: 15.12.09 09:32
Оценка:
Здравствуйте, мыщъх, Вы писали:

Пробовал считать статистику по часам. У меня получалось 3 строки в человеко-час и 10 строк в час (на двух разных проектах). Это код который пошел в продукт.
Это С++, CAD, геометрия за 6-й класс...

Проекты обычно на 80% состояли из исследований. Строки/время общие, без выделения фазы "кодинга".

Пришел к выводу, что "10 строк в час" в принципе адекватная цифра. Только непригодна для того, чтобы делать орг. выводы по поводу их автора. Чем сложнее работа, тем меньше строк/час, но больше пользы для потребителя.
Re: # еще раз: сколько стоит одна строка кода на си?
От: A13x США  
Дата: 15.12.09 10:43
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>...


некоторые люди признают эту метрику бессмысленной.
Отчасти из-за того, что она подменяет внутреннюю мотивацию внешней (знаю со слов знакомого бизнесмена).
Re: # еще раз: сколько стоит одна строка кода на си?
От: UA Украина  
Дата: 15.12.09 11:31
Оценка:
Здравствуйте, мыщъх, Вы писали:

Не скажу за Cи, но в C++ если правильно наследоваться и вовсю использовать методики повторного использования кода, то 20 строк кода в день могут иметь огромный вес, это как карточный домик, чем выше домик тем нужно аккуратнее ложить карточки иначе можна навернуть весь дом
Re: # еще раз: сколько стоит одна строка кода на си?
От: blackhearted Украина  
Дата: 15.12.09 11:56
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.


М>ЗЫ. Ну а то, что пиковая производительность (у сишиника) порой доходит до пары килострок в день (без копипастинга) ну так это ж понятно. Не за то сейчас речь.


Часть проекта from scratch ~3-6 kloc/week -> 50 loc/h .
+Тесты ~10 kloc (но много copy-paste) -> 300 loc/h.
+Автогенерёнка — на генератор дней 10 -> ~1M loc -> 20 kloc/h.

Re[2]: # еще раз: сколько стоит одна строка кода на си?
От: alzt  
Дата: 15.12.09 13:04
Оценка:
Здравствуйте, UA, Вы писали:

UA>Не скажу за Cи, но в C++ если правильно наследоваться и вовсю использовать методики повторного использования кода, то 20 строк кода в день могут иметь огромный вес, это как карточный домик, чем выше домик тем нужно аккуратнее ложить карточки иначе можна навернуть весь дом


Значит связанность слишком высокая.
Re[4]: # еще раз: сколько стоит одна строка кода на си?
От: мыщъх США http://nezumi-lab.org
Дата: 15.12.09 16:38
Оценка:
Здравствуйте, 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]: # еще раз: сколько стоит одна строка кода на си?
От: Тот кто сидит в пруду Россия  
Дата: 15.12.09 16:47
Оценка: 1 (1)
Здравствуйте, Flying Dutchman, Вы писали:

М>>>>Было бы интересно а сколько у вас выходит строк в среднем? Берем проект. Берем дату создания первого файла. Берем дату последней версии. Считаем строки. Делим на время. Оглашаем результат.


e_k>>>автогенеренные строки считать?

М>>могучий вопрос. мы тут с товарищами никак не можем прийти к соглашению о кошерности автокомпита.

FD>Еще один могучий вопрос — нужно ли учитывать строки комментариев ? Мое мнение — обязательно надо учитывать.


Очень часто (хотя, конечно, не всегда) строки комментариев надо учитывать со знаком минус
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[4]: # еще раз: сколько стоит одна строка кода на си?
От: мыщъх США http://nezumi-lab.org
Дата: 15.12.09 16:50
Оценка:
Здравствуйте, 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]: # еще раз: сколько стоит одна строка кода на си?
От: мыщъх США http://nezumi-lab.org
Дата: 15.12.09 17:08
Оценка:
Здравствуйте, 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.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.