metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-08-20 11:20 am
Entry tags:

Офигенная статья, объясняющая ВСЕ про FP

http://blog.jelastic.com/2012/07/24/functional-programming-is-a-ghetto/
So why is functional programming, despite its virtues, a ghetto? The answer is that we tend to insist on good design, to such a degree that we avoid taking jobs where we’re at risk of having to deal with bad designs.

PS: В статье позитивная айседовщина. "IDE не нужны, потому что на продакшен сервере за тридевять земель вам они не помогут", "только идиоты начинают разработку на жабе или С++ в 2012 году" и прочее такое.

Еще того же автора: http://michaelochurch.wordpress.com/2012/04/13/java-shop-politics/

[identity profile] fas-tm.livejournal.com 2012-08-20 09:34 am (UTC)(link)
ты псих ? пойди почитай что такое андроид.
Это своя реализация JVM(Dalvik), линукс там - пускалка JVM поверх которой все крутится. Да, есть возможность юзать NDK, но это мало помогает. Архитектура кривая.
Edited 2012-08-20 09:34 (UTC)

[identity profile] maxdz.livejournal.com 2012-08-20 09:37 am (UTC)(link)
>Это своя реализация JVM(Dalvik), линукс там - пускалка JVM поверх которой все крутится.

То, что там есть виртуальная машина - не означает, что системные части операционки написаны на Джава и крутятся на этой виртуальной машине.

[identity profile] fas-tm.livejournal.com 2012-08-20 09:46 am (UTC)(link)
еще раз объясняю на пальцах, какая разница на чем написана ось и как, если прикладной софт выполняется поверх VM а графическая подсистема априори не позволяет нормально сделать без тормозов морду(из-за блокировки основного потока в котором рендериться интерфейс). Сейчас это решается накидыванием железа и ядер, но если вдуматься - тетрис на 4-х ядерном смартфоне может тормозить ... кошмар.
Edited 2012-08-20 09:47 (UTC)

[identity profile] maxdz.livejournal.com 2012-08-20 09:52 am (UTC)(link)
>если прикладной софт выполняется поверх VM

Там есть C++ ный АПИ? Вроде, есть (хотя, я не спец по Андроидам).

Если есть - значит, компиляция в нативный код и исполнение НЕ на Джава-машине. Что, в общем-то логично, учитывая, что ядро на C++ (если не на C).
Edited 2012-08-20 09:53 (UTC)

[identity profile] fas-tm.livejournal.com 2012-08-20 10:02 am (UTC)(link)
мне надоело со стенкой разговаривать. иди читай про JNI.
>>ядро на C++
Ядро всегда было на С
>>и исполнение НЕ на Джава-машине
какой кошмар. ты не знаешь основ. Вообщем пойди почитай книжки... еще раз говорю, это принесет тебе пользу. В любом случае весь код станет НАТИВНЫМ, вопрос только в том, каким путем он им станет и сколько абстракций/прокладок будет на пути.

[identity profile] maxdz.livejournal.com 2012-08-20 10:12 am (UTC)(link)
os.ibds.kit.edu/downloads/sa_2010_braehler-stefan_android-architecture.pdf

Ок, "Core libraries" рантайма написаны на Джава. Уговорил. :)

[identity profile] jdevelop.livejournal.com 2012-08-20 10:59 am (UTC)(link)


в тему

[identity profile] dair-spb.livejournal.com 2012-08-20 10:03 am (UTC)(link)
там нет C++ного API сверх POISX и OpenGL ES.

В нашем, игрушковом случае, на Android мы пишем маленький враппер на Java с созданием OpenGL ES контрола и передачей его хэндлера (UInt32, ага) в C++. Где уже всё крутится вокруг стандарта на OpenGL ES с одной стороны и POSIX с другой.

И, повторюсь, самый ад в том, что это практически не отлаживаемо.

[identity profile] maxdz.livejournal.com 2012-08-20 10:13 am (UTC)(link)
>там нет C++ного API сверх POISX и OpenGL ES.

Да, я уже увидел в картинке 1 здесь:
os.ibds.kit.edu/downloads/sa_2010_braehler-stefan_android-architecture.pdf

Тогда, конечно, есть смысл всё (кроме визуализации?) писать на Джава и надеяться на хорошую производительность устройств.
Edited 2012-08-20 10:14 (UTC)

[identity profile] tzirechnoy.livejournal.com 2012-08-20 10:32 am (UTC)(link)
Какие из стандартных средств отладки -- профилирование действий в текстовый лог, профилирование действий в бинарный лог с частым разворотом в текст, включение спецыфических ассертов -- не работают?