Re[6]: Мэйнстрим == манки-драйвен-девелопмент?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.02.11 18:12
Оценка:
Здравствуйте, gandjustas, Вы писали:

M>>Сегодня вот обнаружил String.equals(""+char). Только вот в очень вложенном цикле... Само по себе фигня вроде...

G>1)Какой процент времени занимает это сложение?
G>2)Если меньше 1% то нафига ты туда лазил? У тебя более важных дел не нашлось?

Иногда приходится оптимизировать и Equals и GetHashCode оптимизировать, когда числодробилки пишешь и больше оптимизировать уже негде
Re[5]: Мэйнстрим == манки-драйвен-девелопмент?
От: alpha21264 СССР  
Дата: 15.02.11 18:40
Оценка: 1 (1)
Здравствуйте, Don Reba, Вы писали:

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


T>>>>

Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
DR>— Brian W. Kernighan.


DR>>>Интересно, в чём измеряется сложность отладки, в чём написание, и какое это имеет отношение к сообразительности?


A>>Например числом переменных, которые вы одномоментно должны держать в памяти.


DR>То есть, во время отладки, в памяти необходимо держать вдвое больше переменных? Понятно, человек хотел сказать: "писать трудноотлаживаемый код — плохо." Но манеру выражения он выбрал пафосную и бессмысленную.


Ну типа да. Потому что обычно отладка это поиск какого-то сайд-эффекта. Что-то происходит за пределами твоего куска.
И тебе нужно зарезервировать часть мозгов, которая будет держать в поле зрения дополнительные сущности сайд эффекта.

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

Течёт вода Кубань-реки куда велят большевики.
Re[6]: Мэйнстрим == манки-драйвен-девелопмент?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 15.02.11 19:53
Оценка: -1
Здравствуйте, alpha21264, Вы писали:

A>А Керниган как раз очень хорошо умел выражался. Понятно и однозначно.


Почему "умел"? Он живой и не собирается пока сдаваться
Но этот вывод мне не нравится. Мол, пишите тупо, тогда хватит мозгов на отладку.
The God is real, unless declared integer.
Re[7]: Мэйнстрим == манки-драйвен-девелопмент?
От: alpha21264 СССР  
Дата: 16.02.11 08:30
Оценка: +1
Здравствуйте, netch80, Вы писали:

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


A>>А Керниган как раз очень хорошо умел выражался. Понятно и однозначно.


N>Почему "умел"? Он живой и не собирается пока сдаваться


Это я с прямым углом перепутал.

N>Но этот вывод мне не нравится. Мол, пишите тупо, тогда хватит мозгов на отладку.


Пишите просто — будет работать надежно. Это не значит тупо.
Автомат Калашникова простой. Но не тупой.

Течёт вода Кубань-реки куда велят большевики.
Re[4]: Мэйнстрим == манки-драйвен-девелопмент?
От: _d_m_  
Дата: 16.02.11 10:00
Оценка:
Здравствуйте, Osaka, Вы писали:

VD>>То есть, дело в тупом руководстве?

O>В мировоззрении. (И чаще всего это "дороже денег" (не знаю насчёт зарубежа, но в России да))
O>"Нам не нужны умные, нам нужны верные"
O>"Главное — добросовестность"
O>В более тяжёлых случаях — "В настоящей жизни всё настоящее даётся только через напряжение, а этот не хочет делать так как трудно, всё придумывает как бы посачковать и позаниматься чем ему интересно, вместо того чтобы пахать как раб на галере. Вон все студенты пашут принятой в компании технологии и не жалуются что у них плуг между досок застревает"

Очередной мля непризанный гений. Я таких нах увольняю. Нафиг мне человек супер-пупер прогер, если на него нельзя положится — он ломает все планы. Толку от его гениальности — если он завалит проект по срокам, т.е. в итоге результат 0.
Re[5]: Мэйнстрим == манки-драйвен-девелопмент?
От: Osaka  
Дата: 16.02.11 10:45
Оценка:
___>Очередной мля непризанный гений. Я таких нах увольняю.
butthurt detected

>Нафиг мне человек супер-пупер прогер, если на него нельзя положитЬся — он ломает все планы.

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

>Толку от его гениальности — если он завалит проект по срокам, т.е. в итоге результат 0.

