kika: (Default)
[personal profile] kika
Вынесу-ка я это из глубокого треда, может получиться флейм, а флейм это хорошо.

[livejournal.com profile] ifp5 пишет:
Реально проблема есть только одна единственная (и она та же самая что препятствует использованию OCaml, Haskell, LISP и пр) - что решение выбора языка принимают люди (такие бывают толстые и важные начальники), которые уже решили, что проект будет на жабе. Никаких других проблем в использовании шарпа (или хаскеля) нет.

Ну это на самом деле далеко не так. Это черезвычайно распространенное мнение, которое на самом деле базируется на такой красивой гиковской картине мира, в которой есть good programmers and evil managers. И все плохое проистекает из менеджеров, а все хорошее пишется умными программистами, которые вникают в проблему с полувзгляда и выбирают идеальный инструмент.
Попробуйте написать полезную программу на лиспе и продать ее пользователям (продать в широком, хорошем, смысле - пусть даже и забесплатно). Чтобы она была как программа на С++/Win32 или там на сишарпе/дотнете. Чтобы у нее был гуй, какой модно в этом сезоне (совершенно необязательно, кстати, чтобы он был один в один стянут с последнего оффиса), чтобы у нее был нетворкинг, чтобы она работала с трехмерной графикой под DX9/10 и использовала многоядерные процессоры. По-моему я описал гамез, сам того не желая, ну да ладно. Пусть это будет не гамез, а САПР.

Ровно та же самая проблема у всех на свете "скриптовых языков, лучших чем Перл". Они все безусловно лучше чем Перл (трудно быть хуже с точки зрения среднего программиста), но у перла есть CPAN. End of story here.

P.S. Всех, кто напишет что у Автокада в пузе как раз лисп - сразу забаню. Настолько short minded тут не нужны :-)

Date: 2007-09-20 06:13 pm (UTC)
From: [identity profile] pzz.livejournal.com
Когда задача позволяет брать не сильных программеров, то не имеет смысла брать сильных программеров.
А большинство задач позволяет-таки брать не сильных программеров


Как будто-бы есть выбор. Взать сильного программиста - удача. Набрать команду сильных программистов - большая удача.

Просто есть задачи, которые можно таки решить, не имея сильных программистов. И есть задачи, за которые без них лучше и не браться.

Но мне очень трудно себе представить задачу, решение которой кому-то нужно, но для решения которой брать сильных программистов нет смысла. Ну если, конечно, задача не звучит как "организовать работу таким образом, чтобы идиотизм большого технического начальства не был виден невооруженным взглядом".

Date: 2007-09-21 05:26 am (UTC)
From: [identity profile] grundik.livejournal.com
> Взать сильного программиста - удача

Можно взять посредственного и вырастить сильного, раз готовых сильных нету.

> Но мне очень трудно себе представить задачу, решение которой кому-то нужно, но для решения которой брать сильных программистов нет смысла.

У каждой задачи есть бюджет. Сильные могут не влезть в этот бюджет (срок найма/взращивания сильного тоже сводится к бюджету). При этом вполне возможно, что эффект от сильного будет такой же, как от слабого (ну например если их посадить набивать текст с голоса, или там писать на PHP ;) ).

Date: 2007-09-21 10:53 am (UTC)
From: [identity profile] kika.livejournal.com
Обычно из посредственных программистов вырастают только посредственные с апломбом :-) Типа меня, например.

Писать на ПХП тоже можно по разному и я легко могу себе представить когда применение сильного программиста даст вполне реальный выигрыш даже при создании чего-то весьма простого. Просто потому что продукт качественный, дырки какого нужно диаметра, четко где запланировано и не насквозь :-)

Date: 2007-09-21 11:26 am (UTC)
From: [identity profile] grundik.livejournal.com
Ну, пусть из посредственного вырастет не хороший in general, а хороший конкретно здесь, по-моему это вполне реально. Ну и всё же не стоит считать одинаково посредственными программистами людей, которым лисп сложно выучить и людей, которые на нём пишут. Это разные уровни посредственности :)

"дырки какого нужно диаметра, четко где запланировано и не насквозь" - ну наверное да, соглашусь. Но всё равно вопрос овчинки и её выделки остаётся актуальным.

Date: 2007-09-21 11:36 am (UTC)
From: [identity profile] kika.livejournal.com
Я не пишу на лиспе :-) Я прочитал книжку грэма, научился писать простенькие программки, но многие концепции просто не применял даже ни разу, например макро. Наверное я способен искать и исправлять баги в программе, но чтобы создавать свои нужен некий опыт.

Date: 2007-09-21 12:11 pm (UTC)
From: [identity profile] grundik.livejournal.com
Опыт конечно нужен, но это же не хаскель :)
В лиспе можно писать в java-style, и будет работать.

Date: 2007-09-21 12:13 pm (UTC)
From: [identity profile] kika.livejournal.com
Это как на перле в C-style. Ну, на первое время может и сойдет.

Date: 2007-09-21 04:34 pm (UTC)
From: [identity profile] pzz.livejournal.com
Можно взять посредственного и вырастить сильного, раз готовых сильных нету

Если заменить слово "посредственный" на слово "молодой", то я согласился бы, пожалуй. Если бы моя компания называлась бы IBM, Microsoft, или, на худой конец, RFMD. Т.е., я располагал бы неограниченным бюджетом и неограниченным временем.

У каждой задачи есть бюджет. Сильные могут не влезть в этот бюджет (срок найма/взращивания сильного тоже сводится к бюджету). При этом вполне возможно, что эффект от сильного будет такой же, как от слабого (ну например если их посадить набивать текст с голоса, или там писать на PHP ;) )

Не, ну мы говорим о программистских задачах, или как?

