LINUX.ORG.RU

Доверьтесь виртуальной машине


0

0

Таков смысл одного из разделов интервью с популяризатором технологий Sun Брайаном Гетцом. В нем он поясняет этот тезис. "Разработчики очень любят оптимизировать код, и не зря. Это весело и увлекательно. Но гораздо важнее знать, когда стоит заниматься оптимизацией, а когда – нет. К сожалению, в основном разработчикам редко помогает интуиция в выборе участков приложения, требующих ускорения выполнения.

...Код на Java вполне может выполняться быстрее кода на C. ... Ирония в том, что C-программисты гордятся своей возможностью управлять указателями на самом низком уровне, и считают это своим самым мощным инструментом, и эта же самая возможность мешает C-компиляторам производить наиболее эффективно оптимизированный код. Отнимая эту возможность у программиста, вы предоставляете море возможностей для оптимизации компилятору, и будьте уверены, Java-компилятор знает об оптимизации больше, чем 99,99% обычных программистов.

Поскольку программисты уже 45 лет занимаются созданием сборщиков мусора, сегодняшние сборщики мусора гораздо более изощренные, чем принято думать

...Если бы я мог послать волшебной палочкой сообщение всем разработчикам на Java, я бы сказал им: доверьтесь виртуальной машине. Она умнее, чем вы думаете. Перестаньте пытаться обставить и обогнать ее. Пишите в коде то, что вы хотите, чтобы она сделала и она сделает все возможное и даже чуть больше чтобы то, что вы задумали, выполнилось наиболее быстро."

>>> Подробности

anonymous

Проверено: Pi ()
Ответ на: комментарий от anonymous

> Про то что для любого j2ee надо тащить jdk который ~200 мегов в курсе?

Кстати докажи что j2ee не заработает без jdk.

eveel ★★
()
Ответ на: комментарий от Bohtvaroh

>Хватит бредить, JDK - это Java __DEVELOPMENT__ Kit, куда ты его тянуть собрался, чудо в перьях?

Придурок -любой сервер приложений требует для работы jdk. Дофига ide для правильной работы требуют jdk. Софт ,который использует компиляцию java-кода на лету требует jdk...

anonymous
()
Ответ на: комментарий от eveel

>Кстати докажи что j2ee не заработает без jdk.

ну попробуй любой j2ee сервер стартани из под jre

anonymous
()
Ответ на: комментарий от anonymous

То есть ты против того, чтобы в целом девелоперы пользовались компиляторами, а Java-девелоперы пользовались JDK?

Bohtvaroh ★★★★
()
Ответ на: комментарий от Dr_ZLO

Я уже выше писал. Она оптимизирует байт-код под конкретный твой процессор (JIT компиляция), а если ты используешь бинарники, то они в основном откомпилены под 486 и не пользуются мощью современных пней.

tkpai
()
Ответ на: комментарий от Bohtvaroh

>То есть ты против того, чтобы в целом девелоперы пользовались компиляторами, а Java-девелоперы пользовались JDK?

Да ты я смотрю уже скурил пару кораблей "даров чуйской долины" да?

Еще раз для совсем одаренных: компилятор для c++/c кардинально отличается от jdk хотя бы в том что его никогда не приходится ложить в комплект с программой. Примеры когда приходится ложить в комплект с прогой jdk я уже приводил

anonymous
()
Ответ на: комментарий от mike____

>Таинственный anonymous, на мой взгляд, явился разжигателем межязыковой розни, сам того не подозревая.

Я не анонимус. Я брайан гетц. Я дал интервью. Анонимус только перевел его частично и поделился ссылкой на LORе. Это в традициях местных обсуждать новости не читая текст по ссылке?

anonymous
()
Ответ на: комментарий от anonymous

>Это в традициях местных обсуждать новости не читая текст по ссылке?

Это уже моветон, сейчас самый писк моды на лоре -это не читать даже оригинального сообщения а читать сразу ответы :)

anonymous
()
Ответ на: комментарий от tkpai

А что, если вместо виртуальной машины написать ядро, которое бы исполняло байткод. Одной прослойки стало бы меньше. Интересно послушать, на сколько такое решение реально или лучше/хуже...

anonymous
()
Ответ на: комментарий от tkpai

>Она оптимизирует байт-код под конкретный твой процессор (JIT компиляция)

Гента в каждый дом! Java-пользователи красноглазыми не станут?

Dr_ZLO
()
Ответ на: комментарий от anonymous

Укурок, и что тебя в этом не устраивает? Ты на собственной машине взводишь J2EE сервисы или что? Это всё создаётся не для тебя, умора, а для решения тех или иных задач уровня предприятия. А может ты горазд привести решения аналогичные Struts|Hibernate|JSF|дополнить_по_вкусу на C/C++?

