LINUX.ORG.RU

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


0

0

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

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

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

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

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

anonymous

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

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

А что есть такое что умеет томкат и не умеет apache|nginx +php? Напомню что томкат сам по себе только jsp servlet engine это если ты начнешь приводить примеры из работы его в jboss или oracle as

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

статическая cборка и вперед.

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

Могу еще добавить: и не нужен :)

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

Ага вслед за хорошим дистром линукса от MS :))

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

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

Ну аллах тебе в помощь тогда найти адекватных людей.Подозреваю что если и найдешь то либо это будут бородатые старцы ничего кроме "как работает Type Safe Enum" не знающие или оч.крутые молодые спецы для которых твоя контора будет очередной ступенькой перед работой в каком нибудь sun или ibm. Это тоже из личного опыта :)

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

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

Возьмите себя в руки, пожалуйста! Вы разработчик или HR? Технология jsp/servlets является частью зонтика технологий j2ee. Такой же частью как ejb - не лучше, не хуже. И если уж говорить о резюмах - либо человек пишет, какие конкретно технологии j2ee он применял (если не в тексте, то в процессе беседы) - либо идет лесом. А считать "по умолчанию", что j2ee = ejb (или что там еще) - по меньшей мере, странно.

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

> Для какого процессора? У меня жесткое впечатление, что все кто ляпает про ассемблер в смысле языков программирования нихрена кроме 86 процессора и асссемблера к нему не видели, а то бы у них язык не повернулся.

пока йузал 8086,80386 (80286 ниасилил),8051, avr.

планирую arm.

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

>Возьмите себя в руки, пожалуйста! Вы разработчик или HR?

Жизнь заставляет быть обоими тк HR уж совсем полных идиотов горазд брать :)

>Технология jsp/servlets является частью зонтика технологий j2ee. Такой >же частью как ejb - не лучше, не хуже.

Сейчас на рынке есть разделение - люди умеющие только jsp/servlets и умеющие это же + все остальное что входит в состав j2ee. Разделение четкое ,народу умеющего jsp и сервлеты много. И называть таких j2ee-разработчиками у меня язык не поворачивается.

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

>Напомню что томкат сам по себе только jsp servlet engine

Который умеет кластеризоваться, load balancing, обеспечивает поддержку соединений с enterprise-ресурсами используя JDBC/JTA, рулится через JMX, включается в JAAS, позволяет конфигурять SecurityManager, встраиваемый, SSL/SSI/CGI, интегрируется с APR, 6той работает c non-blocking io.

Так что это не только jsp/servlet engine. Это хороший jsp/servlet engine.

PS: Я к стати этими почти всеми его фишками интеграции пользуюсь для встраивания томкета в свои специальные аппсервера.

>Могу еще добавить: и не нужен :)

:)) Конечно - нужды в колбасе нет.

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

>Re: Доверьтесь виртуальной машине >асм надо начинать учить с pdp11. Вот был асм - всем асмам асм.

интересно , до машинных кодов и перфокарт скоро тред дойдет?

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

>Который умеет кластеризоваться, load balancing, обеспечивает поддержку соединений с enterprise-ресурсами используя JDBC/JTA, рулится через JMX, включается в JAAS, позволяет конфигурять SecurityManager, встраиваемый, SSL/SSI/CGI, интегрируется с APR, 6той работает c non-blocking io.

И зачем нам этот пересказ рекламного дерьма?

А так, Жаба на жабе сидит и жабой погоняет.

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

> люди умеющие только jsp/servlets и умеющие это же + все остальное что входит в состав j2ee

Знаете, наверное, Вы довольно давно работаете HRом - потому как лично я не встречал ни одного человека, умеющего весь j2ee.

Как называть человека - это вопрос вторичный. На визитке можно написать что угодно. А когда есть конкретная задача - надо из имеющихся людей брать тех, кто с ней справится. Да, способных сваять что-то на jsp/servlets больше, это факт (и они дешевле, без базара). Но только на основании сложностей HR департамента делать вывод о том, что jsp/servlets - это не j2ee - мне кажется, сильный перегиб на местах...

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

