Zemlaynin
> По вашей логике, если я не умею писать плохой код, то я плохой программист?
Ну, как бы, Вы пока еще совсем не программист.
Программист просто пишет код, который решает задачу.
Если ему приходится думать о том, как сделать его "красивым", значит он еще не понимает, что такое "красота кода", не чувствует, как она сама собой возникает из правильности решения задачи. По дурости, считает "красотой" никому не нужные "общепринятые правила оформления программных документов". Верит в "рефакторинг".
gudleifr
Я не говорил про "красивый код", я говорю о оптимальном коде в плане производительности.
gudleifr
> Ну, как бы, Вы пока еще совсем не программист.
Вот поэтому и плодиться куча программистов которые в коде пишут:
int a=5*2;
а не:
int a=5<<1;
Zemlaynin
> я говорю о оптимальном коде в плане производительности.
Потому, что пока не понимаете, что "оптимальность в плане производительности" - это "сферический конь в вакууме". Она нужна (красива) только там, где нужна (а такое бывает крайне редко).
Тупо же заменять "int a=5*2;" на "int a=5<<1;" нет никакого смысла. Возможно тут читающий программу должен ясно видеть, что именно "5" и именно "2", а, возможно, можно вставить "10" в нужное место программы, не заводя переменную "a".
Я тут как-то на другом форуме попытался перечислить особо запомнившиеся случаи "оптимизации":
gudleifr
> Потому, что пока не понимаете, что "оптимальность в плане производительности" -
> это "сферический конь в вакууме". Она нужна (красива) только там, где нужна (а
> такое бывает крайне редко).
Почему же не понимаю. Отлично вижу сам что мой перфекционизм при написании кода влияет на время его написания. Вот и спрашиваю как это побороть.
> Возможно тут читающий программу должен ясно видеть, что именно "5" и именно
> "2", а, возможно, можно вставить "10"
В данном конкретном примере было бы правильно написать int a = 10. Но надеюсь вы поняли что это был утрированный пример.
> 8 ) Т.к. конкретно моя работа состояла в анализе ПО, я выяснил, что главная
> причина торможения - обычно, бешеная избыточность кода современных кодеров.
> Причем, заставлять исправлять их огрехи оптимизатор бессмысленно, т.к.
> количество критических ошибок программистов так же было очень велико.
> Избыточный код порождал избыточные ошибки. Приходилось заставлять переписывать.
Вот я про это и говорю, и вы со мной согласны в своих же примерах. Современные кодеры пишут избыточный код. Но тут же говорите что не стоит обращать на это внимание ведь написанный код работает. А ведь тут есть огромное место для оптимизации.
Zemlaynin
> Но тут же говорите что не стоит обращать на это внимание ведь написанный код работает
В том-то и дело, что не работает. Точнее, в большинстве случаев, Вы не можете об этом судить, т.к. избыточность крайне затрудняет поиск ошибок. Нет никакого противопоставления между "работает" и "причесан". Если есть нужда в причесывании - значит, он не работает.
krechmar
> Не хочу мусолить очевидности, но, всё-таки, когда исчез институт авторских
> критиков?
Примерно с появлением высокоскоростного интернета и сайта "тытруба". До его появления был необходим испорченный телефон в виде журналистики, теперь с возможностью бесплатно посмотреть хоть час геймплея, хоть полное прохождение по ютубу и через видео получить полное представление об игре - необходимость в игровой журналистике сама собой отпала. В России как раз это совпало с кризисом 2008 года, который многие издания убил сразу. Только и всего.
Кроме того, работа журналистики, заключавшаяся в проплаченном продвижении тех или иных продуктов гораздо эффективнее стала выполняться видеоблогерами.
nonamezerox
> посмотреть хоть час геймплея по ютубу и через видео получить полное представление об игре
Другими словами, на смену Белинским пришли Шариковы...
gudleifr
Да даже не Шариковы. Тупо молчаливый видеоряд. Без какой либо демонстрации личности автора.
Объективно говоря, для 90% игроков белинские были нахрен не нужны, им нужны было представление "про чо вообще такая-то игра". И если раньше диалап их вынуждал обращаться к творчеству белинских, то с появлением широкополосного доступа они стали нахрен никому не нужны. Собственно, УЧУ пал первым еще до кризиса именно по этой причине - 10% интеллектуалов рынка не делают, а у быдловатых конкурентов к тому времени появились DVD с видеоманией. Дальше уже и конкурентов вынес ютуб с полными прохождениями.
Да и сами белинские, будем честны, к этому моменту немного так забухали, забронзовели, обросли недюжинным ЧСВ и в конечном итоге потеряли всяческую репутацию в попытках построить бизнес на продвижении продуктов вместо объективности.
Впрочем - видеоблогеров всё это еще ожидает, но у них, с точки зрения их "покупателей" есть охренненно долгоиграющеее преимущество - видеоблоггеры как некий "бренд" абсолютно заменяемые - обосрался на публику один - раскрутили нового. Тем более методичек по видеоблогингу сейчас такое количество даже в бесплатном доступе, что поставить речь и раскрутить можно любую обезьяну.
И так, на самом деле со всем с появлением массового рынка:
Музыка развивалась много веков, в итоге родив квинтово-квартовый круг и простую методичку как по нему как комбинировать ноты "что бы канало" - всё её развитие было выброшено в помойку.
То же и с кинематографом и литературой, оказалось что голого ядра драматических ситуаций разработки времен античности оформленного в визуальный ряд вполне достаточно для массовой публики.
Zemlaynin
> Вот поэтому и плодиться куча программистов которые в коде пишут:
>
> int a=5*2;
> а не:
> int a=5<<1;
Большинство компиляторов вычисляет такие строчки "на лету", сводя оба варианта к int a=10. Как можно что-то оптимизировать, если не знаешь что происходит? )
Fantarg
BingoBongo
Zemlaynin
> В данном конкретном примере было бы правильно написать int a = 10. Но надеюсь
> вы поняли что это был утрированный пример.
Если вы не поняли суть данного примера это очень плохо. Суть примера в том что <<1 работает во много раз быстрее чем *2.
Приведу другой пример. Есть задача. Один программист потратил на ее решение 10 дней. Его решение занимает 1 минуту процессорного времени и 1ГБ ОЗУ. Второй программист решил эту задачу за 14 дней, его решение занимает 1 минуту процессорного времени и 0,7ГБ ОЗУ.
В современном мире первого программиста будут считать лучшим чем второго?
Но опять же все это утрированно, у второго программиста и скорость выполнения будет больше :) И тут можно будет поспорить кто лучше.
Zemlaynin
> Суть примера в том что <<1 работает во много раз быстрее чем *2.
Попробуй погуглить ответ на этот вопрос или замерить стоимость умножения и побитового сдвига самостоятельно.
Zemlaynin
> В современном мире первого программиста будут считать лучшим чем второго?
1 и 0.7 можно считать равными результатами по отношению к памяти
BingoBongo
> Попробуй погуглить ответ на этот вопрос или замерить
Думаешь не пробовал? От реализации к реализации результаты сильно разняться.
> 1 и 0.7 можно считать равными результатами по отношению к памяти
Ну раз так, то мне все понятно. Спорить с вами не буду.
Zemlaynin
> Приведу другой пример. Есть задача.
В канонической форме эта задача выглядит так:
Нужно просто отсортировать массив.
Первый программист, начинает рассуждать о быстросорт, анализировать медиану: когда кончается время, тупо пишет сортировку пузырьком.
Второй программист, сразу, не раздумывая, начинает писать пузырек, ошибается, переделывает, но справляется.
Третий - сразу заявляет, что не видит проблемы, т.к. бытросорт есть в Win API...
Так вот. Хороший программист, это не один из трех, а тот, кто знает, в какой момент нужно в себе включить одного из них.
> Как создать игру мечты, опубликовать её и не умереть в процессе
"Для задающих такой вопрос ответ НИКАК .
Если вы задаетесь таким вопросом то геймдев не ваше и не надо в него лезть."
Я бы написал эти строчки и еще кое что из этого длинного опуса, люди с мозгами (точнее с извилинами больше чем одна) и так знают что описано в статье, а у которых нет мозга, им и не надо лезть в геймдев, а что бы еще больше демотировать, добавил бы из этого опуса вот это:
"В настоящее время установлено, что только одна из десяти игр, получивших инвестирование, успешна, и только две/три отбивают вложения (это может варьироваться в зависимости от источника финансирования). "
Вот эти строчки достаточны в этой статье, ВСЕ, этого более чем достаточно )
P.S. Абсолютно согласен с мнением что статья просто реклама движка.
Тема в архиве.