Size: a a a

Compiler Development

2020 January 11

IK

Ivan Kochurkin in Compiler Development
Вот, например, огромный конечный автомат с магическими числами: https://github.com/TerryCavanagh/VVVVVV/blob/f7c0321b715ceed8e87eba2ca507ad2dc28a428d/desktop_version/src/Game.cpp#L612
источник

AK

Andrei Kurosh in Compiler Development
Ivan Kochurkin
Да, я уже заценил говнокод, там не только в этом файле. Но автор и сам писал, что за 10 лет он вырос как программист, стал качественней, но медленней прогать.
Аналогичная история. Я в детстве пользовался одним визуальным конструктором игр и с помощью костылей и лютой копипасты получалось довольно быстро соорудить вменяемую игру. А сейчас на простейшую стрелялку под мобильные устройства уходят годы
источник

C

Constantine in Compiler Development
Andrei Kurosh
Аналогичная история. Я в детстве пользовался одним визуальным конструктором игр и с помощью костылей и лютой копипасты получалось довольно быстро соорудить вменяемую игру. А сейчас на простейшую стрелялку под мобильные устройства уходят годы
наговнокодить норм работающую игру, выпустить, а потом ее постоянно подчищать от говнокода не вариант🤔
источник

IK

Ivan Kochurkin in Compiler Development
У меня скорее наоборот. В детстве из-за говнокода, лапши, преждевременных оптимизаций почти ничего не довел до вменяемого рабочего состояния. Из-за этого всего начинала болеть голова, я даже сомневался, а программирование - это вообще мое?) Зато сейчас довожу, думаю нашел баланс качество - работоспособность. Игру бы напил, если бы писал, может как-нибудь доберусь 😊
источник

AK

Andrei Kurosh in Compiler Development
Constantine
наговнокодить норм работающую игру, выпустить, а потом ее постоянно подчищать от говнокода не вариант🤔
да вот в том-то и дело, что режим говнокодера блокируется с опытом. не получается так писать, подсознание заставляет любую задачу абстрагировать и решать оптимальным образом, даже если это не нужно
источник

M

MaxGraey in Compiler Development
Ivan Kochurkin
Да, я уже заценил говнокод, там не только в этом файле. Но автор и сам писал, что за 10 лет он вырос как программист, стал качественней, но медленней прогать.
Я бы не стал говорить про такой уж качественный рост) Во первых он остался на flash по-сути, последний его проект Haxegon написан на Haxe. Ну и можно взглянуть например на эту функцию:
https://github.com/haxegon/haxegon/blob/master/haxegon/S.hx#L158
источник

C

Constantine in Compiler Development
MaxGraey
Я бы не стал говорить про такой уж качественный рост) Во первых он остался на flash по-сути, последний его проект Haxegon написан на Haxe. Ну и можно взглянуть например на эту функцию:
https://github.com/haxegon/haxegon/blob/master/haxegon/S.hx#L158
тернарник бы заюзал
источник

C

Constantine in Compiler Development
если он есть в хаксе
источник

AK

Andrei Kurosh in Compiler Development
там и тернарник не нужен, это чисто булево выражение
источник

AK

Andrei Kurosh in Compiler Development
!Math.isNan(Std.parse(...))
источник

C

Constantine in Compiler Development
а ну да🤔
источник

M

MaxGraey in Compiler Development
MaxGraey
Я бы не стал говорить про такой уж качественный рост) Во первых он остался на flash по-сути, последний его проект Haxegon написан на Haxe. Ну и можно взглянуть например на эту функцию:
https://github.com/haxegon/haxegon/blob/master/haxegon/S.hx#L158
Или вот какой смысл вот в таких утилитах?
https://github.com/haxegon/haxegon/blob/master/haxegon/S.hx#L32

или таком:
https://github.com/haxegon/haxegon/blob/master/haxegon/S.hx#L146

когда есть это:
https://api.haxe.org/StringTools.html#trim

Ну и так далее)

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

Я опять же убеждаюсь, что ЯП - это всего лишь инструмент. Большинство ругает JavaScript, C++, Java, Python, но на них пишется львиная доля приложений / сервисов которыми мы пользуемся и так будет похоже еще очень долго)
источник

E

EgorBo in Compiler Development
вот для чего парсинг флотов ускоряют и придумывают всякие руи
источник

C

Constantine in Compiler Development
Andrei Kurosh
!Math.isNan(Std.parse(...))
а в хаксе нет ctype? 🤔
источник

AK

Andrei Kurosh in Compiler Development
Constantine
а в хаксе нет ctype? 🤔
как он поможет для проверки валидности float?
источник

M

MaxGraey in Compiler Development
EgorBo
вот для чего парсинг флотов ускоряют и придумывают всякие руи
Ага, а еще v8 имеет fast path для JSON.parse(JSON.stringify(obj)) =)
источник

E

EgorBo in Compiler Development
пора короче вводить в силикон инструкцию по парсингу
источник

AK

Andrei Kurosh in Compiler Development
EgorBo
пора короче вводить в силикон инструкцию по парсингу
с поддержкой глобализации!
источник

BD

Berkus Decker in Compiler Development
Constantine
наговнокодить норм работающую игру, выпустить, а потом ее постоянно подчищать от говнокода не вариант🤔
Ты описал любой ААА тайтл
источник

E

EgorBo in Compiler Development
Andrei Kurosh
с поддержкой глобализации!
уф
источник