LINUX.ORG.RU

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


0

0

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

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

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

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

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

anonymous

Проверено: Pi ()

Ответ на: комментарий от r

Советую вести религиозную войну не с языком Си и С++, а с моно и c#. Что-то мне подсказывает, что Си и С++ никуда не денутся, а вот жаву зохавает Мс :)

А по поводу софта, лично я знаю огромное число замечательных программ на Си/С++, количество их - не счесть, думаю нет нужды приводить примеры :) Что касается жавы, тут их значительно меньше. Я знаю IDEA, Eclipse, Azureus ну и RSSOwl. Из них относительно малоресурсоёмки IDEA, и, возможно RSSOwl. С IDEA всё понятно, знаю людей, которые её писали, постарались, что говорить :) Что касается азуреуса - думаю также нет нужды особо ничего говорить, тут всем всё ясно :) Если бы я сидел в винде, я бы наверное тоже, как и остальные 90% ушел бы с него на uTorrent. По поводу еклипса - как-то затестил его в связке с CDT. Это был ужас, редактировать текст было нереально даже, не то, что работать.

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

>Остаётся только добавить: "в программе для неизвестных целей."

Да нет - остается посочувствовать - вы наверное столько велосипедов каждый раз пишете чтобы контролировать время. Удачи вам нелегком деле велосипедостроительства из мира повторно используемых библиотек.

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

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

Очень хорошая программа. Но периодически падает, особенно когда ты качаешь сразу торрентов гигов на тридцать.

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

>Это наверное потому в нем почти никто не разбирается даже в мире плюсов?:)

Это была попытка умничания? Не вышло. Бегом назад в школу.

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

>Мораль: >Java не способна заменить моск програмиста.

...особенно того программиста, у которого его нет.

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

>В флеймообразующих темах, надо отключать анонимусов.

Ни за что! Не дадим уничтожить главного пользователя ЛОРа!

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

>Всё равно тащить придётся.

Собери статикой.

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

>Удачи вам нелегком деле велосипедостроительства из мира повторно используемых библиотек.

Мда, что с фрагментацией не разобрались - ясно, а про библиотеки - это вообще шедевр быдлокодерской мысли.

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

>то они в основном откомпилены под 486 и не пользуются мощью современных пней.

Слезь со слаки уже.

Даже в виндах минимальная планка i586.

Или может у тебя в x86_64 под i486 все откомпилено?

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

>А знаешь почему?

нет ...

>потомо что это практически не применимо. Для того чтобы это работало хотя-бы прилично - надо не пользоваться никакими общими бидблиотеками, которые написаны не так.

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

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

>Дай, плиз, пару-тройку ссылок на фришные форумы и CMS, написанные на Си++.

Могу дать ссылки на аналогичные продукты, написанные на пхп. Это о чем-то говорит?

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

>Или ты чего-то не понял в написанном?

Я не понял связи между mission critical и терминами из "Основы стрельбы из лука на скаку": а именно "быстрый" и "точный".

>aqua datastudio vs toad jedit

Ты сравниваешь database query tool и programmer's text editor?

>javamp vs winamp

javamp - про такое даже гугл с трудом и не по теме.

>tomcat vs apache+php

А вот тут действительно смеялси! Где в апаче c++? это раз. Во вторых по каким критериям лучше? Поддержка PHP?

>muCommander vs krusader|total commander

И что - сильно отличаются? Извини - я таких файлменеджеров не перевариваю - потому оценить не могу.

>приложение на j2se у которого нет более быстрого и популярного аналога на c/c++.

Можешь взять любой сервер приложений. Можешь взять любую IDE.

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

>Я уверяю, и GTK, и Mozill-овский движок и QT - все запускаются и отрисовываются не быстрее Swing!

Запусти в виндах и линухах Opera и Sim-im. Потом запусти gimp.

Скорость запуска засек?

Теперь ползешь и запускаешь мозиллу, а затем OpenOffice.

Засекаешь время повторно.

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

>Из твоих слов проистекает, что пых-пых-кодеры - наиболее востребованные "специалисты". Следует утверждать, что всем нужно бегом учить пхп?

