>>78705> Разумеется, написать приложение под 1 устройство намного проще, чем написать приложение под весь зоопарк устройств.
Не только в этом дело. Паста с ithappens, правда, про макось, старшую сестру iOS:
Вышла Windows 95. Вони было выше крыши: никакая, мол, не операционка, а дешёвая графическая оболочка вокруг DOS. «Немонолитная» операционная система, оттого и кривая. Холивар — далее везде со всеми остановками.
И вдруг выходит Mac OS X. Извините за аналогии с W95, но на опенсорсное ядро натянута подобранная на помойке и слегка подкрашенная графическая оболочка от дохлого NextStep. Причём подобранная вместе с языком программирования, поскольку на другой язык переползти кишка тонка оказалась.
Язык этот (Objective-C) представляет собой зелёную тоску программиста-сишника прошлого тысячелетия по SmallTalk. Программировать «кошерные» графические приложения можно только на нём. В языке одновременно присутствуют три (!) стратегии сборки мусора, которые замысловато взаимодействуют между собой. От версии к версии программный интерфейс к графической оболочке рихтуется так, что приходится заводить новую сборку под каждую новую цифру после «10».
Макось не виснет? Ага, щас. Объясню почему. В Objective-C обращение к пустому объекту ошибкой не является. Вы пришли в магазин колбасы купить, а её нет — пустой объект. Нормуль — берём это ничто, идём домой и старательно щёлкаем зубами — типа, едим. Никакой ошибки нет — нормальная ситуация. Надеюсь, доступно изложил. Три сборщика мусора подрались и случайно (по программерской ошибке) затёрли какой-нить объект. Пользователь нажимает кнопки — реакция не та или вообще никакой. Потыкается — да и перезапустит программу. Зато падения нет.
Давеча так и случилось: подвис док, та самая полупрозрачная хрень с иконами запущенных программ, обычно живущая внизу экрана. Новые иконы не кажет — соответственно, работать и отлаживаться нельзя, поскольку моя программа запускается перетаскиванием документа на икону приложения. Решил перезапустить. Мышка елозит, кнопки «Quit», «Force Quit» и прочие прекрасно нажимаются, однако результата никакого — колбасы нет, зато щёлкаем зубами.
Перезагрузиться тоже не удаётся — пункт меню «Reboot» нажимается, но ничего не выгружается. Кнопка не давится. Вырубил мак из розетки. Зато потом освоился — через сеть и SSH перегружать с соседнего компа. На всякий случай всем рекомендую: учите bash и SSH-консоль!