Clamp, каждый волен делать со своим временем что ему заблагорассудится, я просто объяснял свою точку зрения - почему я считаю это занятие достойным третьего трудового разряда по сверлению зубов дракона через его же анус.
prog, написание на Jass доставляет мне некое удовольствие, хотя я даже не могу описать его причину :3 Одним из его аспектов является то, что весь код я пишу в Sublime Text 3, и почти всегда при переносе в редактор всё компилится с первой попытки. Как по мне, так это дорогого стоит!
При использовании наследования и при работе с общими интерфейсами так и есть.
В обе стороны?
Относительную универсальность алгоритмов, паттернов и наборов принципов вроде SOLID и GRASP никто оспаривать не собирается, я говорю исключительно об эффективности использования времени в ходе практической реализации алгоритма.
От одного структурного типа к другому, если типы совместимые.
При использовании наследования и при работе с общими интерфейсами так и есть.
о получении специфичного опыта взаимодействия со средой
В целом - да, это справедливое замечание. Тем не менее, мой опыт показал, что алгоритм - вещь платформонезависимая, следовательно, нет никакой разницы, в какой среде алгоритм реализовывать, главное правильно определить уровень абстракции.
Ну и я всё-таки не только в вц что-то делаю, не надо совсем уж так обобщать =(
Clamp, ок, значит полиморфизм и интерфейсы есть, были с ними проблемы в тех версиях v-jass которые мне на глаза попадались, а потом я забил.
А есть тайпкастинг между структурами, не требующий реализации дополнительных методов? От одного структурного типа к другому, если типы совместимые. С жесткой проверкой совместимости типов, а не через универсальный инт, офк.
Что касается абстрактных классов - не критично, особенно при наличии интерфейсов и возможности по работать напильником.
Да, признаю, какое-никакое подобие ООП в наличии, раньше хуже было.
Но есть же еще вторая часть в моем сообщении, которая о получении специфичного опыта взаимодействия со средой (не в смысле IDE, а в более общем). В невозможном идеале среда обучения на 100% совпадает с будущей средой реального применения - это позволяет использовать весь спектр полученных навыков. На втором месте - разнообразие различных актуальных сред на этапе обучения, что повышает шансы попасть в ситуацию из предыдущего пункта, а также добавляет кучу материала для анализа и сравнения, на чем можно здорово выехать в ряде ситуаций. Ну и только после этого идут специфичные среды вроде вара3, ценность которых именно в специфичности и расширении кругозора.
Чем не полиморфизм?
В структурах при использовании наследования можно передавать дочерний тип вместо родительского.
явный и неявный тайпкастинг
Под явный легко ложатся все нативные функции A2B(), кроме того, никто не запрещает писать кастомный функционал приведения типов (I2B(), например). При использовании структур всякие очевидные .toString().
К неявному можно отнести взаимозаменяемость int и float в некоторых ситуациях. При использовании структур vJass они очевидным образом кастятся в int.
prog, а кто сказал, что во главе угла должно стоять ООП?
Кроме того, независимо от внутренней логики работы vJass написанные на нём объектные модели работают адекватно, хотя и имеют некоторые ограничения в реализации. Почему бы и не считать это нормальным ООП? Темплейтов нету?
Clamp, полноценного ООП в джасе не запилить, только ООП-подобные костыли. Опыт по поведению конкретных движков и компиляторов, порой весьма своенравных, тоже не получить.
Это не особо скоро, как я понимаю? Герой ATM доделан не до конца, как видно из надписи "WIP", но к концу TI, полагаю, будет завершён. Хотя бы код критиковать будешь до этого? :D
сразу скажу: придумать героя у которого все способности связаны-перевязаны проще всего [...]
С механиками и пониманием юзабилити у меня пока что вроде как неплохо, всё-таки давно уже не любитель.
Энивей, спасибо за замечание =)
Sylvanas, если честно, то даже не знаю что и ответить =/
Комментарии проекта Clamp'ова кухня
Custom player controller for Warcraft 3
Одним из его аспектов является то, что весь код я пишу в Sublime Text 3, и почти всегда при переносе в редактор всё компилится с первой попытки. Как по мне, так это дорогого стоит!
Ред. Clamp
Ред. prog
Ред. Clamp
В структурах при использовании наследования можно передавать дочерний тип вместо родительского.
К неявному можно отнести взаимозаменяемость int и float в некоторых ситуациях. При использовании структур vJass они очевидным образом кастятся в int.
Ред. prog
Кроме того, независимо от внутренней логики работы vJass написанные на нём объектные модели работают адекватно, хотя и имеют некоторые ограничения в реализации. Почему бы и не считать это нормальным ООП? Темплейтов нету?
Герой после конкурса: WIP
WIP-0.
Хотя бы код критиковать будешь до этого? :D
Энивей, спасибо за замечание =)