Скореллируй на оплату и сделай вывод.

>Пару лет назад было Делфи.

Делфи 5 лет назад уже не было. И MSVC делфи не вытесняло - оно было отдельной песней для укзкого рынка автоматизации оффисов. А вот C# вытесняет именно MSVC.

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

>Гааааспада! Я предлагаю всем Вам, а точнее тем кто льет свои помои на Jav'у, для начала взглянуть на адресную строку браузера и грепнуть ее на наличие ".jsp". Вы знает что это такое? Это Java

Это не доказывает, что java везде таки быстрее, чем С/С++ и поэтому ее нужно совать в каждую дыру.

К тому же тут GUI нет.

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

>Советую вести религиозную войну не с языком Си и С++, а с моно и c#.

А зачем с ней вести войну? Они одного поля помидоры. Токо запоздали малехо.

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

> а именно "быстрый" и "точный".

Mission Critical приложения не должны быть быстрыми и точными? Хотя в чем то ты прав тк я не написал что первая их функция это надежность.

>Ты сравниваешь database query tool и programmer's text editor?

Слова разные а смысл тот же. Если ты не знаешь возможностей аквы и тоада -лучше промолчи.

>javamp - про такое даже гугл с трудом и не по теме.

http://www.javazoom.net/jlgui/jlgui.html

javaamp -это его юзерское название.

>А вот тут действительно смеялси! Где в апаче c++? это раз. Во вторых по >каким критериям лучше? Поддержка PHP?

Ну там надежность,время отклика,наработка на отказ.. но ведь мегаджаверу это все побоку -присобачим watchdog для ребута сервера при пережоре памяти и все дела :)

>И что - сильно отличаются? Извини - я таких файлменеджеров не >перевариваю - потому оценить не могу.

аналога Midnight Commanderа или Far'а на джаве еще не написали :)

>Можешь взять любой сервер приложений. Можешь взять любую IDE.

Я "j2se" специально для тебя написал :))

А про IDE -я думаю сравнение функционала eclipse или idea с той же visual studio тебе бысто поможет понять что такое крутое ide и что оно должно уметь :)

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

M5 + CDT 4 более-менее пристойно. Там товарищь переписал индексер. Но зато стало глючить с STL. А так CDT - единственный кто нормально обрабатывает STL.

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

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

Так почему его не уменьшают?

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

>aqua datastudio vs toad jedit vs nedit|emacs :) javamp vs winamp tomcat vs apache+php muCommander vs krusader |total commander :)))

php - c total commander - delphi (вроде 3 ;-) )

но это так ) придирки ))

Вот ещё есть такая фича как SyBASE PowerDesigner, не портируемый не разу, но все Java'оввые UML моделеры виденные мной уделывает с пол пинка :)

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

>>В кернеле ребята этим озабочены потому, что это пример долгоживущего приложения для которого memory fragmentation становится проблемой. Все кто пишет долгоживущие сервера - озабочены этой проблемой

>несомненно проблема существует, как и существует множество способов ее решения, которые успешно работают на практике. я уже ( в облике анонимуса или captain pedantic ) постил результаты исследований, которые научно обосновывают существование 100% практического решения проблем фрагментации для систем без GC.

А можно для тех кто пропустил этот эпизод мыльной оперы "флейм на лоре" ссылочку на исcледование, пожалуйста. :) Буду очень благодарен.

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

>>Советую вести религиозную войну не с языком Си и С++, а с моно и c#.

>А зачем с ней вести войну? Они одного поля помидоры. Токо запоздали малехо.

Фанатизм быдлокодера в чистом виде.

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

>aqua datastudio vs toad 
jedit vs nedit|emacs :)
javamp vs winamp 
tomcat vs apache+php 
muCommander vs krusader |total commander :)))

Так понятнее?

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

>И MSVC делфи не вытесняло - оно было отдельной песней для укзкого рынка автоматизации оффисов. А вот C# вытесняет именно MSVC.

