Crystallize
Угловые скобки — признак того, что перед тобой шаблон. Капсят по традиции, когда определили макрос. А квадратные скобки используются для доступа по индексу.
Я вообще когда пишу очередную скриптовую систему стараюсь всегда придерживаться синтаксиса С\С++, чтобы было интуитивно понятно при первом же изучении. Тех, кто изобретает свой синтаксис ждёт аддельный котёл в аду, например авторов петона.
Дядя Миша писал:
Тех, кто изобретает свой синтаксис ждёт аддельный котёл в аду, например авторов петона.
Главный порок синтаксиса петона — индентация без вариантов, а не то, что он не сишный. Петон в конце концов не преподносится как производный от си, так что тут взятки гладки.
В моём представлении любой скриптовой язык это в первую очередь песочница и безопасная работа с памятью. Зачем там изобретать новый синтаксис мне вообще непонятно. Я могу понять какие-то небольшие отличия, обусловленные возможностями языка. Но всё переиначивать это маразм.
Добавлено 23-09-2019 в 13:21:
Народ живёт стереотипами, ему почему-то кажется, что это его святой долг - выдумать совершенно новый непохожий синтаксис. В связи с этим вспоминается, как Лебедев устроил конкурс на самую лучшую панель кнопок для лифта и куча идиотов прислала ему совершенно дикие варианты. Вот тоже самое абсолютно. Сишный синтаксис в первую очередь ценен своей максимальной наглядностью и удобочитаемостью. Первый признак мудака - это когда начинают заменять фигурные скбоки, то вообще их выкинут как в петоне, то пропишут словами begin\end или на квадратные заменят. Вот зачем спрашивается? А низачем, чтобы люди страдали. Thambs например. Он жы любит страдать.
Дядя Миша писал:
Зачем там изобретать новый синтаксис мне вообще непонятно
Потому что набор идей в основе языка другой и сишный синтаксис (который вообще говоря не прописан в уголовном кодексе как обязательный) не подходил. Хорошо ли или плохо реализован этот набор, это другой вопрос =)
Я вам больше скажу - никто и никогда не проводил психовизуальное тестирование восприятия разного синтаксиса человеческим глазом. А если бы провели, то очень быстро убедились, что отличные от С\С++ варианты максимально затрудняют восприятие, особенно в тепичном блокноте без подсветки.
Добавлено 23-09-2019 в 13:25:
Цитата:
nemyax писал: Потому что набор идей в основе языка другой
Другой набор идей был в старом васике, который исполнял код, прыгая по нему при помощи goto и там еще строки надо было вручную нумеровать, да.
У меня на спектруме такой был.
Добавлено 23-09-2019 в 13:26:
Есть всего два варианта: со стеком или без. Остальное - косметика.
Дядя Миша
Ну смотри.
- Типы расслабленные, значит половина сишного синтаксиса уже отпадает, в том числе способ объявления функций.
- Встроенные составные типы: кортежы, списки, словареги. Нужен синтаксис.
- Присутствуют всякие фишки из функциональщины типа анализаторов списка, лямда-функций и зайчатошного паттерн-матчинга. Раньше, чем Страус начал скотчем приматывать их к плюсам.
И так далее. Так что по-любому от сей мало что осталось бы. Ну если бы занимались именно художественной резьбой по сям.
Никаким. Конкретно это — обычная щепотка маразма. Фигурные скобки действительно не помешали бы. А инициализировать словарики можно было бы и по-другому.
Добавлено 23-09-2019 в 15:04:
Вообще говоря, ну если нужен сиподобный скриптовой язык, вон же Squirrel.
Дядя Миша писал: ни в коем случае квадратные. Шаблоны вот именно так и обозначают через треугольные.
Люди которые будут в конечном счёте использовать эту систему, скорее всего не будут программистами и не будут иметь привычки к сишному синтаксису. Мапперам и художникам тоже нужно будет задавать какие-то материалы. Мне просто кажется что для обычного человека идея задавания некоего поля с типом сущности где можно уже перебирать конкретные сущности - эта идее более наглядно выражается квадратными скобками, астерисками по обоим краям, или верхним регистром. Треугольные скобки - они в чём-то на кавычки похожи.
Может ты и прав, впрочем.
Ты тут затронул две крупные темы, это очевидность сишного синтаксиса и про дизайн тоже.
Те "идиоты" которые Лебедеву слали всякие странные эскизы, они поняли дизайн как что-то что должно быть оригинально, интересно, круто, и зрелищно. Я могу их понять, потому что если дизайнить всё как айфон то от скуки выть захочется.
Crystallize писал:
Люди которые будут в конечном счёте использовать эту систему, скорее всего не будут программистами и не будут иметь привычки к сишному синтаксису
Раз уж они полезли в код, то пусть будут готовы встретить смыслы там, где не ожидали, или не такие, как ожидали. Где они были, когда создавался си? А щас уже поздняк метаться.
Crystallize ну лебедев вообще заново пирдумал букву "М" за сто лярмов, чо уж там
Добавлено 23-09-2019 в 16:35:
Цитата:
Дядя Миша писал: таких как <wadname>
Here we go again
Добавлено 23-09-2019 в 16:35:
Цитата:
KiQ писал: Где они были, когда создавался си?
В планах)
Добавлено 23-09-2019 в 16:42:
Если брать систему материалов в таком варианте, то логично завести файлик типа mats.def, где и делать все привязки, а сами материалы соответственно прописывать в каждый файл отдельно. Но вообще это имхо уже ненужное нагромождение. Просто сканировать папку materials и загружать все материалы. Тут ведь проблема скорее не в том, как в движке это реализовать, а как на этапе маппинга задать материал геометрии. Ну, скажем, если мы делаем что-то моделькой, то ID материала указывается в блендере/максе или где там кто моделлит. Если мы кубаем - то тут уже сложнее. Идет привязка к имени текстуры, ну это все знают, разные там префиксы и прочее. А вот унифицировать это все пока что по идее никаг
Crystallize писал: эта идее более наглядно выражается квадратными скобками
вот как раз наоборот квадратные скобки меньше бросаются в глаза их легко перепутать, вспоминайте чортовы FGD, где постоянно забывали на этот счёт.
Добавлено 23-09-2019 в 16:58:
Вообще очень тяжело писать код, когда в голове еще не выстроилась система. Я когда так пишу у меня код страдает чудовищной избыточностью, потом лишнее удалять приходится.
Цитата:
KiQ писал: то логично завести файлик типа mats.def, где и делать все привязки,
шаблонов может быть сколько угодно, я их придумал объявлять в хидерах. Ну конечно это необязательно, можно и в mat-файле.
Определённое имя имеет только materials.def, но это совсем другие данные.
То что находится там используется в основном физикой.
А вообще говорю, тут основная проблема с точки зрения потенциального разработчика игры - не в движке, а в инструментарии. Ну то есть, если например вы с Ксероксом наладите диалог, и в джеке появится плагин ориентированнный именно на NT - то это будет прям бум-круто. А если пользоваться тем инструментарием, что пока доступен, то многих это отпугнет в принципе (порог вхождения и все такое), для остальных создаст определенные неудопства в разработке. То есть, ту дело в чем. Как я понял из озвученных задумок, планируется основательно перелопатить движок и либы. Но это закономерно приводит вот к чему, у каждого движка есть определенная сформированная экосистема. Скажем, кто-то до сих делает уровни под дуум, или кубает под халфу и т.д. В случае с NT получается так, что люди, еще вчера кубавшие под халфу, получают по сути движок на две головы выше, но со схожими принципами. И очень важно, чтобы инструментарий соответствовал. Есть уже компиляторы карт, моделей, и другие Xash Tools, но вот в плане маппинга, учитывая общую идею и общее направление мысли, как движок будет развиваиться, тут нужно думать в этом плане. Потому что как бы движок не был хорош, для игроделов все в итоге решает инструментарий, понимаешь да?