Да, ничего хорошего не получится. Это даже не скомпилируется. Однако, странное желание взять указатель на свойство, ведь под свойством совсем не обязательно скрывается поле класса соответствующего типа. Поэтому даже логично, что такой код не компилируется.
С другой стороны, это мешает применять свойства как я описал комментарием выше;
Производительность тут действительно страдает, причем даже без вычислений. Два вызова функции вместо одного на пустом месте в критической ситуации сыграют роль.
На самом деле все это было написано и опубликовано исключительно в учебных целях. В жизни я вижу одно применение этой штуки: с вас есть море написанного кода, где происходят обращения и полям класса, а вам надо все переделать, хоть в целях дебага, на сеттеры и геттеры. Это может быть не лучший выход из такой ситуации, но выход.
Надо сказать, что и в C++ тоже есть нечто подобное — typedef. А в коде выше я на самом деле вообще бред написал, обращаясь к не статическому полю как к статическому через имя класса.
Не надо забывать и то, зачем префиксы придуманы: пересечение имён. Я встречал ситуацию, когда библиотека для моделирования физики реализует класс Point, и библиотека для отрисовки реализует свой класс Point. Без префиксов попытка использовать их вместе стала бы некоторой проблемой (пространства имён существенно загромождают код). В общем пару букв всегда писать проще по-моему.
Как насчёт скорости работы? По идее очередной уровень абстракции должен замедлить работу с жёстким диском. Есть какие-нибудь исследования данного вопроса? Для меня LVM незнакомые буквы, поэтому и спрашиваю.
Действительно замечательное упражнение для изучения языка. Хотя сам алгоритм игры жизнь вы сделали не оптимально. Любые ветвления в коде шейдера — потеря производительности. Можно заменить все ветвления хеш-таблицей. Всего существует 16 вариантов состояния клетки и её окружения. Это совсем немного. Это ещё и неплохое упражнение и в новом языке, и вообще в программинге.
Объясните, пожалуйста, незнакомому с этой проблемой человеку, разве нет компиляторов нормальных языков под яблочные платформы? Я слышал, что есть компиляторы для c++, и что не обязательно изучать objective-c чтобы писать под мак, айфон и т.п.
Видимо из-за того, что я больше похож на вас в первом семестре, нежели на втором, я заметил одну проблему второго подхода: попробуйте сдать незнакомому преподу, который не даст вам пообщаться с одногрупниками на экзамене. Это редкость, но при этом такому преподу есть риск не сдать даже с пересдачи. С другой стороны у первого подхода тоже есть свои недостатки.
В целом с вами согласен — и сам был свидетелем подобных ситуаций в университете.
Через окна под углом конечно не летает, но тоже неплохо. Мне кажется ему не хватает скорости реакции и маневренности — как-то уж слишком плавно он всё делает.
С другой стороны, это мешает применять свойства как я описал комментарием выше;
armorgames.com/play/2205/light-bot
Хотя здесь явно больше намудрили.
Она правда не слова выводит, а цифры. 3 если кратно 3, 0 если 5 и 30 если и то и то.
Конечно и проц послабее, и производство noname, и андроид не тот, но своих $99 стоит, в отличии от этого.
В целом с вами согласен — и сам был свидетелем подобных ситуаций в университете.