Bohtvaroh ★★★★
()
Ответ на: комментарий от h8

>.), при этом ява покорно обрабатывает их словесный понос )))

>h8 * (*) (04.03.2007 22:32:15)

Кстати, когда maxcom озаботится перевести http://www.linux.org.ru/server.jsp на Trueъ GPL JRE 6.0? В сабжевой статье как раз говорится, что Java 6.0 некисло прибавила в производительности, а сервер до сих пор на JRE 1.4 пашет. Непорядок

anonymous
()
Ответ на: комментарий от eveel

> А чтобы заработала программа на Qt надо тащить Qt.

Ну не весь Qt, а только то, что нужно

И вес этих библиотек будет просто смешным по сравнению с жабавской VM. Для свободного распостранения прикладного софта это критично.

troorl ★★
()
Ответ на: комментарий от anonymous

>Здрасссссссссте! Когда это Java стала _свободной_?

Да в ноябре еще, помнится. Сам найдешь обсуждение trueъ GPL жабы, или ссылку дать?

anonymous
()
Ответ на: комментарий от anonymous

>Я не анонимус. Я брайан гетц. Я дал интервью. Анонимус только перевел его частично и поделился ссылкой на LORе. Это в традициях местных обсуждать новости не читая текст по ссылке?

А стоило ли вообще публиковать эту новость? Новость ли это вообще? Ведь реакция ЛОРа на такое сообщение уже заранее известна.

mike____
()
Ответ на: комментарий от anonymous

>Ага а еще если везде все текстовые данные хранить только в utf-8 и нигде и никогда не пытаться ручками обрабатывать пути (\ - в винде, / -сами знаете где и :: -в маках)

:: это в C++ namespace'ы. в маках уже давно / как в нормальных осях, а :: никогда не было (: было)

anonymous
()
Ответ на: комментарий от Bohtvaroh

>Укурок, и что тебя в этом не устраивает?

Отморозки вроде тебя,которые не зная ни си/с++ ни джавы пытаются что то обсирать

>Ты на собственной машине взводишь J2EE сервисы или что?

Я их проектирую и создаю -на своей машине.

>Это всё создаётся не для тебя, умора, а для решения тех или иных задач >уровня предприятия.

Которые решаются с помощью написанных мною программ

>А может ты горазд привести решения аналогичные >Struts|Hibernate|JSF|дополнить_по_вкусу на C/C++?

После n-нного количества лет разработки как на c++ так и на джаве+j2ee я все больше убеждаюсь что все "Struts|Hibernate|JSF|дополнить_по_вкусу" нужны либо психам - системным архитекторам либо совсем зеленым детям -и те и другие на самом деле не понимают до конца что такое j2ee но пользуются (заставляют пользоваться) потому что это модно.

нормальные люди ни за что не променяют работающий код на c+/cи на джаву -потому что затраты на кроссплатформенность на си/c++ _меньше_ чем перевод проекта на джаву с учетом кроссплатформенности.

anonymous
()
Ответ на: комментарий от Dr_ZLO

>Виртуальная машина на C и C++ выполняет Java программы быстрее самой себя -- парадокс!

Ты новость читал? Зато вякнуть успел.

lexius ★★
()
Ответ на: комментарий от Quasar

>Однако стоит тебе научиться пересобирать его - может этот бред нести перестанешь тогда.

Может и стоит. Вопрос что удобнее? Запуск драйвера как процесса в qnx или компиляция всего ядра с модулем? При том, что в Линухе не всякая версия драйвера подходит к нужной версии ядра. При чём само ядро представляет фактически масодостаточну ОС в стиле аля VxWorks...

binr ★★
()
Ответ на: комментарий от anonymous

>Придурок -любой сервер приложений требует для работы jdk. Дофига ide для правильной работы требуют jdk. Софт ,который использует компиляцию java-кода на лету требует jdk...

Гонево. Ты отстал от жизни.

lexius ★★
()
Ответ на: комментарий от manokur

>Иными словами я скорее против джавы, чем за.

+1

anonymous
()
Ответ на: комментарий от lexius

>Гонево. Ты отстал от жизни.

Ты про шестую джаву чтоль? Ну дык когда оно будет в продакшне пройдет еще лет 5

anonymous
()
Ответ на: комментарий от real_maverick

>> Ничего не имею против с/с++, но java - очень хорошая штука.

>+2 ибо инструмент должен быть выбран под задачу и того кто ее решать собирается, а холиворщики могут медленно ехать в бобруйскии биореакторы.

Слышу голоса ниасиливших С++?

anonymous
()
Ответ на: комментарий от anonymous

>Ты про шестую джаву чтоль? Ну дык когда оно будет в продакшне пройдет еще лет 5

