Страница кода — это не публикация. Чтобы превратить это в статью должна быть тема (уже есть: транслит), описание задачи, которую решаем, какое-то исследование и решение. Код можно положить на GitHub и дать ссылку на него. Если мы говорим о JavaScript, то сейчас, де-факто, код следует оформлять в виде npm-пакета.
Что-то я щас припоминаю, во втором и третьем Crash Bandicoot есть несколько видов со звёздным небом, и, похоже, там тоже используются полигоны. А ещё там используются полигональные эффекты для разнообразных взрывов. Выглядело клёво.
Не круто, но если это действительно становится проблемой (а до определённого предела это лишь академическое замечание), то я уверен, что можно вынести шаблоны в отдельные файлы и использовать шаг сборки: gulp, плагины browserify для инклуда файлов и т.п.
Ещё есть альтернативный подход к решению этой проблемы: использование конструкторов JS для генерации виртуального дерева. Можно использовать встроенные в React конструкторы, а можно использовать библиотеку, которая позволяет сделать это более лаконично, например JSnoX.
Лично для меня это не является проблемой, потому что можно вообще не использовать JSX. По какой-то причине я не полюбил JSX, хотя до этого имел дело, например, с Ангуляром и Vue, которые постулируют похожий подход работы с разметкой. Использование чистого JS видится мне более гибким и компонуемым.
Не так давно читал где-то (кстати, по-моему, на вашем ресурсе, psywalker), мол, HTML5 это живой стандарт и никаких HTML6 и HTML Next не будет, а будет «дополняться» существующий «стандарт». Это мнение подкрепляется чтением данного обзора: некоторые фичи клёвые, но в целом никак не тянут на революционность или некстген, скорее, разумное продолжение в развитии HTML5. Прав ли я, что термины HTML5/Next здесь чисто маркетинговые?
«Стабфонд» Apple в настоящий момент составляет $178 миллиардов наличными и ценными бумагами. Судя по всему, Apple уже просто не знает, куда их потратить.
Начинать нужно с языка, который:
1. Имеет небольшой багаж архитектурных проблем.
2. Позволяет быстро переходить от кода к работающей программе.
3. Мультипарадигменный.
(1) — Это означает, что обучающийся будет мыслить в терминах некоторых здоровых концепций, а не бороться с конкретными проблемами конкретных языковых сред.
(2) — Это означает, что можно проводить быстрые итерации в разработке (что-то поменял, запустил, посмотрел) без необходимости настраивать окружение, разбираться с тонкостями компилятора. Это позволяет увидеть результат быстро и поддерживает внимание ученика на том, что он делает.
(3) — Если язык позволяет мыслить в нескольких парадигмах, то обучение на нём также можно проводить сразу по нескольким парадигмам. При этом не придётся каждый раз выделять часы на вводный курс по синтаксису, компилятору/интерпретатору.
По всем трём пунктам идеально подходит Python. Я считаю, что этот язык является оптимальным в качестве первого языка для обучения программированию.
Намного более интересным вопросом я считаю «Что использовать в качестве второго языка для обучения». При условии, что если первый язык был выбран верно, конечно. Лично я считаю, что тут можно двигаться сразу в двух направлениях:
1. Эффективные типизированные языки. В начале курса заглядываем под капот того же Питона и видим громадный оверхед на все действия. У ученика возникает естественное желание более эффективно использовать данные нам столь мощные железки. Переходим к изучению строгой типизации, времени жизни, вывода типов, деструкторов, обобщённого программирования. Языки: современный C++.
2. Предельно гибкие языки. Тут мы подводим ученика к вопросу где проходит грань между синтаксисом, кодом и данными языка на примере какого-нибудь диалекта Lisp. Хорошим вариантом будет Scheme или Clojure.
through?Впрочем, посмотреть чего они достигли всё же надо.
Ещё есть альтернативный подход к решению этой проблемы: использование конструкторов JS для генерации виртуального дерева. Можно использовать встроенные в React конструкторы, а можно использовать библиотеку, которая позволяет сделать это более лаконично, например JSnoX.
Лично для меня это не является проблемой, потому что можно вообще не использовать JSX. По какой-то причине я не полюбил JSX, хотя до этого имел дело, например, с Ангуляром и Vue, которые постулируют похожий подход работы с разметкой. Использование чистого JS видится мне более гибким и компонуемым.
2. Какая модель монетизации у браузера?
1. Имеет небольшой багаж архитектурных проблем.
2. Позволяет быстро переходить от кода к работающей программе.
3. Мультипарадигменный.
(1) — Это означает, что обучающийся будет мыслить в терминах некоторых здоровых концепций, а не бороться с конкретными проблемами конкретных языковых сред.
(2) — Это означает, что можно проводить быстрые итерации в разработке (что-то поменял, запустил, посмотрел) без необходимости настраивать окружение, разбираться с тонкостями компилятора. Это позволяет увидеть результат быстро и поддерживает внимание ученика на том, что он делает.
(3) — Если язык позволяет мыслить в нескольких парадигмах, то обучение на нём также можно проводить сразу по нескольким парадигмам. При этом не придётся каждый раз выделять часы на вводный курс по синтаксису, компилятору/интерпретатору.
По всем трём пунктам идеально подходит Python. Я считаю, что этот язык является оптимальным в качестве первого языка для обучения программированию.
Намного более интересным вопросом я считаю «Что использовать в качестве второго языка для обучения». При условии, что если первый язык был выбран верно, конечно. Лично я считаю, что тут можно двигаться сразу в двух направлениях:
1. Эффективные типизированные языки. В начале курса заглядываем под капот того же Питона и видим громадный оверхед на все действия. У ученика возникает естественное желание более эффективно использовать данные нам столь мощные железки. Переходим к изучению строгой типизации, времени жизни, вывода типов, деструкторов, обобщённого программирования. Языки: современный C++.
2. Предельно гибкие языки. Тут мы подводим ученика к вопросу где проходит грань между синтаксисом, кодом и данными языка на примере какого-нибудь диалекта Lisp. Хорошим вариантом будет Scheme или Clojure.