dz

Есть память, а есть память

Nov 17, 2013 01:07

Если вы не low level programmer, вам этот пост катастрофически неинтересен.

Я он или хочу им быть... )

программирование

Leave a comment

Comments 80

dr_vlat November 17 2013, 13:29:02 UTC
"Всё программирование на си сегодня - это либо стереотипы конкретного разработчика (которые обходятся ему в пятикратную стоимость кода), либо легаси."

Вот именно ради этого и стоило прочитать.

Reply


xcentrist November 17 2013, 23:17:29 UTC
>На джаве или сишарпе - вообще нет. У них и эффективность на уровне си.
>Всё программирование на си сегодня - это либо стереотипы конкретного разработчика (которые обходятся ему в пятикратную стоимость кода), либо легаси.
Android можно рассматривать как эксперимент на эту тему - никакого legacy, всё API c нуля. В результате в какой-то момент появляется NDK для написания на С++, и без него вроде можно всё написать, но хуже и медленее. Получается, что дело все-таки в эффективности.

А еще С + libc оказывается переносимее, код можно использовать и на iOS и на Андроиде и фиг знает где, ну и в результате большая стоимость кода окупается (наверное она большая, всё-таки, хотя у меня уверенности нет).

Reply

dz November 18 2013, 19:39:55 UTC
это не джава, строго говоря. у них своя виртуальная машина и свой джит.
видимо, не осилили сделать кодогенератор топ-уровня.

Кстати, в целом, ничего страшного в том, чтобы подпирать яву быстрыми кусками на си, нет - компактные локализованные куски кода можно качественно оттестировать, они не будут часто меняться.

Reply

xcentrist November 19 2013, 12:17:52 UTC
Не знаю, зачем гугл это делал - разве не от того, что в обычной джаве хуже или как минимум не лучше? Мне кажется, гугл в состоянии потянуть кодогенератор и виртуальную машину.. Впрочем, кто его знает.
Судя по нашим разработкам проблемы в интерфейсе VM-ядро и в взрыве мозга на уровне API GUI.

Дело не в кусках на C - то, что они используют написанное на C ядро и миллион С-либ - это понятно, и не опровергает тезис об эффективности.
Просто идея жить с Java-only API была, но сдаёт позиции релиз за релизом - например, недавно появилось С-аудио, насколько я помню.

Reply

ext_1684112 November 21 2013, 13:21:28 UTC
>зачем гугл это делал

Так известная же история. Чтобы сделать яву, которая не ява. И что-то там еще, связанное с обходом лицензирования.

Reply


vlkamov November 18 2013, 09:26:06 UTC
Мне показалось или в самом деле про Фантом никто не вспомнил ?

Reply


ext_1453161 November 18 2013, 19:26:26 UTC
>Две низкоуровневые функции решают вопрос сразу и навсегда.
во-во. взять к примеру инструкцию доступа к счетчику тактов RDTSC, к-ю почему-то забыли добавить к ЯВУ. достаточно написать 1ну функцию et voila - можно измерять время выполнения вызова функции в С++, Java и С. очень удивительные вещи становятся видны.
>У них и эффективность на уровне си.

Reply


(The comment has been removed)

dz December 2 2013, 09:14:38 UTC
1-е утверждение ложно. джава несравнимо более переносима.

2-е утверждение частично истинно, но похую. память стоит гроши.

Reply

(The comment has been removed)

dz December 2 2013, 10:34:15 UTC
это не переносимость си.
это - перенесённость проектов. кровью и соплями.

Reply


Leave a comment

Up