В консервативном корпоративе - да. Но если я не использую jsp, то мне нафиг не нужен компилятор ибо нечего компилить, я юзаю freemarler для view прослойки.

lexius ★★
()
Ответ на: комментарий от KRoN73

>>P.S.Все жабоподелки тормозные и кривые, постоянно повисают, вылетают, жрут немерено ресурсов

>Почему Azureus не подпадает под эти ужасы?

Еще как попадает. Kubuntu. Появляется окно с жабкой. Чет грузит, пыхтит. А потом: # An unexpected error has been detected ..... #Aborted

Единственная нерабочая прога из их репозитория.

anonymous
()
Ответ на: комментарий от anonymous

>>А с каких пор / в венде и тем более в маках не работает???

>От рождения

А у меня почему-то notepad c:/boot.ini всегда работал... К чему-бы это?

anonymous
()
Ответ на: комментарий от anonymous

>А у меня почему-то notepad c:/boot.ini всегда работал... К чему-бы это?

К тому что юзер под виндами привык видеть во всех диалогах программы виндовый слеш а не юниксовый

anonymous
()
Ответ на: комментарий от anonymous

>К тому что юзер под виндами привык видеть во всех диалогах программы виндовый слеш а не юниксовый

Вообще то что юзер видит слеши это не правильно...

Практически нигде он их видеть не должен, кроме мест где он выбирает каталог куда должно сохранятся много файлов, а таких мест не очень то уж и много

anonymous
()

Честно говоря уже утомили новости о жаве. Сплошная провокация флейма, а к линуксу отношение имеет крайне сомнительное. Замечание о том, что жава является OpenSource тоже не очень то состоятельно в большинстве таких новостей. Например, эта новость является явной и неприкрытой рекламой, хотя допускаю, что запостивший её сюда этого не понимал.

Displacer ★★
()

> Отнимая эту возможность у программиста, вы предоставляете море возможностей для оптимизации компилятору, и будьте уверены, Java-компилятор знает об оптимизации больше, чем 99,99% обычных программистов.

А если по сути, то например тут аффтар явно забыл, что Си-компилятор знает об оптимизации ничуть не меньше ни по сравнению с обычными программистами, и думается ничуть не меньше, чем жава компилятор. Так что новость вообще имхо ниачом.

Displacer ★★
()
Ответ на: комментарий от Displacer

>Честно говоря уже утомили новости о жаве. Сплошная провокация флейма, а к линуксу отношение имеет крайне сомнительное. Замечание о том, что жава является OpenSource тоже не очень то состоятельно в большинстве таких новостей. Например, эта новость является явной и неприкрытой рекламой, хотя допускаю, что запостивший её сюда этого не понимал.

Ты так говоришь потому что не доверился виртуальной машине... А ты доверься, ну же попробуй... это весело ;-)

anonymous
()
Ответ на: комментарий от anonymous

Так, Google'ом пользоваться умеем...

> Это мегаобъектно-ориентированная СУБД,

...а вот с теорией БД все куда хуже. Попрошу определение СУБД, можно развернутое. После чего определение ОО СУБД. А после этого небольшое эссе на тему "Каким боком к ним prevayler"? Или слышали звон?

> которая с 2003 года вечная бета

А почему именно с 2003? Там и в 2002 беты были.

> и официальный сайт которой вечно under construction?

Хмм, таки under construction. Дизайн решили поменять. И как часто ты туда заходишь, чтобы безаппеляционно утверждать "вечно"?

azakharchuk
()

Да и вообще уместно ли сравнивать Java с Си, имхо сравнение некорректно. Си - язык для системного программирования, Java - прикладного. Нужно сравнивать с С++, а там чистыми указателями давно уже грамотный народ почти не пользуется.

Displacer ★★
()
Ответ на: комментарий от Displacer

> С++, а там чистыми указателями давно уже грамотный народ почти не пользуется.

А чем сейчас пользуются в Си++ вместо указателей? Я последние лет 6-7 на Си++ практически не пишу, отстал от жизни.

tailgunner ★★★★★
()
Ответ на: комментарий от iNode

>Поделитесь своими программными разработками, или хотя бы ссылками на них?

Не поделюсь. Собственность фирмы и интранет. Лажа полная, но хоть работает быстро. И умещается на дискете.

>А то аж интересно стало, то ли действительно опытный разработчик, но с заносами как порой у Торвальдса, то ли архи-моська.

Наверное архи-моська. Программ написал за свою жизнь с гулькин нос, но все были легкие и шустрые. Но это ведь не лишает меня права считать, что програмист это тот же скульптор? Так вот, церетелей развелось многовасто.

>Корпорациям нужен не хороший софт, а софт "здесь и сейчас"

