>На джаве или сишарпе - вообще нет. У них и эффективность на уровне си. >Всё программирование на си сегодня - это либо стереотипы конкретного разработчика (которые обходятся ему в пятикратную стоимость кода), либо легаси. Android можно рассматривать как эксперимент на эту тему - никакого legacy, всё API c нуля. В результате в какой-то момент появляется NDK для написания на С++, и без него вроде можно всё написать, но хуже и медленее. Получается, что дело все-таки в эффективности.
А еще С + libc оказывается переносимее, код можно использовать и на iOS и на Андроиде и фиг знает где, ну и в результате большая стоимость кода окупается (наверное она большая, всё-таки, хотя у меня уверенности нет).
это не джава, строго говоря. у них своя виртуальная машина и свой джит. видимо, не осилили сделать кодогенератор топ-уровня.
Кстати, в целом, ничего страшного в том, чтобы подпирать яву быстрыми кусками на си, нет - компактные локализованные куски кода можно качественно оттестировать, они не будут часто меняться.
Не знаю, зачем гугл это делал - разве не от того, что в обычной джаве хуже или как минимум не лучше? Мне кажется, гугл в состоянии потянуть кодогенератор и виртуальную машину.. Впрочем, кто его знает. Судя по нашим разработкам проблемы в интерфейсе VM-ядро и в взрыве мозга на уровне API GUI.
Дело не в кусках на C - то, что они используют написанное на C ядро и миллион С-либ - это понятно, и не опровергает тезис об эффективности. Просто идея жить с Java-only API была, но сдаёт позиции релиз за релизом - например, недавно появилось С-аудио, насколько я помню.
>Две низкоуровневые функции решают вопрос сразу и навсегда. во-во. взять к примеру инструкцию доступа к счетчику тактов RDTSC, к-ю почему-то забыли добавить к ЯВУ. достаточно написать 1ну функцию et voila - можно измерять время выполнения вызова функции в С++, Java и С. очень удивительные вещи становятся видны. >У них и эффективность на уровне си.
Comments 80
Вот именно ради этого и стоило прочитать.
Reply
>Всё программирование на си сегодня - это либо стереотипы конкретного разработчика (которые обходятся ему в пятикратную стоимость кода), либо легаси.
Android можно рассматривать как эксперимент на эту тему - никакого legacy, всё API c нуля. В результате в какой-то момент появляется NDK для написания на С++, и без него вроде можно всё написать, но хуже и медленее. Получается, что дело все-таки в эффективности.
А еще С + libc оказывается переносимее, код можно использовать и на iOS и на Андроиде и фиг знает где, ну и в результате большая стоимость кода окупается (наверное она большая, всё-таки, хотя у меня уверенности нет).
Reply
видимо, не осилили сделать кодогенератор топ-уровня.
Кстати, в целом, ничего страшного в том, чтобы подпирать яву быстрыми кусками на си, нет - компактные локализованные куски кода можно качественно оттестировать, они не будут часто меняться.
Reply
Судя по нашим разработкам проблемы в интерфейсе VM-ядро и в взрыве мозга на уровне API GUI.
Дело не в кусках на C - то, что они используют написанное на C ядро и миллион С-либ - это понятно, и не опровергает тезис об эффективности.
Просто идея жить с Java-only API была, но сдаёт позиции релиз за релизом - например, недавно появилось С-аудио, насколько я помню.
Reply
Так известная же история. Чтобы сделать яву, которая не ява. И что-то там еще, связанное с обходом лицензирования.
Reply
Reply
во-во. взять к примеру инструкцию доступа к счетчику тактов RDTSC, к-ю почему-то забыли добавить к ЯВУ. достаточно написать 1ну функцию et voila - можно измерять время выполнения вызова функции в С++, Java и С. очень удивительные вещи становятся видны.
>У них и эффективность на уровне си.
Reply
(The comment has been removed)
2-е утверждение частично истинно, но похую. память стоит гроши.
Reply
(The comment has been removed)
это - перенесённость проектов. кровью и соплями.
Reply
Leave a comment