おきしみみ (oxij) wrote,
おきしみみ
oxij

Мультиварка на Андроиде

До конца учебного года и выселения из общежития ещё почти два месяца, но уже сейчас можно с уверенностью сказать, что основное достижение одинокой жизни — развитое умение готовить и вообще разбираться в еде. Я изготовил всё, для чего смог достать ингредиенты.
Рисоварка, купленная где-то под новый год, оказалась волшебным инструментом, а рис с соевым соусом, сырым яйцом и майонезиком — наркоманской едой.

Кстати, забавно, купить рисоварку на американском Амазоне, где доставка стоит дороже самой рисоварки, потом купить к ней коробку для переделывания 220 в 110 Вольт в России, а потом ещё переходник с обычной на полярную американскую розетку в Китае, получается дешевле, чем просто купить мультиварку в РФ. Если бы я аккуратнее поискал рисоварку откуда-нибудь из ЕУ, то можно было бы раза в два выйграть. Мне кажется, что это маразм какой-то. Мультиварки в РФ считаются элитной кухонной утварью, да?

Несколько месяцев назад сломался микрофон на моей Нокии 5200. Долго бесил окружающих возможностью общаться только смсками. Купил универсальную (!) гарнитуру для телефонов Nokia. С моим телефоном она работает только как наушники. Вау, ну ок. В порыве отчаяния купил Samsung Galaxy 580. Вот уже месяц не могу заставить себя начать им пользоваться как телефоном, потому что этот девайс явно считает меня за идиота, постоянно держа поднятое соединение по 3G, если воткнуть в него SIM-карту, и передавая все мои действия в ZOG Google. Зато гарнитура от Самсунга прекрасно работает с Нокией. Ад какой-то.

За этот месяц я немного поковырялся в Андроиде и многие вещи меня смешат.

Наблюдение первое. В самом низу у Андроида — Linux. Повыше — библиотеки на C, которые реально работают с железом, звонят, рисуют гуй, хранят базы данных. Потом гугловская виртуальная машина Dalvik. А потом уже весь тот хлам, что пишут простые смертные на Java.

Наблюдение второе. В Маркете приложений и правда дофига. Только они не нужны.
Большая часть популярных приложений добавляют функционал, который должен быть в поставке по-дефолту или фиксят баги базового функционала. Смержте это в базу, и они станут не нужны.
Остальную часть маркета составляют игры (мне не нужны, но фиг с ними), всякий треш типа Fart Apps, и, драматическая пауза, аналоги веб-интерфейсов для всяких сайтов.

Около года назад на лекции, посвящённой DSLям, когда речь зашла о классификации языков на DSLи и не-, я пошутил, что, может быть, однажды, очередная версия CSS станет Тьюринг-полной, позволяя манипулировать цветовыми ячейками произвольным образом, а потому рано отказывать себе в удовольствии называть CSS языком общего назначения. Я пошутил, а вселенная нет.
В HTML5 Canvas нет двойной буферизации и люди для игр на Java Scriptе изобретают велосипеды, частично перерисовывая области канваса. Почему-то мне это отчаянно напоминает конец восьмидесятых. Мир сошёл с ума.

Я люблю тихие девайсы со слабыми ЦПУ, а новый веб-интерфейс Твиттера любит четырёхядерные компьютеры. Постоянная 100% загрузка ЦПУ при пользовании веб-сайтом, с отключёнными глюкавыми плагинами типа flash — это теперь типа нормально, да? Мир сошёл с ума.

Но вернёмся к Андроиду. Очевидно, пользоваться веб-твиттером на телефоне невозможно, а добиться нормального отображения элементов управления любого сайта на экране с таким разрешением — тем более. Что делают разработчики Твиттера, Реддита, СлешДота, etc? Правильно, они выпускают приложение для телефонов, которое просто рисует юзабельный отзывчивый интерфейс на экране, и без лишних извращений с HTML, CSS, JavaScript, AJAXом и прочей веб2.0 хренью. Спрашивается, почему нельзя в обычные браузеры добавить песочницу, исполняющую какой-нибудь LLVM, после чего скомпилировать в этот LLVM какой-нибудь рендер от WebKit и Java Script VM, выбросить рендеринг HTML, CSS и исполнение JavaScript из самого браузера, оставив там только фетчер ресурсов, запрашиваемых песочницами, закладки, историю, рисование гуя и управление превилегиями? URLы даже можно было бы оставить как есть. Будет прямо как всеми любимый Андроид, только в браузерах. Или Андроид — это круто, но в вебе без веб2.0 и AJAX никак нельзя?

Когда я стал рассказывать эту мысль окружающим IRL, общую идею поддержали почти все, но стали холиварить, что вместо LLVMа надо Java-машину, потому что стековые машины рулят и работают везде, а регистровые — это трешак, и типа вообще Андроид рулит. Вопрос номер один: почему тогда в Андроиде Java, но с регистровой виртуальной машиной? Вопрос номер два: почему Java-апплеты не прижились? Вопрос номер три: почему в Java-машине постоянно находят глупые баги, типа переполнений?
Отвечаем. Стековые машины тормозят, интерпретировать их байткод ничем не лучше интерпретации Java Scriptа, для нормальной их работы нужен JIT, все современные компьютеры — регистровые, JIT из стековой VM в регистровую — сложный и багообразующий процесс.

Я считаю, что в Гугле это всё понимают, а API-интерфейс на Java — это просто маркетинг какой-то. Linux и драйвера — не Java. Библиотеки на C — не Java. Dalvik VM — какая-то совсем другая архитектура, а не Java. Транслятор из Java в байткод для Dalvik. Сверху API для Java. 90% системы ничего не знает о Java. Теперь покажем людям оставшиеся 10% и они будут плясать от радости, что можно и дальше киснуть мозгом на Java. Маркетинг ок. Мир сошёл с ума.

Ешё мне интересно, а чего боятся производители телефонов? Дайте мне драйвера от моего Самсунга, чтобы я смог звонить из программы на C и рисовать на экране, и через два месяца мне не нужен будет никакой Андроид, я сам всё нужное мне на Плюсах и Хаскеле напишу. Бред какой-то.
Tags: idiotic, life, new device, programming, web
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 19 comments