корпорациям нужен печатный станок, чтобы не надоедали своими дурацкими программами. Пусть себе сидят и печатают разноцветные фантики, пусть играют в деньги. Согласен даже платить корпорациям 10 евро в месяц, только бы не было новых программных шедевров.

>Количество приложений запускаемых на среднестатистическом корпоротивном компьютере растёт гораздо медленнее чем железо на котором оно запускается

Дело не в количестве, дело в качесте. У нас "стартовый" объем памяти - 4 гб, потому что иначе всякие чертилки отказываются делать файл. Очень популярно сообщение программ типа "Ну елки, дайте еще памяти-то, а то уже ж некуда меня складывать" и "шит, я закрываюсь, ошибочка вышла".

Ты ребенка делал? Если делал, то наверное знаешь, что делать его надо хорошо. Ну там не пить ниче кроме стопки красного вина, не курить хотя бы пару месяцев, и вообще. Чтобы ЗПР не родился. Почему к собственным программам такое отношение, что получаются жирные, истекающие слюной ублюдки, трехрукие и без мозга?

manokur ★★
()
Ответ на: комментарий от anonymous

> Ты так говоришь потому что не доверился виртуальной машине... А ты доверься, ну же попробуй... это весело ;-)

Я и реальным машинам не очень то доверяю, не то, что виртуальным ;)

Displacer ★★
()
Ответ на: комментарий от anonymous

>P.P.S. Комп нормальный с 2 гигами рама и атлоном на 2.4 ГГЦ.

Сцуко как ты узнал конфигурацию моего компа???????? :))))))))))))))))))))))

anonymous
()
Ответ на: комментарий от tailgunner

> А чем сейчас пользуются в Си++ вместо указателей? Я последние лет 6-7 на Си++ практически не пишу, отстал от жизни.

Если это подкол и ты про синтаксис указателей, то, разумеется, никуда они не делись, и иногда бывают полезны.

А если нормально отвечать, то STL, boost, умные указатели, фреймворки также имеются с частичным управлением памяти, как например Qt.

Displacer ★★
()
Ответ на: комментарий от anonymous

>>Почему Azureus не подпадает под эти ужасы?
> Еще как попадает. Kubuntu. Появляется окно с жабкой. Чет грузит, пыхтит. А потом: # An unexpected error has been detected ..... #Aborted
странно. у меня работает. xubuntu. репозитарий - один и тот же.

anonymous
()
Ответ на: комментарий от anonymous

Сервер работает на 1.6, надо переписать страничку.

Deleted
()
Ответ на: комментарий от Displacer

>Так вот, церетелей развелось многовасто.

[офтоп] Какой он нах скульптор? Все страну засрал своими высерашами. [/офтоп]

anonymous
()
Ответ на: комментарий от Displacer

>> А чем сейчас пользуются в Си++ вместо указателей? Я последние лет 6-7 на Си++ практически не пишу, отстал от жизни.

> Если это подкол

Это не подкол.

> если нормально отвечать, то STL

STL - это aut_ptr, который, как бы это помягче, не блещет возможностями.

> boost

тащить весь Boost ради классов указателей - это, ИМХО, расточиельно (мы же Си++, а не Java :))

> фреймворки также имеются с частичным управлением памяти, как например Qt.

То же возражение, что и по Boost.

В общем, вот вопрос - существуют ли широко распространенные компактные (или входящие в STL) библиотеки, реализующие "умные" указатели?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>В общем, вот вопрос - существуют ли широко распространенные компактные (или входящие в STL) библиотеки, реализующие "умные" указатели?

"Умные" - это как? Да и зачем? Скрывать кривизну рук? Да и ваще - если програмер криворук, то никакая ява, ни оффтоп-ява ему не помогут. Если с руками все в порядке - то ява ему нафик не нужна.

ЗЫ Все что скрывает железо от программера - ацтой! Всем быро учить pure assembler!

generatorglukoff ★★
()
Ответ на: комментарий от tailgunner

> В общем, вот вопрос - существуют ли широко распространенные компактные (или входящие в STL) библиотеки, реализующие "умные" указатели?

Есть очень сильное подозрение, что войдут в очередной стандарт С++.

Displacer ★★
()

Тут кто то про j2me заикнулся. Вопрос: Что, действительно, сейчас можно проще на C++ написать прогу под 95% телефонов (Мы говорим про телефоны, а не про компьютеры с функциями телефона) ?

gapik
()
Ответ на: комментарий от generatorglukoff

> "Умные" - это как? Да и зачем? Скрывать кривизну рук?

Ути-пути, какие мы продвинутые

> Да и ваще - если програмер криворук, то никакая ява, ни оффтоп-ява ему не помогут.

И мудрые

> Все что скрывает железо от программера - ацтой! Всем быро учить pure assembler!

И триждынасквозьпростебанные

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.