Перейти к содержимому
Форумы SkyCentre Прыжки с парашютом
mmoustaf

Программисты философствуют

Recommended Posts

Бггг. Я представляю техсовет с твоим участием.

- Почему до сих пор не пофиксен этот баг, хотя дата фикса была уже как 2 недели назад?

У меня таких митингов нет. Извини.

У нас аджайл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я не понимаю зачем это тебе?

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

Игорь, ты делаешь неправильные выводы.

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

Мне не нужно понимать, как это работает потому что я не знаю сишарпа.

Я тебе несколько раз сказал, что я не знаю сишарпа, но тем не менее смог на основании своего опыта объяснить почем одно не работает. а второе работает.

И объяснил правильно.

Но ты до меня доебался.

По поводу "компилятор не виноват." Я не знаю сишарпа и не знаю. что в спецификации описано, но если в спецификации не описаны детали, а программисты компилятора реализовали это сообразно своему разумению - то виноваты как раз они. То есть компилятор.

Т.е. настоящий программер не снисходит до того, чтобы разобраться, как и чего работает? Написали код. Работает? Отлично. Не работает? Пофиксим методом научного тыка, а причины не важны. Если кто ищет причины - он мудак и быдлокодер, т.к. ему нужна конкретика. Я ничего не перепутал? :)

Ты делаешь неправильные выводы.

Настоящий программист пишет код один раз.

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

А дальше разница между программистом и быдлокодером.

Программист сразу пишет хорошо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
blinkenlights, машину Тьюринга в универах изучают - бреинфак для лохов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Брейнфак, кстати, изрядно просветляет. Я бы в школах его преподавал, для понимания основ и закрепления правильных навыков через БОЛЬ :)

Так его и так преподают. А боль как и положено на первой сессии

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
А в моду сейчас входит Скала.

я тока о фильме таком знаю, ну чувак вроде с погонялом есть таким

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

смотря где - у нас в школе было из года в год - "открываем МС ворд и пишем заголовок", я только в универе понял, что оказывается есть преподы, которые больше учеников знают, а не наоборот

Поделиться сообщением


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

Ну ну машина Тьюринга и цепочки Маркова это жи классика. Везде ж преподают, во имя Шуры-Буры и Жоголева, пророка его!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Потому что в начале твои объяснения были неверными :)http://www.skycentre.net/index.php?showtop...st&p=314840

Это были предположения, а не объяснения и они предварялись дисклеймером, ага.

переходя к ранее не затронутому участку кода, меняют все управление памятью с прямых вызовов на shared_ptr Они быдлокодеры, да?

Да, если делают это потому, что 'STL - это круто', давайте все на STL

Если участок кода работает эффективно и без багов, то менять его только потому, что изобрели "сишарп, STL, НЁХ, подставить еще одну никому не нужную библиотеку" - это быдлокодерство. Посокльку то же самое время можно потратить на внедрение того, что действительно нужно бизнесу.

А если в результате анализа данных стало понятно, что скажем объем сделок в секунду увеличится в 10 раз в течение года. а ПО - это поддержать не сможет - тогда пожалуйста, хоть всю систему перепешите.

Быдлокодерство - это программирование ради программирования.

или все-таки лучше переписать старый код, который после этого будет гораздо проще поддерживать и развивать?

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

АйТи отдел - не зарабатывает. Он только тратит.

Ты уверен, что переписывание старого кода просто так не увеличит затраты на поддержку и разработку и прочее?

Затраты на переучивание пользователей. затраты на декоммишн старой системы.

Более того , с большой долей вероятности в РЕАЛЬНОЙ ЖИЗНИ это приведет к появлению параллельной дублирующей системы.

При этом старую систему придется нудно декоммититиь в течение 3-5 лет.

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

И по поводу затрат - трейдер что на старой, что на новой системе заработает одинаковое количество денег.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Быдлокодерство - это программирование ради программирования.
О, как!

Всё интереснее и интереснее.

То бишь, индусы не могут быть быдлокодерами? Ведь они не программируют ради программирования, а просто выдают на гора тонны кода и не утруждаются его проверкой — ведь они безгрешны, их код идеален, каждая строка отливается в граните…

Продолжайте. Благоговейно внимаем!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
То бишь, индусы не могут быть быдлокодерами?

Вы правильно поняли, коллега.

Индусы - не могут. они вне категорий.

С таким определением я полностью согласен, но в твоих примерах это было не так :)

Вот видишь.

На самом деле в моих примерах было именно так.

Зато ничего не переписывали, а потому крутые программисты.

Если ничего не переписывали, потому что заранее написали все правильно, пусть и с использованием устаревшего инструментария - то да. Крутые программеры. Нафига потом сразу на новое перескакивать?

Ты себе машину каждый день меняешь?

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

Это не быдолокодерство, а быдлодевелопмент уже.

А вообще - если объем по переписи значителен, то лучше новую систему сразу с нуля написать.

Быстрее будет и дешевле.

Пример - РТС Плаза 2.

