VD>Эффективность такой экстенсиной разработки стримительно стремится к нулю. Не прийми это на свой счет, но ты даже не осознашь насколько не эффективно ты трудишся.
А что такое эффективность труда, скажи пожалуйста? В чем она измеряется? Уж не в объеме ли кода?
Подозреваю, что ты скажешь, что-то типа "в количестве успешно решенных задач". Но и это тоже не критерий, поскольку все зависит от того, что считать "решенной задачей".
Лично я стремлюсь к тому, чтобы быть уникальным специалистом в своей области и стать "широко известным в узких кругах". Например, я сейчас работаю над неким алгоритмом, который всего-то навсего занимает порядка 50K в исходниках (очень размашистым стилем, и с подробными комментариями). Я его уже переделывал почти с нуля три раза и планирую переделать еще как минимум пару раз. Некоторые варианты являются просто тупиковыми, но этого не понять, пока не попробуешь сделать. Таким образом, задача одновременно является решенной и нерешенной. Решенной потому, что уже готово к промышленному применению (и применяется) с некоторыми ограничениями. Нерешенной потому, что надо еще работать и работать чтобы снять эти ограничения — такова сущность задачи. И планирую я это дело примерно на полгода. В сухом остатке — те же 50K исходников и один (один!) класс (конечно же, по ходу работы я надубасю под мегабайт исходников, но они все уйдут в мусорку). Собственно, это может быть даже и не класс, все можно сделать хоть на голом Си — язык вторичен. И что характерно, все эти мои "капризы" очень высоко оплачиваются — и это при том, что результат не гарантирован! Вот это для меня — настоящая задача, я бы даже сказал, битва, а я в ней — доблестный воин
Рассуждать о проектировании и средствах разработки здесь смешно. Хоть в ноутпаде, хоть в студии с кнопочками — разница невелика. А критерий эффективности для меня — работать над интересной нетривиальной задачей за хорошие деньги — так сказать и рыбку съесть и на люстре покачаться. А повышать "эффективность труда" в понимании Влада — это для меня тоска зеленая. Это все равно станок и все равно ты за ним стоишь и прикручивашь "шашечки к вишенкам" — более ничего. Тривиальные задачи мне не интересны, и поэтому работать над ними для меня — не эффективно по определению. И наоборот — в понимании Влада я, наверное, рекордсмен по неэффективности.
Все эти яростные приверженности к определенным языкам, средствам проектирования и рефакторинга — это ложный карасс, гранфаллон.
* Гранфаллон — ложный карасс, кажущееся единство какой-то группы людей,
бессмысленное по самой сути, с точки зрения божьего промысла.
Что такое гранфаллон? Хочешь ты узнать,
Надо с шарика тогда плёнку ободрать!
В качестве примера гранфаллонов Курт Воннегут приводит всякие партии,
в частности: Дочери американской Революции, компанию Дженерал Электрик
и Международный орден холостяков — и любая нация в любом месте в любое
время.
Стремление к повышению эффективности труда при помощи средств разработки — это тоже гранфаллон. И чем больше автоматизации, тем более тупой работой приходится заниматься. Яркий пример — дизайнер форм в студии. Более рутинной и неблагодарной работы (тяп-ляпать формы, а потом разруливать всякие события), трудно себе представить. И трудно с этим спорить. Это дает средства к существованию бедным голодным индусам (что очень гуманно), но одновременно погружает человечество в пучину профанации. Так что это палка о двух концах. Ну вот будешь ты всю жизнь пахать, изучая все новые и новые языки и технологии и под конец жизни поймешь, что твой разум напоминает комнату, до потолка заваленную бульварными романами для одноразового прочтения. Это что — эффективно? Я бы назвал это бездарным транжирством невосполнимого ресурса — своей жизни. А у нас не так уж и много времени на этой земле. Взять, например, Дейкстру — его именем названы алгоритмы и это будет жить в веках. Вот это я называю эффективностью. Это то, к чему имеет смысл стремиться. Не думаю, что мне удастся что-то в этом роде, но я хотя бы стараюсь.
Я ни в коем случае не пытаюсь навязать свою точку зрения. Нет ничего унизительного в грязной работе по проектированию и дизайну форм в дот-нет студии (ну кто-то же должен — да мне и самому приходится это делать).
Поэтому просьба не принимать на свой счет, это просто лично мне не нравится весь этот лохотрон. Ну вот не нравится и все тут. Мне нравится свой лохотрон.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>А что такое эффективность труда, скажи пожалуйста? В чем она измеряется? Уж не в объеме ли кода?
[... skipped ...]
Знаешь, большое количество кода тоже вовсе не означает, что этот код рутинный, непрофессиональный и включает в себя только лишь кучу формочек и типизированные датасеты, столь услужливо генерируемые студией. Бывает ещё такой зверь, как Enterprise Application. Этот зверь — не узкоспециализированная библиотека и содержит он обычно гораздо больше кода, чем эта библиотека. Ещё этот товарищ всегда другого цвета — не бывает двух одинаковых EA Кому EDI подавай, кому medical insurance, а кому и property management. И используется EA только один раз — не серийный это продукт.
А самое обидное то, что готового каркаса для типового EA никогда нет! И приходится педалить довольно много кода, который и будет этим каркасом. Такого базового, нерутинного кода, который будет составлять основы основ продукта. И работу над которым никак не назовёшь "грязной работой по проектированию и дизайну форм в дот-нет студии". И вот тут рефакторинг будет очень даже к месту — тут без этих шашечек просто не уедешь.
Ты просто смотришь на ситуацию под углом разработчика узкоспециализированной библиотеки. Если ты не писал EA, то тебе просто не понять, какой кайф можно получить от этого вида разработки Насколько много разноплановых решений приходится применять, сколько технологий удаётся потрогать... эхх
PS: В зашиту всех разработчиков Enterprise Application-ов
Здравствуйте, Oyster, Вы писали:
O>А самое обидное то, что готового каркаса для типового EA никогда нет! И приходится педалить довольно много кода, который и будет этим каркасом. Такого базового, нерутинного кода, который будет составлять основы основ продукта. И работу над которым никак не назовёшь "грязной работой по проектированию и дизайну форм в дот-нет студии". И вот тут рефакторинг будет очень даже к месту — тут без этих шашечек просто не уедешь.
O>Ты просто смотришь на ситуацию под углом разработчика узкоспециализированной библиотеки. Если ты не писал EA, то тебе просто не понять, какой кайф можно получить от этого вида разработки Насколько много разноплановых решений приходится применять, сколько технологий удаётся потрогать... эхх
Охотно верю, ибо через все это я проходил. Более того — я даже сподобился спроектировать и написать целый банковский опердень (о! пердень!). И это даже было интересно. Но со временем мне это все надоело и теперь одно слово "Enterprise" навевает на меня необоримую скуку и лень.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Более рутинной и неблагодарной работы (тяп-ляпать формы, а потом разруливать всякие события), трудно себе представить. И трудно с этим спорить. Это дает средства к существованию бедным голодным индусам (что очень гуманно), но одновременно погружает человечество в пучину профанации.
Вопрос в том, что разгребать события так или иначе придется... Да и контролы на форме разгребать... Если, конечно, мы желаем графический интерфейс Альтернатива была еще во времена MS DOS, когда приходилось все писать руками. Было примерно так: запустим программу... Нет, это кнопка слишком вправо уехала. Тут три пикселя будет мало, надо пять. И т. д. Рутина похуже будет. Конечно, можно создать язык разметки вроде TeX, который будет автоматически располагать контролы, но человеческой вмешательство в этот процесс исключать нельзя...
Здравствуйте, Mystic, Вы писали:
M>Вопрос в том, что разгребать события так или иначе придется... Да и контролы на форме разгребать... Если, конечно, мы желаем графический интерфейс Альтернатива была еще во времена MS DOS, когда приходилось все писать руками. Было примерно так: запустим программу... Нет, это кнопка слишком вправо уехала. Тут три пикселя будет мало, надо пять. И т. д. Рутина похуже будет. Конечно, можно создать язык разметки вроде TeX, который будет автоматически располагать контролы, но человеческой вмешательство в этот процесс исключать нельзя...
Безусловно придется! Вопрос лишь в том, кому придется? Ты же не ожидаешь, что, скажем, старикан Дональд Кнут тоже должен заниматься этой мышиной мастурбацией в форм-дизайнере? Ему как-то даже не к лицу. Я за разделение труда. В опере пусть поют, Кнут пишет книжки в своем ТеХе, я буду скритеть остатками мозга над алгоритмами. А формы пусть дизайнит кто-нибудь другой.
Так чего я так взъелся-то? А то, что понятие эффективности может быть очень разным. Я охотно верю, что для Влада это — больше ре-шарперов и ре-фактореров (ре-факторов, ре-факеров), хороших и разных. И я ничего против этого не имею, но не надо возводить это в категорию абсолюта. Пусть он расскажет тому же Кнуту, что тот работает жутко неэффективно. Куда он будет послан? Воот. Или, скажем, Андрю Уайлз, который угрохал семь лет жизни на доказательство "какой-то фигни". Зачем ему это надо было? — это же жуть как непроизводительно! А ответ простой — ему было чисто прикольно по жизни. Вот это и есть критерий эффективности. Владу прикольно повышать производительность труда ре-шарперами. Замечательно! Но мне-то это — не прикольно (и некоторым другим — тоже) и, следовательно, ни в коей мере не является для меня эффективным.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>А что такое эффективность труда, скажи пожалуйста? В чем она измеряется? Уж не в объеме ли кода?
В том числе, только с противоположным знаком.
MS>Лично я стремлюсь к тому, чтобы быть уникальным специалистом в своей области и стать "широко известным в узких кругах".
Лично мне это всё напоминает известную сказку про блошиного мастера Левшу
MS>Например, я сейчас работаю над неким алгоритмом, который всего-то навсего занимает порядка 50K в исходниках (очень размашистым стилем, и с подробными комментариями). Я его уже переделывал почти с нуля три раза и планирую переделать еще как минимум пару раз.
Кашмар, какая скука
MS>И что характерно, все эти мои "капризы" очень высоко оплачиваются — и это при том, что результат не гарантирован! Вот это для меня — настоящая задача, я бы даже сказал, битва, а я в ней — доблестный воин
А это мне больше напоминает мазахизм, а не доблесть Воин, блин
Кстати, по поводу "очень высокой оплаты". Зарплаты относятся к трём категориям по возрастанию: о которых не удобно говорить, о которых говорят с гордостью и о которых не удобно говорить. Поздравляю, похоже ты уже на втором уровне
MS>Все эти яростные приверженности к определенным языкам, средствам проектирования и рефакторинга — это ложный карасс, гранфаллон.
Это банальная зависть к людям, которые находятся на острие технологий
MS>Стремление к повышению эффективности труда при помощи средств разработки — это тоже гранфаллон.
А это говорит твоя лень.
MS>И чем больше автоматизации, тем более тупой работой приходится заниматься. Яркий пример — дизайнер форм в студии. Более рутинной и неблагодарной работы (тяп-ляпать формы, а потом разруливать всякие события), трудно себе представить. И трудно с этим спорить. Это дает средства к существованию бедным голодным индусам (что очень гуманно), но одновременно погружает человечество в пучину профанации.
Здесь можно было бы рассказать тебе о том, что качественный UI, в сравнении со всем остальным, является наиболее трудоёмкой задачей, требующей высокой квалификации и усидчивости, которая у большинства программистов отсутствует напрочь. Но так как это моё сообщение будем считать несерьёзным, то замечу, что ты просто не в состоянии это делать и в тебе говорит твоя зависть
MS>Так что это палка о двух концах. Ну вот будешь ты всю жизнь пахать, изучая все новые и новые языки и технологии и под конец жизни поймешь, что твой разум напоминает комнату, до потолка заваленную бульварными романами для одноразового прочтения. Это что — эффективно? Я бы назвал это бездарным транжирством невосполнимого ресурса — своей жизни.
Ну да, гораздо лучше 42 раза переписать одни и теже 50к кода.
MS>А у нас не так уж и много времени на этой земле. Взять, например, Дейкстру — его именем названы алгоритмы и это будет жить в веках. Вот это я называю эффективностью. Это то, к чему имеет смысл стремиться. Не думаю, что мне удастся что-то в этом роде, но я хотя бы стараюсь.
Он был программист или математик? У меня есть подозрение, что можно быть либо классным программистом, либо отличным математиком. Можно быть и двумя сразу, но средними Ты, кстати, кем себя больше считаешь?
MS>Я ни в коем случае не пытаюсь навязать свою точку зрения. Нет ничего унизительного в грязной работе по проектированию и дизайну форм в дот-нет студии (ну кто-то же должен — да мне и самому приходится это делать). MS>Поэтому просьба не принимать на свой счет, это просто лично мне не нравится весь этот лохотрон. Ну вот не нравится и все тут. Мне нравится свой лохотрон.
Ну да. Ну ты тоже если что не обижайся Мне вот, например, образно выражаясь, больше нравится строить мосты, небоскрёбы и пирамиды эфиопсов, чем убивать тысячами ни в чём не повинных блох, тщетно пытаться подковать хотя бы одну.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Сэр IT, ваша категоричность умиляет (по крайней мере для админа Философского раздела).
ИМХО.Наезжать как бы неуместно, более уместно видимо поразмыслить.
Максим толково изложил (без наездов особых) ситуацию в нашем ремесле (АйТи).
У него есть на то полное право, ввиду его опыта и самостоятельности мышления, стремящейся, оторваться от стереотипности нашего бытия. Конечно, можно обижаться на "индусов"(тут уже каста професиональная, не нация), так как многим приходится делать рутинную работу. Рутина она везде есть, это и есть то, за что труд получил свой корень от слова "трудный"(непростой, утомительный). Левша занимается рутиной тоже (это не белоручка по определению), когда не успевая за мыслью "хавает" тонны своего же кода, стремясь к совершенству (для стороннего человека это скука, как для меня смотреть на вбивание гвоздей сапожником по контуру подошвы). НеЛевша — "хавает" тонны документации и прочей айтишной муры ("бульварные романы" — точно подмечено Максимом). Каждый по-своему живёт. Если кто-то думает что вот так вот будет эффективнее — то навереное это его право. За то и любят многие программирование — за свободу. Впрочем, Максим поднял корневой вопрос любой профессиональной деятельности, и даже более того — вопрос Смысла Жизни. Как в Библии написано про закапывание талантов — лучше не скажешь. Прийдет Время и спросит: "как ты использовал то что тебе дано было?". Думаю что Максим хотел на самом деле больше не о банальных вещах поговорить (он так и и написал, что языки и прочее — это второстепенно). Важнее — суть, что ты вкладываешь в свою работу, и какой это мерой мерять чтобы оценить эффективность работы. Я не Левша, не дорос еще, но скоро буду им тоже. И таких нас тут много. ИМХО, эффективность работы программиста сложно оценить, так как мы не просто инженерим мосты, дома и так далее. Мы в них душу вкладываем, без этого они работать толком не будут. Тут все честно: сколько отдал — столько и вернулось. А мерить такой процесс простой линейкой (скоростью печати, кол-вом строк, брендом и версией SDK) — не честно. Поносить друг друга тут — совсем нехорошо.
Сорри за длинный ответ. Щекотливость обязывает.
"Что такое хорошо и что такое плохо?" (С) Поэт один...
«Украина – это та Русь, которая осталась дома».
В. Новодворская.
Здравствуйте, IT, Вы писали:
MS>>И что характерно, все эти мои "капризы" очень высоко оплачиваются — и это при том, что результат не гарантирован! Вот это для меня — настоящая задача, я бы даже сказал, битва, а я в ней — доблестный воин
IT>А это мне больше напоминает мазахизм, а не доблесть Воин, блин
Пожалуйста-пожалуйста — можешь считать как угодно. То есть ты твердо убежден в том, что задачи подобного рода — это мазохизм? Это значит, что наши интересы не пересекаются, не более того.
IT> Ну да, гораздо лучше 42 раза переписать одни и теже 50к кода.
Нее, просто переписать — это мазохизм, несомненно. Или оптимизировать на процентах производительности — пусть этом тоже другие занимаются, я их проконсультирую если что.
Я же говорю о другом, например, перевести задачу (к примеру!) из класса O(N^2) в класс O(N log N), в условиях, когда это сделать нетривиально, но все еще возможно (ну и конечно же, где это актуально), и сделать это наиболее нетупым способом — вот это и есть мегазадача. А "производственный процесс" — это рутина. Смысл в нем для меня отсутствует.
IT>Он был программист или математик? У меня есть подозрение, что можно быть либо классным программистом, либо отличным математиком. Можно быть и двумя сразу, но средними Ты, кстати, кем себя больше считаешь?
Инженером.
Кстати, придумать алгоритм — это чья работа — программиста или математика?
IT>Ну да. Ну ты тоже если что не обижайся Мне вот, например, образно выражаясь, больше нравится строить мосты, небоскрёбы и пирамиды эфиопсов, чем убивать тысячами ни в чём не повинных блох, тщетно пытаться подковать хотя бы одну.
О чем я и говорю! Пожалуйста, строй небоскребы и мосты, раз ты строитель. А по поводу блохи, мне не нужно ее подковывать — это тоже рутина. Мне интересно придумать как это сделать, понимаешь в чем разница? Ну или придумать как построить мост (образно говоря). Но не буду же я сам краном рулить! Или тросы тянуть.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
IT>>А это мне больше напоминает мазахизм, а не доблесть Воин, блин
MS>Пожалуйста-пожалуйста — можешь считать как угодно. То есть ты твердо убежден в том, что задачи подобного рода — это мазохизм? Это значит, что наши интересы не пересекаются, не более того.
Интересы может и пересекаются, а понятия интересной работы скорее всего нет. Мне нравится видеть результат своего труда, много разных результатов, нравится видеть как на этот результат реагируют пользователи. Всю жизнь выжимать из одного алгоритма все соки мне не интересно. Правда. Пусть этим занимается кто-нибудь другой. Например, ты, я не возражаю
MS>Я же говорю о другом, например, перевести задачу (к примеру!) из класса O(N^2) в класс O(N log N), в условиях, когда это сделать нетривиально, но все еще возможно (ну и конечно же, где это актуально), и сделать это наиболее нетупым способом — вот это и есть мегазадача. А "производственный процесс" — это рутина. Смысл в нем для меня отсутствует.
Я правильно понимаю, ускорить твой алгоритм в 2 раза — это хорошо, а ускорить в 80 раз какой-нибудь "производственный процесс" — это бессмысленная рутина?
MS>Инженером.
Хороший ответ
MS>Кстати, придумать алгоритм — это чья работа — программиста или математика?
Хороший вопрос
MS>О чем я и говорю! Пожалуйста, строй небоскребы и мосты, раз ты строитель. А по поводу блохи, мне не нужно ее подковывать — это тоже рутина. Мне интересно придумать как это сделать, понимаешь в чем разница?
Не понимаю Я не понимаю как это сделать не убив при этом стадо этих самых блох. Даже майкросовтовский ресёч этим грешит. Либо ты всё же берешь такой грех на душу, либо ты лукавишь.
MS>Ну или придумать как построить мост (образно говоря). Но не буду же я сам краном рулить! Или тросы тянуть.
Надо и краном порулить и тросы потягать, а как же? По другому не бывает. В нашем деле построить серьёзную систему и не замараться при этом кодированием могут только бла-бла-бла-архитекторы. Понятное дело, что построить они её могут только на словах, а не на деле.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, Topknot, Вы писали:
T>Сэр IT, ваша категоричность умиляет (по крайней мере для админа Философского раздела).
Если я вступил в полемику, то вряд ли уже буду заниматься модерированием данного топика. Но могу попросить сделать это кого-нибудь другого
T>ИМХО.Наезжать как бы неуместно, более уместно видимо поразмыслить.
[skip]
Я очень рад, что у Максима есть поклонники. Правда
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, McSeem2, Вы писали:
MS>Так чего я так взъелся-то? А то, что понятие эффективности может быть очень разным. Я охотно верю, что для Влада это — больше ре-шарперов и ре-фактореров (ре-факторов, ре-факеров), хороших и разных. И я ничего против этого не имею, но не надо возводить это в категорию абсолюта. Пусть он расскажет тому же Кнуту, что тот работает жутко неэффективно. Куда он будет послан? Воот. Или, скажем, Андрю Уайлз, который угрохал семь лет жизни на доказательство "какой-то фигни". Зачем ему это надо было? — это же жуть как непроизводительно! А ответ простой — ему было чисто прикольно по жизни. Вот это и есть критерий эффективности. Владу прикольно повышать производительность труда ре-шарперами. Замечательно! Но мне-то это — не прикольно (и некоторым другим — тоже) и, следовательно, ни в коей мере не является для меня эффективным.
Разработка алгоритмов — это совершенно отдельная задача, и к программированию как таковому имеет довольно-таки опосредствованное отношение. При чем здесь вообще решарпер?
Какой смысл в сравнении мокрого с колючим, которое ты здесь устроил, я не понимаю
Здравствуйте, IT, Вы писали:
IT>Интересы может и пересекаются, а понятия интересной работы скорее всего нет. Мне нравится видеть результат своего труда, много разных результатов, нравится видеть как на этот результат реагируют пользователи. Всю жизнь выжимать из одного алгоритма все соки мне не интересно. Правда. Пусть этим занимается кто-нибудь другой. Например, ты, я не возражаю
Сколько можно талдычить — не "выжимать из одного алгоритма все соки" а придумывать алгоритмы. Это больше напоминает процесс построения математических доказательств. И далеко не "всю жизнь". Всю жизнь — это уже фанатизм какой-то. Навязчивая идея.
MS>>Я же говорю о другом, например, перевести задачу (к примеру!) из класса O(N^2) в класс O(N log N), в условиях, когда это сделать нетривиально, но все еще возможно (ну и конечно же, где это актуально), и сделать это наиболее нетупым способом — вот это и есть мегазадача. А "производственный процесс" — это рутина. Смысл в нем для меня отсутствует.
IT>Я правильно понимаю, ускорить твой алгоритм в 2 раза — это хорошо, а ускорить в 80 раз какой-нибудь "производственный процесс" — это бессмысленная рутина?
Не правильно.
Во-первых, "ускорить производственный процесс" и принимать участие в "производственном процессе" — вещи очень и очень разные. Я не говорил про ускорение, я говорил про участие. Самому принимать участие — да, я не вижу в этом смысла. Но это не значит, что его нет — он есть и очень большой. Но только пожалуйста, без меня.
Во-вторых. Что такое задача O(N^2)? А это вот что. Дали 10 чисел — работат 1 секунду, дали 1000 чисел — уже почти три часа. Для миллиона чисел — больше 300 лет. То есть, при определенном пределе метод просто перестает быть работоспособным. В то же время, до некоторого предела O(N^2) может работать и быстрее, чем O(N log N). И вот задача заключается не столько в том, чтобы ускорить (хотя и это тоже), а в том, чтобы сделать хотя бы работоспособным в принципе. Для одних типов задач — это тривиально, для других — невозможно в силу устойства нашего мира. Для третьих — неизвестно, получится или нет, надо пробовать, крутить-вертеть. Вот это мне и интересно. Хотя и "ускорить вдвое", когда уже казалось бы все выжато — тоже бывает интересно. И если удается, то происходит это как правило не за счет тупой кодовой оптимизации (там уже как правило все соптимизировано), а за счет использования других методов.
А что значит "ускорить в 80 раз какой-нибудь "производственный процесс" — я без понятия. Какой именно процесс? Добычи нефти? Обработки банковских платежей? Устроить разгон автомобильного конвейера в 80 раз? Или производственный процесс разработки софта? Если последнее — то не верю я в это. Причина проста — для кардинального ускорения надо "разгонять" вербальные каналы общения людей. И к сожалению, это не исправить никакими студиями. На костылях все равно далеко не убежишь.
IT>Надо и краном порулить и тросы потягать, а как же? По другому не бывает. В нашем деле построить серьёзную систему и не замараться при этом кодированием могут только бла-бла-бла-архитекторы. Понятное дело, что построить они её могут только на словах, а не на деле.
Дык. Порулили уже. Просто всему свое время. А к "архитекторам" ни разу не стоявшим у станка я тоже отношусь с некоторым снисхождением. Пороху не нюхали.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Сколько можно талдычить — не "выжимать из одного алгоритма все соки" а придумывать алгоритмы. Это больше напоминает процесс построения математических доказательств.
Т.е. ты себя всё же больше относишь к математикам
MS>Во-вторых. Что такое задача O(N^2)? А это вот что. Дали 10 чисел — работат 1 секунду, дали 1000 чисел — уже почти три часа. Для миллиона чисел — больше 300 лет. То есть, при определенном пределе метод просто перестает быть работоспособным. В то же время, до некоторого предела O(N^2) может работать и быстрее, чем O(N log N). И вот задача заключается не столько в том, чтобы ускорить (хотя и это тоже), а в том, чтобы сделать хотя бы работоспособным в принципе. Для одних типов задач — это тривиально, для других — невозможно в силу устойства нашего мира. Для третьих — неизвестно, получится или нет, надо пробовать, крутить-вертеть. Вот это мне и интересно. Хотя и "ускорить вдвое", когда уже казалось бы все выжато — тоже бывает интересно. И если удается, то происходит это как правило не за счет тупой кодовой оптимизации (там уже как правило все соптимизировано), а за счет использования других методов.
Я в курсе что такое O(N^2). И в курсе что с лучшими алгоритмами не сравнится никакая оптимизация. Но ты не поверишь, мне интересно заниматься как алгоритмами, так и выжиманием из них соков. Разбираться в новых технологиях и уметь эффективно их использовать. Последнему, кстати, нужно учиться очень и очень долго. И ни в каких книжках об этом не пишут. Я учился, довольно долго, и смею утверждать, что могу улучшить практически любой код, сделать его проще, понятнее и надёжнее. Иногда получается 2к строк ужать в 15, а от навороченной UI формы с сотней полей оставить рукописного кода один конструктор на две строчки. И тоже не знаешь получится или нет, с чем придётся больше бороться, со сложностью задачи или с костностью мышления, глупостью, безответственностью. Но мне этим нравится заниматься. И ещё мне нравится делать это быстро в чём мне последнее время помогают современные средства IDE, но никак не нотепад. Хорошо бы ещё научиться рефакторить некоторым мозги и всё совсем было бы хорошо.
MS>А что значит "ускорить в 80 раз какой-нибудь "производственный процесс" — я без понятия.
А что ты тогда понимал под "производственным процессов", когда об этом говорил?
MS>Дык. Порулили уже. Просто всему свое время. А к "архитекторам" ни разу не стоявшим у станка я тоже отношусь с некоторым снисхождением. Пороху не нюхали.
Некоторые нюхали. Сами закладывают мины и сами потом их нюхают.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
MS>>А что значит "ускорить в 80 раз какой-нибудь "производственный процесс" — я без понятия.
IT>А что ты тогда понимал под "производственным процессов", когда об этом говорил?
Я имел в виду процесс разработки софта по типу конвейера. Тот процесс, где яко бы нужно повышать эффективность и производительность труда.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, Дарней, Вы писали:
Д>Разработка алгоритмов — это совершенно отдельная задача, и к программированию как таковому имеет довольно-таки опосредствованное отношение.
Эвона как. Ну тогда значит я не хочу быть таким "программистом". Но вообще-то ты прав в том смысле, что престиж профессии в последнее время опускается ниже плинтуса. В какой-то суррогат все превращается благодаря так называемым "суперэффективным технологиям" и легиону индусов в качестве дешевого приложения к ним. Не хочу я в этом учавствовать.
Д>При чем здесь вообще решарпер?
Решарпер приведен лишь в качестве некой фигуры речи.
Д>Какой смысл в сравнении мокрого с колючим, которое ты здесь устроил, я не понимаю
Странно. Вроде бы понятными словами изъясняюсь...
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Эвона как. Ну тогда значит я не хочу быть таким "программистом".
Ну а ты и так не программист, ты алгоритмист. Это совсем разные задачи. Примерно так же как дизайнер по GUI не является программистом, а программист в банке не является финансистом.
MS>Но вообще-то ты прав в том смысле, что престиж профессии в последнее время опускается ниже плинтуса. В какой-то суррогат все превращается благодаря так называемым "суперэффективным технологиям" и легиону индусов в качестве дешевого приложения к ним. Не хочу я в этом учавствовать.
Интересно, а чего это тебя так сильно престиж интересует? У тебя с этим какие-то проблемы?
MS>Решарпер приведен лишь в качестве некой фигуры речи.
ну конечно. Тем более, что как инструмент для разработки алгоритмов он никогда не позиционировался.
MS>Странно. Вроде бы понятными словами изъясняюсь...
Слова по отдельности все понятные, а вот вместе складываются в какую-то бессмыслицу. Только время от времени из под словесной мишуры проглядывает примитивное бахвальство — эвон я какой крутой да уникальный.
Здравствуйте, McSeem2, Вы писали:
MS>А что такое эффективность труда, скажи пожалуйста? В чем она измеряется? Уж не в объеме ли кода?
Я никогда не был сторонником отвечать в столь явные флеймы, но сама не состыковка, несоответствие фактам не дает мене полностью и беспрекословно промолчать и одновременно сохранить мою верность "истине"
Давайте подключим google и определимся с понятиями, особенно раз Вы так любите бросаться определениями. Что же такое эффективность:
эффективность — способность производить определенный эффект, действенность; мера производимого эффекта
Откуда следует что эффективность в первую очередь подразумевает получения какой то меры эффекта. Пойдем далее
эффект — процесс, возникающий на Изделии в результате воздействия или изменения какого-либо физического параметра (параметров) самого Изделия и/или Инструмента. (http://karev.narod.ru/terttm.htm)
эффект — результат игры (http://pt.ability.ru/pt02.html)
т.е. эффект это результат. А простите меня за неразумность, но какой результат может быть определен, когда *один* класс разрабатывается уже полгода??? Вы продали этот класс или собираетесь продать его за $12000 (это и то по минимуму)???
Нет, понятие эффективности не подразумевает интересность процесса, и Вам не интересно работать над дизайном формочек в студии, а вот заказчику не интересно платить $12000 за 50 килобайт не пойми чего, того, что, по вашему мнению, должно работать... Поэтому Вы не эффективны, и для заказчика вы слабое звено…
Эффект это добыча, а какая была стойка у охотника это уже не важно. А добыча это в первую очередь пропитание своему племени, так было, так есть и так будет.
Здравствуйте, McSeem2, Вы писали:
MS>Охотно верю, ибо через все это я проходил. Более того — я даже сподобился спроектировать и написать целый банковский опердень (о! пердень!). И это даже было интересно. Но со временем мне это все надоело и теперь одно слово "Enterprise" навевает на меня необоримую скуку и лень.
Банк — это немножко не то, как и бухгалтерия. Немного знаю и о том и о том, так что могу заявить, что имхо под термин "корпоративное приложение" банковские и 1С-овские штучки не попадают. Да и многое зависит от роли на проекте, конечно, — черновую работу делать невесело даже на самых интересных проектах.
Я просто хотел сказать, что интересные задачи бывают не только у разработчиков классных библиотек для рендеринга векторной графики (моё искреннее имхо) но и у простых труженников базы и бизнес-логики. В общем, возвращаясь к топику, я хотел подчеркнуть, что рефакторинг таки важен
А что касательно оффтопа, то на вкус и цвет товарищей нет, конечно. Может, это у меня возрастное — любовь к решению разнообразных задач
Здравствуйте, ArhAngelVezel, Вы писали: AAV>т.е. эффект это результат. А простите меня за неразумность, но какой результат может быть определен, когда *один* класс разрабатывается уже полгода??? Вы продали этот класс или собираетесь продать его за $12000 (это и то по минимуму)??? AAV>Нет, понятие эффективности не подразумевает интересность процесса, и Вам не интересно работать над дизайном формочек в студии, а вот заказчику не интересно платить $12000 за 50 килобайт не пойми чего, того, что, по вашему мнению, должно работать... Поэтому Вы не эффективны, и для заказчика вы слабое звено…
AAV>Эффект это добыча, а какая была стойка у охотника это уже не важно. А добыча это в первую очередь пропитание своему племени, так было, так есть и так будет.
Видишь ли, в чем дело. Нетрудно подсчитать, что возможных ASCII-текстов длиной в 50 килобайт значительно больше, чем элементарных частиц во вселенной.
Поэтому за некоторые последовательности такой длины могут заплатить и $120000. И для заказчика слабое звено — это как раз те, кто не может написать эти 50 килобайт.
Я понимаю твою точку зрения. Но перед тем, как решать за заказчиков Максима, кто будет слабым звеном, неплохо было бы ознакомиться с результатами его труда. Вот например здесь есть прямое свидетельство того, что компания Microsoft фактически выкинула деньги, вложенные в GDI+, на ветер. Вместо того, чтобы платить "сильным звеньям", способным за полгода наколбасить мегабайт исходников, им было бы значительно дешевле нанять одного Максима. А результат оказался бы лучше.
Выводы, справедливые "в среднем", иногда неприложимы к частностям.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, McSeem2, Вы писали:
MS>Так чего я так взъелся-то? А то, что понятие эффективности может быть очень разным. Я охотно верю, что для Влада это — больше ре-шарперов и ре-фактореров (ре-факторов, ре-факеров), хороших и разных. И я ничего против этого не имею, но не надо возводить это в категорию абсолюта.
Жаль, что нет хороших инструментов рефакторинга для C++. Тогда, я думаю, ты бы оценил ту на самом деле небольшую помощь, которую они оказывают простому программисту. А со временем, возможно, не смог бы и жить без рефакторинга, как и все мы, закабалённые решарпером
Ведь неужели тебе никогда не приходилось выделять метод? Или переименовывать переменную? Или, скажем, менять название класса? Пусть эти операции составляют 1% твоей работы — почему бы не автоматизировать этот процент и не освободить свой мозг и свои руки для более благородных дел?
Да, пожжержка рефакторинга — не серебрянная пуля (думаю, Влад это и не имел в виду). Ре-допиши_свой_язык — это лишь подспорье, лишь инструмент, который может сделать жизнь краше — стоит только научиться им пользоваться.
MS>Пусть он расскажет тому же Кнуту, что тот работает жутко неэффективно. Куда он будет послан? Воот. Или, скажем, Андрю Уайлз, который угрохал семь лет жизни на доказательство "какой-то фигни". Зачем ему это надо было? — это же жуть как непроизводительно! А ответ простой — ему было чисто прикольно по жизни. Вот это и есть критерий эффективности.
Ну тебе уже говорили, что примеры не совсем корректны ввиду того, что эти товарищи грязной работой почти не занимаются. А вот возьми ты, скажем, Дона Бокса, и спроси: "- Дон, а вот что бы ты делал, если б в студии не было рефакторинга?" Дон, я думаю, ответил бы, что фигня вопрос и не нужен ему никакой рефакторинг, а сам бы закрылся в своей многокомнатной каморке и горько заплакал...
В общем, я предполагаю (читай — большое жирное ИМХО), что если бы Кнут писал достаточно много кода, он бы, скорее всего, тоже ратовал за поддержку рефакторинга студией. Потому что любой нормальный программист хочет писать как можно меньше кода и как можно меньше думать (читай — автоматизировать свою работу там, где это возможно).
MS>Владу прикольно повышать производительность труда ре-шарперами. Замечательно! Но мне-то это — не прикольно (и некоторым другим — тоже) и, следовательно, ни в коей мере не является для меня эффективным.