Adamos, все очень просто. На самом деле нет плохого и хорошего кода. Я говорю с позиции ентерпрайза. Я уже там более 15 лет. Я не просто так писал про количество.
Коллективный код - это просто джентльменское соглашение между группой разработчиков что дескыть "мы будем писать именно так". Ты поймешь это когда будешь изучать чужой код и чужого кода будет очнеь много. И там тебя будет раздражать каждый пробел и каждая запятая. Стиль кодирования - это не пустой звук. Он реально существует. И по этому стилю написаны сотни рекомендательных документов. И каждая проектная группа. Беря язык разработки - создает свои правила. 90% эти правила будут просто копи-пастой стандартных документов больших корпораций. Плюс какие-то мелкие свои соглашения. Типа мы переносим фигурную скобку всегда на новую строку или оставляем справа. С++ ники переносят. Java-исты сейчас кодят в Egyptian-Style.
Я думаю что настоящие TruЪ геймеры положат болт на стриминг. Дело в том что ping на другую сторону планеты (НьюЙорк к примеру) ходит 120 милисекунд. Это - зазор недопустимый для геймера. Ему играть будет уже некомфортно. Тоесть даже если будет решен вопрос с мегабитами или гигабитами - никто не решит вопрос с лагом. Это физика мать ее. Реальный мир.
Я охотно верю что в экспо-центрах и на презентациях стриминг красиво смотриться но в массовость его я не верю т.к. это игры богатых. Золотого миллиарда. Вообще в мире не хватает электроэнергии. Это кстати один инженер посчитал. Что мы никогда по планете Земля не построим 100Гб. Наша экономика просто не потянет столько электричества для конечного пользователя.
В мире последние лет 15 игровые технологии в браузер заходили рывками. Итеративно. Сначала Jscript, потом Macromedia Flash. Потом WebGL/Unity. И каждый следующий рывок - более мощний и тяжкий для комьютера юзера. Вспомните. Когда вы приходите в торговый центр покупать себе ноутбук - вы больше всего обращаете внимание как он открывает современные сайты.
Сегодня уже браузер - это самое жрущее ресурсы приложение. И хотя на него нет строго единого стандарта (по сути 4 большие корпорации пилят 4 браузера независимо друг от друга) но какой-то глобальный тренд на веб-игровую платформу есть. Эдакий себе противовес Steam-у с его инсталляциями и покупкой лицензий.
Догонит или нет - вопрос больше запоздалый. Скорее цена вопроса сегодня - КОГДА.
Когда пользователь зайдет на сайт. Наберет ссылку и просто будет играть. Как инженер - я не вижу никаких ограничений. Это возможно. Есть просто взгляды на безопаснсоть (майнинг крипты на вашем железе и вирусы). И я думаю что в будущем будет специальная игровая ОС наподобие XBox где не будет ничего кроме браузера. Рай для геймера.
Амазон вполне может лагать. Смотрите какой тип инстанции EC2 куплен. Они разные. У Амазона также есть свои регламенты техобслуживания. Смотрите Cloud Watch logs.
Виктор П., ты описал то как работает транслятор и как получается на выходе AST. Это все существовало еще в эпоху когда ООП не было. Было обычное функциональное и процедурное программирование.
Вот это уже другой разговор. Ближе к современой астро-физике. Если мне не изменяет память - сейчас все массы разлетаются в разные стороны после взрыва. Но очевидно автор моделирует свою вселенную. И надо у него спросить. Что за вселенную он создаёт?
Да. Для игровой логики - численный метод единственный вариант. Но здесь есть один интересный нюанс. Чем больше во вселенной объектов в с массой - тем просчет будет больше в квадарате. Ведь мы обязаны просчитать каждое с каждым. Тут нам в помошь могут прийти структуры данных типа spatial. Но я - не из геймдева. Я просто ентерпрайз разработчик для бизнеса. Поэтому я умолкаю и послушаю что скажут физики геймдейверы.
Николай имел в виду саму неудачность постановки. Если чел хочет делать сложную задачу "без либ" то он скорее всего не понимает уровня сложности всей системы. Он сам логически придёт к тому что в ЕГО СОБСТВЕННОМ коде возникнут те-же самые либы. И таким образом возникнет еще один вопрос - а был ли смысл их дублировать?
Что кто-то пишет в наше время свои ОПЕРАЦИОННЫЕ системы чтоб сделать CRM? Или кто-то пишет свой драйвер для оборудования просто так?
Это же безсмысленное распределение ресурсов? Можно откладывать главную задачу еще на 100 лет пока автор пройдет все анализаторы и стеммеры и создаст СВОИ (!) собственные словари всех языков мира во всех склонениях и спряжениях.
По поводу стола и стула. Где-то на рубеже 20го века когда только начали строить machine vision. Возникла задача - отличить на фотографии стол и стул. До сих пор задача принципиально нерешена. Видимо для ее решения - недостаточно просто зрения. А нужно еще что-то.
И нужна формальная защита от циклов. Чтоб не было умных диалогов в виде - У попа была собака - он ее убил.... Или едем дальше - видим мост. На мосту ворона сохнет.
Топик напомнил софистический спор на тему - Может ли Бог создать такой камень котороый сам поднять не сможет.
Очевидно что в вопросе есть взаимное противоречие. И пока его не устранить - никуда нельзя двигаться.
Ради инженерного дискурса - предлагаю автору почитать про Фильтр Блума. Эта структура данных наподобие HashMap и позволяет хранить объекты с произвольными ключами и boolean value. Но она обладает таким свойством что у нее принципиально нет итератора. Тоесть ты можешь взять объект явно по ключу. Но не имеешь возможности проитерировать все объекты. (Кстати их - бесконечность).