Если бы на нее сразу потратили кучу сил - получилось бы намного быстрее.

Поделиться сообщением


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

Игорь, ты правильно себя описал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Какое переучивание пользователей? Снаружи все остается как ипрежде.

Тогда это вообще глупое занятие.

Если черный ящик работает нафига его полностью переписывать?

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

Именно поэтому легче запилить новую систему со всеми свистоперделками сразу.

А поддержку старой прекратить.

Да? А кто тут только что писал про 2 системы и возникающие при этом эффекты с поддержкой 2 систем одновременно? :)

Я писал. Потому что одно дело - предложить новую систему сразу. И написать с нуля.

Это дешевле, чем потратить 3-5 лет на переписывание старой системы, только потому, что там спагетти код и в результате получить новую.

И начать выбивать бюджет на параллел раны, переучивание юзеров и т.д.

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

Если там все работает - и работает эффективно и не валится, то да. Я призываю оставить как есть.

Тем более, что обычно салатовидный код виден с самого начала.

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

Это будет дешевле, чем переписать старую.

Однако это требует определенной смелости в продавливании решения и твердолобости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

popcorn.gif

Причём я могу вспомнить ситуации в поддержку обоих опоннентов, но не буду, нужно доесть попкорн :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Потому что к нему нужно добавить дополнительных функций по объему примерно равных половине ящика.

Это называется "просрали все полимеры."

Ага. А пользователям сказать, чтобы подождали со всеми пожеланиями минимум года два, т.к. существующая система развивается уже более 10 лет и пока ты всю ее с нуля напишешь... То, что за это время туда придут конкуренты почему-то не учитывается :)

Нет. Ты не прав.

У вас бэклога нет что ли?

Есть.

Есть критический функционал. который нужен прям щас и он, если полимеры не просрали в разы меньше того, который нужен не прям щас.

Соответственно критических ункционал впихиваешь в обе системы. некритический в новую.

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

А то с твоих слов у меня складывается впечатление о том, что в старой системе у вас было все очень плохо. включая управление.

Короче дели тему на занимательное программирование и все остальное.

popcorn.gif

Причём я могу вспомнить ситуации в поддержку обоих опоннентов, но не буду, нужно доесть попкорн :)

так я тоже могу вспомнить.

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

И начинали вообще с изменения организационных процессов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Могу только пожелать принять участие в проекте с интенсивным использвоанием такого кода.

Трейдинговые, позишн-кипинг и бэкофис системы они как раз такие.

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

У вас документация не ведется и техписа нет?

тады конечно ой.

Тока не говори мне что у вас "супермены есть"

Переписываются те участки, которые будут затронуты в дальнейшем развитии проекта. Все остальное остается как было.

Ну если как ты говорил вам надо добавить функционал по объему равный половине старого то на мой взгляд - это явный позыв к сосзданию новой системы.

Ну и про юзеров. Не знаю как у вас, а у нас юзеры еще требуют всяких примочек в интерфейсе тоже, так что переучивать придется все равно при таких объемах изменений. если только у вас там не осциллограф на выходе с 2-мя кнопками стоит.

Мы когда v3 на v5 обновляли - так там пришлось переучивать всех. хотя менялась только консолидация деривативов.

Поделиться сообщением


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

Встречался.

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

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

Но только такое решение надо сразу пробивать. а не в середине процесса когда уже все нафиг запущено.

Индустрия новостей

И что этот новый стандарт был настолько внезапен?

Или все-таки просто заранее никто не подумал. что это может случиться?

Да тут уже столько понаписали... :) С какого места разделять?

С моей мессаги про аджайл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Ну, ок. Либо у вас код более вменяемый, либо еще что-то, чего я не учел :)

Типа того. слава богу более вменяемый.

Это было в тем времена, когда о таком даже не задумывались :)

И на мой. Вот только нет или ресурсов (2-я команда пишет все с нуля) или времени (конкуренты присут с реализацией раньше тебя).

По первой фразе - Ну вот это и называется "просрали полимеры". Между "тогда давно" и "сейчас" явно не один день прошел.

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

В результате либо должны были образоваться супермены, либо вика с документацией.

Судя по всему у вас супермены, так?

По-второму, опять таки все известно заранее бывает, тока зачастую все попытки пробить упираются "нетвремени думать. работать надо"

Ничего не понял. При чем тут переписывание старого кода? :)

Потому что под эту фичу как раз и пришлось столько переписать, что мы решили сразу сделать новую систему.

Часть команды запилила важные компоненты фичи в старую систему.

Часть сделала новую.

Через пол года мигранули пользователей.

В конце года снесли старую.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Думают и делают прогнозы развития индустрии. Честно :) И сам переход вполне прогнозировался, просто никто не ожидал, что коммуникации будут развиваться такими темпами,а потому все случилось гораздо раньше. Причем такой скорости развития не ожидал никто, включая самих новостных игроков :)

Бывает. Я вот например на базель 100500 смотрю с ужасом, не говоря уже о всяких куе.