А заранее согласовать сроки с запасом — вера не позволяет? Хотя, кто у нас способен планировать на долгосрочную перспективу...
Re[2]: Мэйнстрим == манки-драйвен-девелопмент?
От: hi_octane Беларусь  
Дата: 16.02.11 12:03
Оценка: 6 (3) +4
M>Во-первых, любая контора берёт ЛУЧШИХ, но чтобы они писали в пределах корпоративной культуры и архитектуры. Во-вторых, нет таких коллективов, где нет хороших прогеров. Они составляют "мозг проекта", а вокруг них можно нанимать хоть негров — они одинаково эффективно решат _разложенные_по_полочкам_ задачи. Не надо думать, что проекты — это сплошь шахматы и ребусы, подавляющая их часть — РУТИНА, оформленная в красивые модули и стрелочки.
Прежде всего хотелось бы отметить что за любой корпоративной структурой стоят либо экономика, либо предпочтения/знания конкретных людей. К тому же эта логика не объясняет контор в которых "эти треугольные скобочки" (дженерики, C#2), запрещены корпоративным стандартом. Даже для лидов. Просто потому что у них ставка на студентов, по $400 за пучок, и на соответствующие задачи.

M>Ясный код понимаем любым. Плохой не понимаем даже специалистами. Так что нет "специального кода для обезьян" — есть "обезьяний код".

Не надо общих фраз про любых. У меня есть кусок чисто математического кода, который совершенно прост, нет ни однй иерархии, ни одного даже виртуального метода. Чисто 5-мерные массивы туда-сюда, и операции все простейшие. Ясный, простой код на уровне как раз простого C. Хрен поймёт человек без ТЗ, сопровождающих док-файлов, и файлов матлаба. Профильное образование — обязательно. И дальше упростить некуда...

M>Можем, но только решения, проверенные практикой. Опять же, повторюсь: НЕТ столько головоломок, сколько немерлисты хотят решить своими макросами — и без немерли, и даже без жабы/сишарпа писались многомиллионные проекты НА ПРОСТОМ СИ — _тем_ танцорам язык не мешал. Почему? Потому что "эффективность — она в головах", а не синтаксисе.

Опять красочно, но что-то не вяжется с реальностью. Я помню проекты 10 летней давности. Редактор DSL-скрипта с подсветкой синтаксиса, автокомплитом и хелпом тогда был задачей на человеко-год и выделялся в отдельный проект. Сейчас это 3 недельки, параллельно с самим DSL и простеньким отладчиком. Эффективность — она скорее в голове * интструмент. Приблизительный пруф — рассмотрим пределы: голова 0, инструмент 100% — результат 0. Голова 100% инструмента нет вовсе — результат тот же 0.

M>Для этого есть "мозг проекта", но и тут выплывает ещё один плюс "средних решений" — они _понимаемы_всеми_ членами команды, т.е. имеем бенефит коллективного разума. Более того — "средние решения" легче модернизировать в силу их "незаумности".

Что такое средние решения? Как меняется со временем мощность среднего решения? Какой график зависимости экономической эффективность команды от выбранного среднего решения? Для .NET стоит ли выбирать за среднее C#1, C#2, 3 или 4?

M>Среди профи и бизнесменов — 100%.

Вот так, опять за всех и бескопромисно. Даже не 99.95? Жаль только Ericsson который выдумывал заумный Erlang явно от недостатка профи и бизнесменов в топ-менеджменте.

Кустари оперируют понятиями "а помните у нас ведущий уволился, и потом никто там ничё три месяца не понимал, а найти того кто бы понял мы не могли". А профи и бизнесмены — такими вещами как риски и оценки. Разработка $x, замена ключевых разработчиков $y, опоздание с выходом на рынок (вылет за дедлайн) $z, спрыгивание клиента из-за подковёрных интриг $t, и т.п. И это всё в табличку по технологиям.
Ты же старательно завышаешь одни риски, и понижаешь значимость других. И при этом совершенно серьёзно говоришь за 100% профи и бизнесменов.
Re[6]: Мэйнстрим == манки-драйвен-девелопмент?
От: _d_m_  
Дата: 17.02.11 01:30
Оценка:
Здравствуйте, Osaka, Вы писали:

___>>Очередной мля непризанный гений. Я таких нах увольняю.

O>butthurt detected

Не следует выдавать желаемое за действительное.

>>Нафиг мне человек супер-пупер прогер, если на него нельзя положитЬся — он ломает все планы.

O>Нафиг мне ножик, если на него нельзя положиться — он всё режет.

Аналогия ваще не в кассу. Чушь короче. Вобщем охарактеризовал ты себя отсутствием логики.
Re[5]: Мэйнстрим == манки-драйвен-девелопмент?
От: Ночной Смотрящий Россия  
Дата: 17.02.11 10:10
Оценка:
Здравствуйте, iyura, Вы писали:

I>ИМХО, речь идет о том, что программирования из высокотехнологического инженерного процесса пытаются превратить в ремесло


Ты чего то путаешь. Это как раз ремесло отличает сильная зависимость результата от таланта мастера.
Re[7]: Мэйнстрим == манки-драйвен-девелопмент?
От: Ночной Смотрящий Россия  
Дата: 17.02.11 10:10
Оценка: +1
Здравствуйте, mik1, Вы писали:

M>Да, и одной такой строчкой я свою зп за день с лихвой окупил. Мы молотилками данных занимаемся.


Такие строчки легко вылавливаются профайлером за очень скромное время. Для этого не нужна мегаквалификация.
Re[6]: Мэйнстрим == манки-драйвен-девелопмент?
От: Ночной Смотрящий Россия  
Дата: 17.02.11 10:10
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Рутина есть везде, вопрос только в относительном объеме рутины. В автоматизации бизнеса процент близок к 100, в какой-нить разработке компилятора — на порядок меньше.


Я бы не был в этом так уверен.
Re[3]: Мэйнстрим == манки-драйвен-девелопмент?
От: vdimas Россия  
Дата: 17.02.11 10:47
Оценка:
Здравствуйте, Osaka, Вы писали:

O>Так вот почему многие настаивают что пошаговый отладчик не нужен!


В те времена никакой пошаговости не было. А отладка была.
Re[3]: Мэйнстрим == манки-драйвен-девелопмент?
От: vdimas Россия  
Дата: 17.02.11 10:59
Оценка:
Здравствуйте, Madruel, Вы писали:

M>2. O <= o (Иначе код С не так уж хорошо архитектурно продуман)


Далеко не всегда, чем больше лишнего кода/абстракций, тем больше тестов и отладки.

M>Откуда следует:

M>3. O/C < o/c

M>Что противоречит следствию из исходного утверждения


Исходное допущение как бы среднее по палате, а ты лишь показал девиацию. Перечитай, исходное утверждение содержало лишь следующее:
O+C > o+c
Re[3]: Мэйнстрим == манки-драйвен-девелопмент?
От: vdimas Россия  
Дата: 17.02.11 10:59
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Интересно, в чём измеряется сложность отладки, в чём написание, и какое это имеет отношение к сообразительности?


Человеко-часах, помноженных на требуемую квалификацию. Больше ничем.
Re[8]: March_rabbit
От: March_rabbit  
Дата: 17.02.11 11:53
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


M_>>1) Насколько полно и точно будет в памяти вся эта теория, когда она все же пригодится (если пригодится)?