Что до программистских, то сильный программист обходится в конечном итоге дешевле, чем слабый. Если сильный выдает 10 тыс. строк кода в месяц, делая в среднем одну ошибку на 500 строк, и при этом сам себе еще и архитектуру придумывает, а слабый выдает в месяц пару тысяч строк, с ошибкой в каждой десятой строке, и требует к себе еще и архитектора (а то он такого накодирует), то кого выгоднее брать в плане бюджета? При том что их месячная зарплата у них вряд ли различается более чем в 3-4 раза?

Date: 2007-09-23 07:00 am (UTC)
From: [identity profile] grundik.livejournal.com
ok, я в принципе согласился уже, что несколько приуменьшил эффективность хорошего программиста.

В плане бюджета нередко ключевым является время найма - пока идёт охота за хорошим программером, можно успеть создать версию 1.0 с помощью слабых, которых много. Если рынок таков, что дата выхода продукта на него важнее качества продукта, то ждать хороших программеров невыгодно.

PS: 10 тысяч строк кода в месяц - это 500 строк каждый рабочий день. Мне почему-то кажется, что хороший программер тем и отличается от кодера, что не является машинисткой, и старается писать кода как можно меньше.

Date: 2007-09-23 01:11 pm (UTC)
From: [identity profile] kika.livejournal.com
Версию 1.0 со слабыми не создашь. Со слабыми можно создать 3.0, для чеса по губерниям, на волне прежней славы.
Важная заметка на полях: ни я ни Саша не имеем в виду создание овечек долли, типа "магазин-склад" или "вертикальный интернет-портал с горизонтальной специализацией". Это, в общем, совсем другой бизнес, он не о том.

Если хороший программист так сильно старается писать поменьше кода, что кода совсем не пишет - это плохой программист.

Date: 2007-09-25 04:08 am (UTC)
From: [identity profile] grundik.livejournal.com
Я пишу ~200 строк в неделю :)
Когда писал на PHP, писал по 700-900 в день.

Конечный результат явно говорит в пользу 200 строк в неделю.

PS: ну да, это конкретно один проект, не стоит наверное распространять опыт на все проекты, но даже логически маленькое количество строк лучше, чем большое.

Date: 2007-09-25 08:03 am (UTC)
From: [identity profile] kika.livejournal.com
Вы когда слышите фразу "ядерный заряд мощностью сто килотонн" тоже возмущаетесь "что за бред, этот заряд максимум килограмм двести весит!" ?

Date: 2007-09-25 09:32 am (UTC)
From: [identity profile] grundik.livejournal.com
Мощность сто килотонн - устоявшийся термин.
По поводу LOC как метрики сложности проекта или там производительности программиста дебаты ведутся до сих пор.

Канер вот вообще говорит, что считать количество багов не только бессмысленно, но и
вредно. Я тоже считаю, что говорить "ой, проект всего на полмиллиона строк - фигня мелкая" есть некорректно (мне сразу же вспоминается mnesia и вообще erlang-овские проекты, а также xml-парсеры на ocaml).

Или я неправильно понимаю коммент?

Date: 2007-09-25 09:41 am (UTC)
From: [identity profile] kika.livejournal.com
Я к тому что килограмм плутония и килограмм тротила - это немного разные вещи. Как и строка на перле, лиспе и на С. Даже строки на С и С++ в среднем имеют разную "тяжесть", что, к сожалению в конкретном случае с плюсами скорее минус, а не плюс.

Date: 2007-09-25 04:11 am (UTC)
From: [identity profile] grundik.livejournal.com
А, ещё по поводу "версию 1.0 со слабыми не создашь" - мои проекты напрямую связаны с обеспечением качества девятой версии продукта, первая версия которого была создана далеко не сильными программистами.

Date: 2007-09-23 04:25 pm (UTC)
From: [identity profile] pzz.livejournal.com
В плане бюджета нередко ключевым является время найма - пока идёт охота за хорошим программером, можно успеть создать версию 1.0 с помощью слабых, которых много

К слабым нужен сильный архитектор, а его тоже еще поискать...

PS: 10 тысяч строк кода в месяц - это 500 строк каждый рабочий день. Мне почему-то кажется, что хороший программер тем и отличается от кодера, что не является машинисткой, и старается писать кода как можно меньше

Это как раз с учетом пожелания писать кода как можно меньше. Правда иногда вместо кода целевого приложения получается компилятор, который генерирует на выходе целевое приложение :-)

Date: 2007-09-21 07:35 am (UTC)
From: [identity profile] rblaze.livejournal.com
Ну вот у меня есть задача, на которую брать сильных программистов нет смысла: багфиксинг подсистемы управления и вставка в неё новых фич по запросам маркетинга. Сильный заскучает на ней и свалит нафиг.

Date: 2007-09-21 04:37 pm (UTC)
From: [identity profile] pzz.livejournal.com
Про багфиксинг (который я бы обобщил до поддержки/развития уже существующей программы) это хороший вопрос.

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

Date: 2007-09-21 04:40 pm (UTC)
From: [identity profile] rblaze.livejournal.com
Да, этот риск тоже известен. Придется за ними следить.

Date: 2007-09-21 04:43 pm (UTC)
From: [identity profile] kika.livejournal.com
А следить кто будет? Такой же?

Date: 2007-09-21 04:51 pm (UTC)
From: [identity profile] rblaze.livejournal.com
Вышеупомянутый архитектор. Или ведущий разработчик. Один приличный специалист вполне справляется с несколькими неприличными.

Profile

kika: (Default)
kika

January 2017

S M T W T F S
1234567
89 1011121314
151617181920 21
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 16th, 2026 04:11 pm
Powered by Dreamwidth Studios