Понадобится - и до него дойдем. А фигля!;) Правда, тех, кто реально с ними работал, на ЛОРе непросто будет найти.

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

> Вай ;) А когда народ драйвера (kernel mode) для NT пишет на C++ он наверное что-то не так делает ;)

Мне тут в наследство от одного джедая досталась программка, так вот оно писало дровя на дельфи-5, но мы же не будем говорить об аналогиях, не так ли? ;)

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

>А так, Жаба на жабе сидит и жабой погоняет.

А что умеен nginx? :))

класатеризация и лоадбалансинг - это жаба?

поддержка распределенных транзакций X/Open DTA - это жаба?

встраиваемость - это жаба?

SSL/SSI/CGI - тоже жаба?

Apache Portable Runtime - жаба?

NBIO может жаба?

да де там вообще жаба? JMX с JAAS?

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

>Который умеет кластеризоваться,

>load balancing,

>обеспечивает поддержку соединений с enterprise-ресурсами используя JDBC/JTA,

соединение с базой ты хотел сказать? Или без слова "интерпрайз" мы теперь не разговариваем?

>рулится через JMX,

это не нужно

>включается в JAAS,

jaas -часть самой виртуальной машины.Хотя про это мало кто знает.

>позволяет конфигурять SecurityManager,

Нее видимо про jaas ты знаешь только по рекламным проспектам :)

> встраиваемый, SSL/SSI/CGI,

да

> интегрируется с APR, 6той работает

не знаю что это такое :)

> c non-blocking io. да.

Вообщем все чего нельзя добиться связкой apache|nginx+php -завязано на специфику самой джавы и если често такие вещи как jaas и jmx созданы для работы в сервере приложений и использование их в томкате -перебор.

Ну и само собой быдлокодеры на jsp/servlets про все это не знают

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

>Правда, тех, кто реально с ними работал, на ЛОРе непросто будет найти.

Я с ними работал. Мы их юзали в качестве карточек для отметок, когда занимались спортивным ориентированием:))))

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

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

Страшное говно. Ибо при наличии 15-и сидоров с общим потоком в десяток мегабит, на 2-мбитном канале качает со скоростью 2.5 кб-с. Это конечно всё из-за моих кривых рук, незнания предмета, одиночного или двойного NAT'а, а также ещё из-за того, что звёзды не в ту позу встали.

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

> соединение с базой ты хотел сказать? Или без слова "интерпрайз" мы теперь не разговариваем?

Так и запишем - значение буквы T в слове JTA уважаемый сэр не знает.

>>рулится через JMX,

>это не нужно

Успехов в применении SNMP. Особенно там, где его возможностей не хватает.

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

>>Правда, тех, кто реально с ними работал, на ЛОРе непросто будет найти.

>Я с ними работал. Мы их юзали в качестве карточек для отметок, когда занимались спортивным ориентированием:))))

А я их использовал для каталогизации книг в домашней библиотеке. Обсудим enterprise использование перфокарт?;)

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

>Знаете, наверное, Вы довольно давно работаете HRом - потому как лично я >не встречал ни одного человека, умеющего весь j2ee.

Да не hr я ни разу, успокойся :) Они дай бог шарп от джавы отличать начали и не пишут уже обьявлений в стиле "ищем c# девелопера под линукс"

Про весь j2ee -ну тут ты не прав тк довольно много народу знают про jmx,jms,rmi и тд -те де факто знают весь j2ee. ejb и hibernate - совсем много.

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

>Так и запишем - значение буквы T в слове JTA уважаемый сэр не знает.

да есть там транзакции ,не волнуйся :)

>Успехов в применении SNMP. Особенно там, где его возможностей не >хватает.

Это что же вы там такое делаете что snmp не хватает?

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

>соединение с базой ты хотел сказать? Или без слова "интерпрайз" мы теперь не разговариваем?

Нет:) Я хотел сказать с любым транзакционным источником JTA. Это не обязательно "база".

>это не нужно

Вам не нужно - вы не ешьте. Мне - нужно. У меня томкет внутри процессов крутится и его через JMX конфигурят и им рулят, как и всем остальным. Если на то пошло JMX уже тоже часть JavaSE.