WH>Не важно.

M_>>2) (основываясь на вопросе 1)Есть ли смысл учить ее в универе, так "шоб на всю жись", если когда ты все же с ней столкнешься — у тебя будет возможность с нуля ее освоить?

WH>Есть. Хотябы за тем чтобы когда понадобится вспомнить что они вообще есть, а не начать изобретать колесо.
Можешь с ходу сказать, сколько колец безопасности было в защищенном режиме процессора i486? И сколько их в i7 к примеру? И где задается кольцо текущего процесса? Или ты никогда не слышал о защищенном режиме работы процессора?

или все-таки ответ на первый вопрос другой?
Re[5]: Мэйнстрим == манки-драйвен-девелопмент?
От: esil  
Дата: 17.02.11 13:09
Оценка: +1
Здравствуйте, _d_m_, Вы писали:

___>Очередной мля непризанный гений. Я таких нах увольняю. Нафиг мне человек супер-пупер прогер, если на него нельзя положится — он ломает все планы. Толку от его гениальности — если он завалит проект по срокам, т.е. в итоге результат 0.


Так это не он завалил. Это ты завалил. Тебя и увольнять надо.
Re[5]: Мэйнстрим == манки-драйвен-девелопмент?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.02.11 15:16
Оценка: +3
Здравствуйте, _d_m_, Вы писали:

___>Очередной мля непризанный гений. Я таких нах увольняю. Нафиг мне человек супер-пупер прогер, если на него нельзя положится — он ломает все планы. Толку от его гениальности — если он завалит проект по срокам, т.е. в итоге результат 0.


Что значит "положиться"?
Ты ему называешь сроки и он не выполняет?
Или ты спросил у него о сроках, он сказал и не выполнил в срок?
Недооценка постоянная? Если да, то почему ты её не учитываешь?
Если сроки называются исполнителями от фонаря, то почему не пытаешься в причинах разобраться? Может недостаток информации или слишком общее\слишком расплывчатое задание?

Я понимаю проблемы могут быть когда работа удаленная, но когда человек сидит рядом, в том же офисе, то всегда можно поговорить и выяснить причины.
Re[6]: Мэйнстрим == манки-драйвен-девелопмент?
От: irium  
Дата: 17.02.11 16:57
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

G>Я понимаю проблемы могут быть когда работа удаленная, но когда человек сидит рядом, в том же офисе, то всегда можно поговорить и выяснить причины.


А если удаленная, то "поговорить и выяснить причины" уже нельзя?
Re: Мэйнстрим == манки-драйвен-девелопмент?
От: Lloyd Россия  
Дата: 17.02.11 17:02
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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


Кстати, неплохая альтернативная расшифровка для MDD (model-driven development).

PS. 'driven' читается как 'дривн'.
Re[7]: Мэйнстрим == манки-драйвен-девелопмент?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 17.02.11 18:19
Оценка:
Здравствуйте, irium, Вы писали:

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


G>>Я понимаю проблемы могут быть когда работа удаленная, но когда человек сидит рядом, в том же офисе, то всегда можно поговорить и выяснить причины.


I>А если удаленная, то "поговорить и выяснить причины" уже нельзя?


Можно, но сложнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.