Пардон, а .НЕТ не используется сейчас для этого "узкого рынка"? И судя по количеству вакансий в то время, не такой уж узкой была ниша Делфи. В чем именно C# вытесняет VC не подскажете?

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

> Но зато стало глючить с STL. А так CDT - единственный кто нормально обрабатывает STL.

Оно нормально обрабатывает STL с учетом внесенных M5 глюков, или до них обрабатывало?

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

> я ни за что не поверю что лор работает с использованием j2ee

>глаза протри :)

Опа ,еще одна жертва червей-мозгососов :) jsp это не j2ee.

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

>Почему же редко? Используют некоторые... идиотики.

Из проекта mplayerhq.hu, да и Торвальдс тоже не чурается.

Ибо jmp - тот же goto. Другой момент, что отслеживать что куда прыгнуло сложнее.

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

>BoehmGC например можно использовать в любой программе, независимо от того какие либы она использует.

А эти либы тожу будут в курсе про BoehmGC?:) Вот на этом.

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

>А чтобы под KDE со всеми фишками KDE - надо тащить 500 :p)

kdelib где все эти фишки мегов наверное 50 максимум.

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

>Mission Critical приложения не должны быть быстрыми и точными?

:)) Быстрые это в чем? В километрах в час? На каких процессорах? А точный - это как швейарские часы класса хронометр? Mission Critical приложения в первую очередь должны быть предсказуемым в любой момент времени с заданной точностью. Из этого не всегда проистекает "быстрота". Что такое "точный" мне вообще не ясно.

>http://www.javazoom.net/jlgui/jlgui.html

Ух ты какой велосипед!:) И чем он отличается от винампа?

>аналога Midnight Commanderа или Far'а на джаве еще не написали :)

Вот тож. Аналогичных сравнимых продуктов - мало.

>Я "j2se" специально для тебя написал :))

А сервера приложений на чем по твоему пишут?

>я думаю сравнение функционала eclipse или idea с той же visual studio тебе бысто поможет понять что такое крутое ide и что оно должно уметь :)

Точно. Визуал Студии - как до идеи как до неба.

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

>Так почему его не уменьшают?

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

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

>В чем именно C# вытесняет VC не подскажете?

В том же самом. Это C++-подобный язык от микрософта. C++ микрософт больше не двигает. Если под никсы еще есть перспектива работать на C++ то те кто ваял формы в MSVC вынуждены переходить на C#. Она прямо заменяет MSVC++, и так позиционируется, и позиционировался изначально - серверные технологии .NET были на зачаточном состоянии, зато винформс уже вовсю пиарился.

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

>Что такое "точный" мне вообще не ясно.

Наши данные попадают в стек с первого раза, сэр!

>Ух ты какой велосипед!:) И чем он отличается от винампа?

ошибками в ДНК разработчиков :)

А если серьезно - ты просил назвать популярные программы на джаве -я назвал. Популярней этого велосипеда для проигрывания музыки на джаве нет.

>А сервера приложений на чем по твоему пишут?

Батько не может отличить j2ee от j2se? В школу тебе поздно -значит только в биореактор.

>Точно. Визуал Студии - как до идеи как до неба.

Шахтеры наверное тоже думают что роют дорогу к богу на небо :)

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

>Все равно протри да?

>http://java.sun.com/products/jsp/

да мне пофиг что там написано, j2ee это ejb,jmx ,hibernate и тд. Если jsp включили в спецификацию j2ee это еще не значит что jsp это j2ee.

Это выглядит как бред но это так :)

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

>А че написано в консолях и логах?

Вечером напишу.

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

>А если серьезно - ты просил назвать популярные программы на джаве -я назвал.

Это javamp популярное?!

А Tomcat делает PHP по всем характеристикам. А с чистым статическим апачем они несравнимы.

>Батько не может отличить j2ee от j2se?

Java Standard Edition включает в себя JVM/JRE/JDK - виртуальную машину, runtime environment, development kit.

Java Enterprise Edition - набор стандартов и интерфейсов. Покажешь мне где оно атдельно от javase работает и как можно без javase разрабатывать на одном наборе стандартов и интерфейсов?