У нас как Греция с Испанией и Ирландией волынку затянули, так мы такие проекты вырабатывали - впору было увольняться куда нибудь. лишь бы не накрыло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а о чем спор?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Быдлокодерство - это программирование ради программирования.
С таким определением я полностью согласен,
Откуда вы берёте такие определения?

Испокон веков быдлокодерство — это… с некоторыми вариациями. Обратите внимание: речь там идёт именно о качестве, а не о количестве или мотивации.

А программирование ради программирования — это спортивное программирование либо наука (позволим себе такое вольное обобщение), в крайнем случае — искусство.

Или мы живём в параллельных мирах с одинаковым синтаксисом и различными семантиками (а то и логиками)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Откуда вы берёте такие определения?

Вы прям от жизни отстаетете.

Индусы это уже пример говнокода прям.

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

Как говорил мой знакомый швейцарский санта клаус к 2000 году аждый советский человек будет жить при коммунизме компилятор паскаля сможет написать любой малолетний раздолбай.

А спортивное программирование - это не ради программирования, это просто ради искусства, я в институте таким занимался и даже олимпиады выигрывал.

Но к реальной жизни мало имеет отношения.

Собственно из этого следует, что тут все быдлокодеры, с хобби в виде нечеловеческих экспериментов в области стоматологии этих ваших олимпиад.

А те кто не быдлокодеры - те уже просто давно не кодят.

А к 2050 в говнокод скатятся все.

А потом и мир накроется.

Джоэл писал про переписывание с нуля vs поддержка старого говна http://joelonsoftware.com/articles/fog0000000069.html

И тем не менее нт написали с нуля переписав код.

Не, конечно вещи типа реактос никто не отменял.

А так да - все упирается в бабло, причем сиюминутное.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

с нуля... например отличный вариант, когда старая команда (ключевые люди) согласовывает решение, что с нуля. Пишет "концепцию" и увольняется нафик. Следующая команда основываясь на этом и предыдущей версии вкалывает. + требования свыше с переменным вектором и прочая и прочая.

Это я к тому, что "с нуля" не панацея, как и аджайл и что угодно. Ресурсы-то не бесконечны. Есть какое-то представление как правильно и что-то из них воплощается на практике, что-то нет. Есть участки кода, которые переписываются несколько раз, есть те, что живут годами. Во вторые все смотрят, говорят "надо переписать", практического эффекта ноль, откладываем. Как-то так.

И очень правильно, что надо выделить в случае переписывания базовую функциональность и её писать. Тогда хоть не так стрёмно, когда продукт продают кому-то до его написания ...

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

кстати да...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Это я к тому, что "с нуля" не панацея, как и аджайл и что угодно. Ресурсы-то не бесконечны. Есть какое-то представление как правильно и что-то из них воплощается на практике, что-то нет. Есть участки кода, которые переписываются несколько раз, есть те, что живут годами. Во вторые все смотрят, говорят "надо переписать", практического эффекта ноль, откладываем. Как-то так.

Ну в общем да. Не панацея, понятное дело.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Вы прям от жизни отстаетете.
От какой жизни? Ламерья? Так пусть мчатся вперёд, флаг им в руки, паровоз им навстречу.
Индусы это уже пример говнокода прям.
Ну, да. Один из крайних случаев широкого спектра быдлокодерства.

То что раньше было искусством - теперь доступно каждому быдловану,
Это вряд ли. Лепка поделок во всяких (де)билдерах и прочих интегрированных средах может создать у малолетних иллюзию умения программировать, но только на выходе получаются уродцы Lego.
компилятор паскаля сможет написать любой малолетний раздолбай.
Быть может, даже и напишет. Но работать это чудо будет через пень-колоду, и код генеририуемый таким юдом будет на порядки хуже, нежели у сделанного по уму.
А спортивное программирование - это не ради программирования, это просто ради искусства,
Как это „не ради программирования“? Что за словоблудие? Ради искусства икебаны, что ли?

У меня порой возникает ощущение, что в „программировании ради программирования“ союз „ради“ и, соответственно, всю конструкцию мы понимаем по-разному:

  • я — как программирование ради самого этого процесса (с целью ли собственного удовольствия, создания видимости бурной деятельности ли,…)
  • вы — как программирование для обеспечения программирования как деятельности, т.е., как разработку средств, инструментария для программистов.
Даже если это так. То почему это — быдлокодерство? Программист, создавший эффективный оптимизирующий компилятор, системные+прикладные библиотеки, среду разработки и т.д. — быдло в сравнении с лабухом от программирования, кое-как сляпавшим живопырку для конечного пользователя (используя разработки первого, и ничего в них толком не понимая)? Я ничего не перепутал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
От какой жизни?

От обычной.

Программист уже давно не просто кодит

Поэтому, тот кто только программирует - быдлопрограммер. Это к качеству кода не относится.

Это относится к уровню в иерархии.

А нормальный программер он умеет немного больше, для него процесс кодирования не основной.

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

А так, Если рассматривать понятие быдлопрограммера с точки зрения качества кода, безусловно прав ты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...