2013-11-27 6 views
0

Теперь у меня есть достаточное воздействие на Objective-C, если я застрял в чем-либо, я знаю, как думать о проблеме с точки зрения вероятного инструмента, который мне нужен, и искать его. Просто на самом деле. Есть метод для этого. Так что ничего не проблема.Описывает ли язык вещи за пределами себя?

Теперь я смотрю глубже на язык в более широких терминах. Мы пишем материал. Компилятор выдает весь код для его выполнения. Из простого приложения для фонариков это решение if/then для включения в сложный акселерометр, управляемый 3D-съемкой, с кровью и кистями и частями тела после всех видов физики, компилятор готовит код, готовый к выполнению, как гигантский железнодорожный макет. Независимо от того, насколько случайным оно появляется на экране, все возможное можно в целом описать и подготовиться.

Итак, вот вопрос:
Есть ли случаи, когда что-то совершенно неожиданное для разработчика программного обеспечения все еще можно обрабатывать без остановки выполнения? Возможно, мне лучше переформулировать вопрос несколькими способами: может ли (объектно-C) программа метакомпилировать внутри себя в ответ на незапланированный запрос пользователя? или повторить мое вступительное замечание, есть ли инструменты или методы для маловероятных описаний маловероятных проблем?

+0

Вы пытаетесь описать метапрограммирование (http://en.wikipedia.org/wiki/Metaprogramming)? – kfb

+0

был в курсе, и ссылки на них будут продолжены. Кажется, это уже сложившаяся школа мысли. 15 месяцев назад, как полный Noob, язык возвышался больше, чем Эверест. На прошлой неделе я не заметил, что что-то пошло «щелкнуть», но теперь я удивляюсь. «Это все, что вам нужно? Разве это так просто? Описать свою проблему с точки зрения инструментов, доступных для ее решения?» Построить. Запустить. Отправить. – aremvee

+0

с риском того, что это не кочер, чтобы написать два комментария подряд, что привело меня к задаче, было приложение, которое я написал, которое имеет методы для обработки ошибок и другие для трудноиспользуемых ситуаций. Если Пользователь никогда их не использует, код все еще записывается и загружается в устройство. Это заставило меня задуматься, могу ли я сказать компилятору, чтобы он не беспокоился о сборке этого кода до его необходимости. Можно подумать о внешнем обращении к «модулю» кода, но это обман? Так может ли мое приложение сделать это изнутри? – aremvee

ответ

1

Я думаю, @kfb имеет правильный комментарий о метапрограммировании. Ознакомьтесь с документами Runtime вместе с учебниками по метапрограммированию.

Детали вашего последнего вопроса могут быть в области this doc.

Если вы ищете способы уменьшить размер вашей кодовой базы для менее используемых функций, одна из идей может заключаться в том, чтобы использовать функции на базе Интернета (при условии, что подключение не является проблемой).

Смежные вопросы