>Нее видимо про jaas ты знаешь только по рекламным проспектам :)

Я знаю что секурити менеджер тоже часть JAAS.

>если често такие вещи как jaas и jmx созданы для работы в сервере приложений

Угу. Я томкет в основном так и пользую. Очень прикольно когда томкет воявляется при запуске внутри своего jmx окружения и им можно порулить например чере mx4jшную консоль, и конфигурировать из своих конфигов.

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

> Про весь j2ee -ну тут ты не прав

Как насчет магического термина J2EE Connectors? Мне не приходилось - и спецов я не видел.

ЗЫ Про rmi я вечно путаюсь. Оно точно в j2ee или в j2se?

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

>Угу. Я томкет в основном так и пользую. Очень прикольно когда томкет >воявляется при запуске внутри своего jmx окружения и им можно порулить >например чере mx4jшную консоль, и конфигурировать из своих конфигов.

Оно прикольно да, пока нагрузка как на udaff.com или на ЛОРе не появляется.

Вот тогда и приходит великое разделение -nginx на фронте ,j2ee -внутри.

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

> да есть там транзакции ,не волнуйся :)

"Там" - это где? В Апаче? (/me весь взволновался, аж испариной покрылся)

> Это что же вы там такое делаете что snmp не хватает?

Менеджим-с...;)

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

>Как насчет магического термина J2EE Connectors? Мне не приходилось - и >спецов я не видел.

юзавших это на уровне "заценить - протестить" знаю. А спецы только по ним ихмо не нужны.

>ЗЫ Про rmi я вечно путаюсь. Оно точно в j2ee или в j2se?

везде :)

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

Ну вот видите - я ж говорю, у Вас опыт больше, я таковых и не видел. Насчет "не нужны" - скорее всего, но изначальная задача была "спец по всему j2ee" ;)

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

>"Там" - это где? В Апаче? (/me весь взволновался, аж испариной >покрылся)

в пхп ну или что там еще можно через fastcgi прикрутить.

>Менеджим-с...;)

Менеджера наймите при таких нагрузках :)

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

> в пхп ну или что там еще можно через fastcgi прикрутить

Боюсь, Вы не очень четко понимаете, что JTA - это как бы несколько более серьезно, чем "прикрутить через fastcgi". Точнее, "прикрутить" можно любые костыли к чему угодно. Особенно когда есть гвозди и скотч. Вопрос в том, будет ли оно работать, сколько будет геморрою при поддержке и пр и пр.

> Менеджера наймите при таких нагрузках :)

А также сборщика мусора и хранителя экрана...

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

binr> Может и стоит. Вопрос что удобнее? Запуск драйвера как процесса в qnx или компиляция всего ядра с модулем?

Слив засчитан. Вопрос не в этом. Вопрос в том, почему ты не осилил настройку ядра и пересборку с выкидыванием того, что не нужно?

А про дрова согласен. Надо бы основной интерфейс сделать, достаточный для написания дров.

Displacer> Честно говоря уже утомили новости о жаве. Сплошная провокация флейма, а к линуксу отношение имеет крайне сомнительное.

За это уже надо пинать тех, кто пропускает новости - это полностью на их совести.

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

Даже под компьютеры с функциями телефона не напишешь так пользовательскую программу на C++.

generatorglukoff> Можно. Прошивку.

Ага. Только придётся учитывать устройства ввода-вывода и прочее специфичное железо. Так что фиг.

anonymous> Я как раз удивлялся, что никто о Лиспе не вспоминал)

Хм... Вообще это покруче жабы в том отношении, что даже компилировать ничего не надо :) И уже ОС есть, где весь софт на лиспе пишется. Угадайте с одного раза, как называется ;)

anonymous> Кстати всё под вендой нормально работает, тот же stardict не хуже чем под линуксом.

Нифига! Под вендой сканирование работает через одно место. Только в GTK программах под вендой StarDict сканирует слова. Так что приходится копировать их в буфер обмена, чтобы хинт с переводом появлялся и в настройках соответствующую опцию включить.

