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] maxdz.livejournal.com 2012-08-20 09:16 am (UTC)(link)
>критичного по времени выполнения на слабых устройствах (читай: смартфоны)

Это они сейчас слабые (хотя, уже не такие и слабые). Через пару лет там будут стоять 4-хядерные пни с гигами памяти, со всеми вытекающими быстродействиями.

P.S. А чем веб-клиент для проприетарных платформ не подходит?

[identity profile] dair-spb.livejournal.com 2012-08-20 09:20 am (UTC)(link)
> А чем веб-клиент для проприетарных платформ не подходит?
1. На устройстве не всегда есть интернет.
2. OpenGL ES
3. Быстродействие
4. Неспособность платформы в неким специфичным действиям (пример — на прошлой работе — корректный лэйаутинг текста не был реализован полноценно нигде вообще, включая MS Windows, Mac OS X, не говоря уже о мобильных операционках. Ибо всем пофиг, а нам надо было).
Edited 2012-08-20 09:24 (UTC)

[identity profile] maxdz.livejournal.com 2012-08-20 09:25 am (UTC)(link)
1. Это очень специфические устройства, типа читалок. Но там, обычно и программ никто не запускает/пользует.
3. На клиенте уже не особая проблема. Но если нужна производительность на сервере, то да.
4. Обычно, не настолько критично, чтобы писать для конкретной платформы, вместо всех (вэб).

[identity profile] dair-spb.livejournal.com 2012-08-20 09:58 am (UTC)(link)
1. Планшеты без 3g вне wi-fi. Планшеты с 3G и смартфоны вне зоны покрытия.
3. "На клиенте уже не особая проблема" Увы и ах, пока что ещё проблема. Я про интерфейсы говорю, конечно же. А ещё, вот, как звук проиграть в ogg/vorbis?
4. Да, если камнем преткновения не является app core feature ;-)

[identity profile] dair-spb.livejournal.com 2012-08-20 09:24 am (UTC)(link)
> Это они сейчас слабые (хотя, уже не такие и слабые). Через пару лет там будут стоять 4-хядерные пни с гигами памяти, со всеми вытекающими быстродействиями.
Именно этот аргумент, как мне кажется, приводили авторы андроида менеджерам гугла. И авторы WP7 менеджерам микрософта ;-)

[identity profile] maxdz.livejournal.com 2012-08-20 09:30 am (UTC)(link)
>приводили авторы андроида менеджерам гугла

Андроид, вроде, на C++ написан. С линуксовым ядром. Какие могут быть претензии к быстродействию?

[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++
Ядро всегда было на С
>>и исполнение НЕ на Джава-машине
какой кошмар. ты не знаешь основ. Вообщем пойди почитай книжки... еще раз говорю, это принесет тебе пользу. В любом случае весь код станет НАТИВНЫМ, вопрос только в том, каким путем он им станет и сколько абстракций/прокладок будет на пути.

(no subject)

[identity profile] maxdz.livejournal.com - 2012-08-20 10:12 (UTC) - Expand

(no subject)

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

(no subject)

[identity profile] dair-spb.livejournal.com - 2012-08-20 10:03 (UTC) - Expand

(no subject)

[identity profile] maxdz.livejournal.com - 2012-08-20 10:13 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2012-08-20 10:32 (UTC) - Expand

[identity profile] dair-spb.livejournal.com 2012-08-20 09:34 am (UTC)(link)
> Андроид, вроде, на C++ написан. С линуксовым ядром. Какие могут быть претензии к быстродействию?
Однако, наружу поначалу торчал ТОЛЬКО жабный API. Через который сделать что-то более-менее шустрое было просто невозможно. Потом появился NDK/JNI, всё стало несколько проше с одной стороны, с другой стороны всё это говно ебанёшься отлаживать до сих пор, пардон май френч.

[identity profile] maxdz.livejournal.com 2012-08-20 09:40 am (UTC)(link)
>Однако, наружу поначалу торчал ТОЛЬКО жабный API.

Джавный АПИ выдать гораздо проще, чем АПИ с компиляцией в нативный код, т.к. не нужно никаких особых реaлизаций защиты/полномочий/доступа, да и инструментарий разработчикам уже в наличии (выдающий после компиляции обычныкй джава-код).

[identity profile] fas-tm.livejournal.com 2012-08-20 09:52 am (UTC)(link)
да ? только он нихера не позволяет сделть нормально :)
И именно поэтому скачивая с аппстора я уверен что софт будет работать, а вот с гугл маркет(play уже сейчас) неработоспособно каждое 7-ое приложение в зависимости от твоего телефона и фазы луны.

[identity profile] maxdz.livejournal.com 2012-08-20 09:57 am (UTC)(link)
Приложение, выложенное в нативном коде (типа, исполняемый без "виртуальной машины" файл) - платформозависимое. Думаю, дело в этом.

(no subject)

[identity profile] fas-tm.livejournal.com - 2012-08-20 10:05 (UTC) - Expand

(no subject)

[identity profile] maxdz.livejournal.com - 2012-08-20 10:08 (UTC) - Expand

(no subject)

[identity profile] fas-tm.livejournal.com - 2012-08-20 10:31 (UTC) - Expand

[identity profile] zerthurd.livejournal.com 2012-08-20 10:05 am (UTC)(link)
Тут вся беда во фрагментации. На iOS работают iPhone и iPad, а на Android — миллиард всяких узкоглазых девайсов чуть ли не штучного производства.

(no subject)

[identity profile] fas-tm.livejournal.com - 2012-08-20 10:33 (UTC) - Expand

[identity profile] tzirechnoy.livejournal.com 2012-08-20 10:30 am (UTC)(link)
Претэнзии к быстродействию возникают не от того, что А написано на Б -- а от того, что А медленно реагирует на действия, на которые, как думается, можно реагировать гораздо быстрее.

[identity profile] zerthurd.livejournal.com 2012-08-20 09:40 am (UTC)(link)
4 ядра уже сейчас есть на Samsung Galaxy S3. Тормозить он от этого меньше не стал.

[identity profile] tzirechnoy.livejournal.com 2012-08-20 12:18 pm (UTC)(link)
>Это они сейчас слабые

Вообще, по момему мнению, нижний предел не слабого пользовательского компьютэра -- это 32 бита, 20 MHz, 5MB RAM, 10MB permanent storage, 500x500 точек экран. Современные смартфоны превосходят эти характеристики на порядки.

[identity profile] w00dy.livejournal.com 2012-08-20 03:26 pm (UTC)(link)
какой-нить писюк на i80386 :)

[identity profile] tzirechnoy.livejournal.com 2012-08-20 03:34 pm (UTC)(link)
Да, вполне реально. А что?

[identity profile] w00dy.livejournal.com 2012-08-20 03:43 pm (UTC)(link)
Та не, ничо. Просто была возможность потыкать пальцами в свежий асус - 4 ядра, дохера памяти, ондроед. И оно тормозит. Такое ощущение что специально старались.

[identity profile] tzirechnoy.livejournal.com 2012-08-20 05:08 pm (UTC)(link)
Я вообще потерял нить Вашых суждений.

[identity profile] w00dy.livejournal.com 2012-08-20 05:59 pm (UTC)(link)
я к тому что складывается ощущение что современные девайсы намерено делают более тормознутыми.

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2012-08-20 18:33 (UTC) - Expand

(no subject)

[identity profile] solom.livejournal.com - 2012-08-21 17:06 (UTC) - Expand

[identity profile] tzirechnoy.livejournal.com 2012-08-20 03:36 pm (UTC)(link)
100MB permanent storage, это я опечатался, кстати.