>Шахтеры наверное тоже думают что роют дорогу к богу на небо :)

Наверное потому JetBrains вовсю разрабатывает альтернативную такой хорошей IDE, и MS в этом им содействует?

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

> Она прямо заменяет MSVC++ Право слово, как ребёнок ))) она даёт больший ф-ционал, но его можно не использовать... перетащили недавно под 2005 студию проект из VC6.0 - работает ))

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

>Если jsp включили в спецификацию j2ee это еще не значит что jsp это j2ee.

JSP/Servlets - всегда был j2ee с момента появления этого самого j2ee, при чем одной из основных технологий. А hibernate - это вообще отдельный O/R mapper, который стал поддерживать Persistence API только недавно и то после того как его захавал под свое крыло JBoss, а до этого он был совсем ни с чем не совместим.

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

>Это javamp популярное?!

Узнаю старого флеймера :) Там было специально написано : "для проигрывания музыки на джаве "

>А Tomcat делает PHP по всем характеристикам. А с чистым статическим >апачем они несравнимы.

А если поставим вопрос так :tomcat vs nginx+php ? Вообщем никогда не говори никогда :)

>Java Enterprise Edition - набор стандартов и интерфейсов. Покажешь мне >где оно атдельно от javase работает и как можно без javase >разрабатывать на одном наборе стандартов и интерфейсов?

И при чем тут это? Покажи мне программу на j2ee работающую без этого j2ee? (ты привел j2ee Application Server в качестве примера)

>Наверное потому JetBrains вовсю разрабатывает альтернативную такой >хорошей IDE, и MS в этом им содействует?

Грядет еще и idea-капец? Это не хорошая новость.

anonymous
()

Есть такие хорошие, но практически неизвестные штуки: * Jigsaw - веб-сервер консорциума W3C. * Apache Incubator FTPServer - довольно мощный FTP-сервер.

Эти и некоторые другие 100% pure java приложения заслуживают внимания. Держу сервер с этими продуктами на FreeBSD. Самое хорошее в таких вот программах - то, что они не тянут за собой кучи зависимостей [хоть это и противоречит Unix Way] и могут быть применены в любой ОС, где есть интерпретатор Java, стоит только распаковать [и не надо ничего собирать с сорсов / портов / репозитариев], подправить конфиги и запускать.

С Уважением,

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

>JSP/Servlets - всегда был j2ee с момента появления этого самого j2ee, при чем одной из основных технологий

Хорошо - тебе надо j2ee-разработчика ты возьмешь человека знающего из j2ee только jsp/servlets? Я не отношу jsp к j2ee только потому что основная масса разрабочиков подразумевает под j2ee несколько другой уровень знаний чем владение jsp и сервлетами. И в резюме так и пишут : знаю j2ee или знаю jsp/servlets.

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

>Эти и некоторые другие 100% pure java приложения заслуживают внимания.

Огласи тогда уж наработку на отказ и нагрузку этих 100% pure java приложений.

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

>Там было специально написано : "для проигрывания музыки на джаве "

ЗАйти на SF найти там тучу курсовиков и начать сравнивать?

jEdit - популярное.

>А если поставим вопрос так :tomcat vs nginx+php ? Вообщем никогда не говори никогда :)

А что у нас nginx уже умеет все что умеет томкет?

>Покажи мне программу на j2ee работающую без этого j2ee?

ЗАчем? Покажи мне программу на qt работующую без qt.

>ты привел j2ee Application Server в качестве примера

Да в качестве примера софта аналога которого на C++ не было и не будет.

>Грядет еще и idea-капец? Это не хорошая новость.

Не грядет. Грядет хорошая IDE для C#.

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

>Хорошо - тебе надо j2ee-разработчика ты возьмешь человека знающего из j2ee только jsp/servlets?

Я когда беру людей я такими аббревиатурами не руководствуюсь. Опыт меня научил, что и ежб и жсп изучить не проблема. А вот, если чел не может объяснить, как работает Type Safe Enum - это большая проблема, будь он трижды SCEA и сколько других умных аббревиатур знает.

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