anonymous> лисп сдох в конце восьмидесятых :(

Лисп использовали как скриптовый язык в 1995 году в движке игры Abuse. Так что не сдох он к тому времени.

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

Во первых есть статья дедушки Вирта датированная 95-ым годом - "Долой жирные программы"

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

Далее, вопрос, что быстрее, освобождать память вручную, или сборщиком также спорен, но некоторый свет на него проливает бумажка Ганса Боема про мифы. Если ей верить, то сборка мусора быстрее в случае небольшого количества аллокаций больших пространств а не в случае большого количества аллокаций маленьких программ Однако есть еще один вопрос - человеческий фактор

Все большие проекты, как то Икс сервер имеют утечки памяти

Поэтому я считаю польза от сборщика автомата все еще спорна Тем не менее яву я не просто не люблю, но и не уважаю

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

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

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

Если б в IT рулили бы чисто технологические критерии - жабка бы, возможно, даже не родилась, не говоря уж о захвате той доли рынка, которая у нее есть.

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

еше добавлю Тот же дедушка Вирт, которого здесь многие не любят и который однако является одним из признанных создателей компиляторов никогда не оптимизировал код чрезмерно К примеру, a := a + 1 его компиляторы переводили именно так, не заменяя инструкцией inc Потому что автор написал так Нечего оптимизировать Писать надо лучше А код компилятора не утежелять глупостями Таким образом ява является лекарством для больного еще более усугубляющим его положение Не нужно доверяться компилятору, нужно уметь программировать

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

напротив - ява просто раскрученный бренд для потребителя

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

по скорости разработки ява ничуть не уступает Дельфи

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

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

На счёт поддержки - спорно.

>Если б в IT

Вот и сидите в своём ит. Людям ит не нужна. Скоро это ит с иудейскими береднями: "лишь бы денег захапать", покинет нас навсегда.

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

> А то, что отжирает столько памяти и так тормозит это плохо

Всему есть цена

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

> На счёт поддержки - спорно.

Спорьте на здоровье;)

> Скоро это ит с иудейскими береднями: "лишь бы денег захапать", покинет нас навсегда.

/me бухается на колени в экстазе: "О пророк, когда же ненавистная иудейская ит наконец покинет нас навсегда - и в какую область направить нам взоры свои тогда?"

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

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

А что, она еще не слила по стоимости разработки и поддержке CLR ?

> уж о захвате той доли рынка, которая у нее есть.

А сколько у нее сейчас осталось, четверть рынка сереврного корпоративного ПО поди и все?

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

> А что, она еще не слила по стоимости разработки и поддержке CLR ?

Смотря как считать;) Не думаю, что слила. Особенно если отойти от виндовой платформы.

> А сколько у нее сейчас осталось, четверть рынка сереврного корпоративного ПО поди и все?

А игрушки для мабилок?;)

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

anonymous> причем компиляция происходит в процессе инсталляции софта (что решает проблему большого времени запуска) - почему нет?

А почему почему бы и не поставить Gentoo на такие устройства? ;) C++'еры довольны и подход реализован.

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

>Боюсь, Вы не очень четко понимаете, что JTA - это как бы несколько более серьезно

Это конечно мое большое ихмо но все же сувать distributed transactions в драйвер доступа к базе данных это перебор. Он для другого предназначен.

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

>То, что отладки меньше, тоже хорошо

ты хотел сказать инструментов для отладки меньше :)

И это не разу не хорошо.

>по скорости разработки ява ничуть не уступает Дельфи

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

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

>Как только Вы поймете, что джава рулит не столько технологически, >сколько с т.зр. стоимости разработки и поддержки - сразу поймете, что >Ваши аргументы (сами по себе бесспорные) - просто бьют мимо цели.

Я полагаю что основная масса народу тут уже давно сделала выводы о том что где и когда рулит исходя из собственного опыта. А троллят только в качестве развлечения :)

anonymous
()

Lor-овские анонимы, толкаясь жопами, стремятся влезть в те 0.01% программеров, которые оптимят лучше компилера. Усритесь, но не влезете :()

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

> Lor-овские анонимы, толкаясь жопами, стремятся влезть в те 0.01% программеров, которые оптимят лучше компилера. Усритесь, но не влезете :()

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

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