LINUX.ORG.RU

А кто-нибудь пробовал прикрутить java plugin к Мозилле или NS6?

undefined symbol: NS_ShutdownXPCOM__FP17nsIServiceManager

svs ★★★
()

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

2 Полуденный Бес: Спасибо :)

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

2 CybOrc (*) (2002-01-25 11:14:58.0)
> а про 3D на Java что-нибудь конкретное можно увидеть? И есть ли к
> этому какие-нибудь нативные библиотеки, использующие аппаратные
> возможности?
Поищи на java.sun.com или developer.java.sun.com по слову 'java3D'.
Кажется реализовано как интерфейсы поверх native библиотек.

satyr.

anonymous
()

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

Если хотите, можно поспорить о том что правильно написанный Java чат по определению будет всегда быстрее самого правильного скриптового чата. Но по моему это и так очевидно :)

>Ну и что доказывает ваш пример? А было бы это написано например на >Perl - держало бы и 1000 человек, я больше про это говорю. То что >написать можно все на JAVA и что оно будет работать я не сомневаюсь. >Странник

Для понимания о чем вообще идет речь предлагаю сходить сюда http://www.pogo.com, кстати обратите внимание на кол-во человек в online. Речь идет о действительно больших проектах, где задействованы десятки,сотни человек и где нужны более серьезные технологии чем "собранные на коленке" perl и php, которые IMHO несовместимы с понятиями Сопровождение, Развите и т.д.
Кстати linux.org.ru раньше работал на php движке, теперь jsp...интересно правда?

cyberian
()

Для сомневающихся в возможностях Java 3D графики пожалуста сюда
http://javagaming.org, там на главной странице весьма впечатляющие скриншоты. А тут http://javagaming.org/Documents/documents.html лежит статейка об аппаратном ускорении графики в JDK1.4
"...Java 2DTM provides access to hardware-accelerated offscreen images, which take full advantage of the graphics acceleration capabilities of each JavaTM platform. The new VolatileImage class allows you to create and manage a hardware-accelerated offscreen image."

cyberian
()

Cyberian, перловые продукты сопровождаются не хуже Java, если их писать разумно. :) Перл развивается уже очень долго... Нужно ли приводить примеры сайтов крупнее, чем LOR, работающих на Перле? :)

А вот JSP у меня как раз мало ассоциируется с "сопровождением" и "развитием", ибо, по-моему, код, перемешанный с html --- это неправильно. В идеале в коде вообще не должно быть текста, который выводится в браузере (и наоборот). Но для этого нужен хороший язык шаблонов. Тогда верстка и создание кода могут идти более или менее независимо, что для крупных сайтов немаловажно.

CybOrc
()

Кстати, я тот тестик для Java из нынешнего
голосования попробовал на IBMJava и на той,
которая в топике... Может, я что-то не так делал,
но 1.4.0 выполнила этот тестик почти вчетверо медленнее.

Еще раз:

class test
{
    public static void main(String argv[])
    {
        int i, j;
        int a;
        long time = System.currentTimeMillis();
        for (j = 0; j < 10; j++)
        {
            for (i = 0; i < 1000000000; i++)
            {
                a = i + j * 23;
            }
        }
        time = System.currentTimeMillis() - time;
        System.out.println(time);
    }
}


CybOrc
()

2 CybOrc

В отношении JSP - присоединяюсь, каша получается та еще.
В отношении Перла - отмежевываюсь - совершенно нечитаемый язык. Для кода длиннее пары тысяч строк совершенно не годится. Как-то раз написал многопоточный сервер "чего-то" на Перле, для прикидки. Мама дорогая! Это же страх божий. При том, что я старался структурировать код, комментировать, форматировать и вообще - тетешкал.

Полуденный Бес

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

>Cyberian, перловые продукты сопровождаются не хуже Java, если их >писать разумно. :) Перл развивается уже очень долго... Нужно ли >приводить примеры сайтов крупнее, чем LOR, работающих на Перле? :)
Мне кажется сейчас несколько другие тенденции которые предусматривают
использовние именно ТЕХНОЛОГИЙ. Время кудесников-одиночек мне кажется проходит :)

>А вот JSP у меня как раз мало ассоциируется с "сопровождением" и >"развитием", ибо, по-моему, код, перемешанный с html --- это >неправильно. В идеале в коде вообще не должно быть текста, который >выводится в браузере (и наоборот).

К счастью вы не правы - посмотрите хотя бы page source этого форума и скажите где вы видите код перемешанный с html? :)
следовательно tip: читаем про сервлеты, XML/XSLT и т.д :)

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

>Cyberian, перловые продукты сопровождаются не хуже Java, если их >писать разумно. :) Перл развивается уже очень долго... Нужно ли >приводить примеры сайтов крупнее, чем LOR, работающих на Перле? :)
Мне кажется сейчас несколько другие тенденции которые предусматривают
использовние именно ТЕХНОЛОГИЙ. Время кудесников-одиночек мне кажется проходит :)

>А вот JSP у меня как раз мало ассоциируется с "сопровождением" и >"развитием", ибо, по-моему, код, перемешанный с html --- это >неправильно. В идеале в коде вообще не должно быть текста, который >выводится в браузере (и наоборот).

К счастью вы не правы - посмотрите хотя бы page source этого форума и скажите где вы видите код перемешанный с html? :)
следовательно tip: читаем про сервлеты, XML/XSLT и т.д :)

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

test

У меня 1.4.0 = 101010 1.3.1 = 100988 т.е. почти одинаково

NikS
()

На перле можно писать модульные вещи, если смущают здоровые тексты. Впрочем, как правило, на нем и не нужно писать приложения о многих тысячах строк, как правило проблемы решаются проще. :) Нечитабелен он только с непривычки, и то, как правило, это касается регекспов. Не секрет, что софтину на C (C++) или той же Jave можно написать так, чтобы она стала трудночитабельной. То же самое и с перлом. У меня, как правило, не возникает проблем с чтением разумно написанного кода на нем.

CybOrc
()

2 Cyberian: Как в коде страницы я могу увидеть те куски Java, которые есть на сервере? :) По-моему, мы говорим о разном. :) Та каша кода и html, о которой я говорю, браузеру никогда не передается. Так же, как браузеру не передается, скажем, SSI :)

И где я отрицал необходимость _технологичного_ создания сайтов? Каша кода и html'я мне, например, технологичной не кажется. А эту "технологию" проталкивает asp, jsp, php. В качестве примера для последнего можно глянуть код известной софтины phpMyAdmin (phpPgAdmin).

2 NikS: У меня Celeron-466 дал 46 секунд на IBM-Java-1.3. Чей компилятор версии 1.3.1 использовался? Я сравнивал Sun Java и IBM Java.

CybOrc
()

2Полуденный Бес

Можно вместо перла питон использовать, мне тоже перл не очень 1000 строк кода и все нечитается

СтранниК

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

test 2

Да, IBM J2SDK 1.3.0 выдала 25399. Ждем IBM J2SDK 1.4.0 - это будет смерть мелкомягкому .NET фреймворку!

NikS
()

А Питон медленный. Разница с Перлом в разы... К тому же, есть свои геморрои...

CybOrc
()

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

СтранниК

anonymous
()

2 СтранниК

Нет, Питон - это не замена Перлу, а тем более яве. Сколько web(application) серверов поддерживают Питон?

И как новая JVM от IBM задушит .NET? Если IBM по Windows JVM не выпускает? А .NET портанут под Линукс и ФРЮ?

Полуденный Бес

anonymous
()

2 Бес: Питон сейчас поддерживает практически любой веб-сервер. Apache, Zope, IIS... Более того, Питон компилируется в байт-код Java (правда, при некоторых ограничениях, накладываемых на использование библиотек).

2 СтранниК: Предлагаю провести простой тест: пустой цикл, скажем, на 50 миллионов итерацияй на Перле и на Питона. Там будет видно, какая между ними разница.

CybOrc
()

А, кстати, mod_python поставляется с дистрибутивом РХ 7.2, если я не ошибаюсь.

CybOrc
()

2Полуденный Бес >>>>>>>>>>>>>>>>>>>> >> Нет, Питон - это не замена Перлу, а тем более яве. Сколько web(application) серверов поддерживают Питон? >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>

Сейчас Питон уже вполне он юзабелен. Конечно модулей у него меньше чем у Перла. Про Яву скажу так. Много серверов приложений пишется - это как дань моде. Но вопрос в другом много ли используется?

Касательно Питона: 3 штуки знаю точно. Сейчас просто не могу найти с ходу ссылки. пару работает в паре с апачем, причем поддерживает сервлеты на питоне ( Webware называется ) с похожим интерфейсом как у Явы. модуль питона прикручиватся к AOLserver,который сам является сервером приложений. На самом деле я свою точку зрения не навязываю никому. Скажу так. Мне по-большому фиолетово сколько серверов и как применяется, просто мне кажется решение на Python мне будет обходится дешевле и с точки зрения ресурсов как для написания,так и для сопровождения. А то что весь мир сходи с ума - это личное дело каждого.

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

Недавно нашел ссылку про возможность построения e-commerce сайтов на перле: http://dapi.chaz.ru/articles/etoy.xml ( 4 сай по загруженности в мире среди e-commerce сайтов) Это доказывает что альтернативные решения существуют и работают нормально. Только и всего.

СтранниК

anonymous
()

Хи-хи... Перл стал экзотическим средством для построения крупных и посещаемых сайтов? А знаете такие сайты, как ntv.ru, ntvworld.com? :)

CybOrc
()

А кто вам сказал, что джава для веба - это именно JSP?

А если и JSP, то наученные люди делают всю логику в сервлете, а потом редиректят на JSP, в которой вставлена парочка custom тегов и усе.

А с XML/XSL вообще никакой мешанины.

Havoc ★★★★
()

2 СтранниК

Давно известно, что самая живучая технология - не обязательно самая лучшая(пример - Windows). А если говорить о средстве разработки, то чем больше сторонних производителей его поддерживают - тем лучше, со всех сторон, и коммерческих, и программерских.

Так я же не говорю, что на яве надо писать всегда и везде? И что Перл надо давить? Каждому овощу свой фрукт. Если быстро нужна небольшая утилита для внутреннего применения, то Перл - очень даже годная вещь. Сам писал одно время со всем плезиром. К нему, правда, надо пакет конопли прикладывать. Для бодрости духа.

Полуденный Бес

anonymous
()

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

А XML/XSL действительно самое милое дело... Вот только тяжеленькое оно. Да и верстальщики есть разного уровня интеллекта. Темплейты Zope, пожалуй, пошустрее будут и попроще. А использовать их можно, не поднимая Zope.

CybOrc
()

2CybOrc >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>> 2 СтранниК: Предлагаю провести простой тест: пустой цикл, скажем, на 50 миллионов итерацияй на Перле и на Питона. Там будет видно, какая между ними разница. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Вот пожалуйте тест:

time ./t1.py

real 0m57.769s user 0m57.850s sys 0m0.020s

time ./t1.pl

real 0m59.505s user 0m59.570s sys 0m0.000s ===================== сat t1.py ===========================

#!/opt/bin/python2.1

import sys

for i in xrange(1,50000000): a=0;

sys.exit(0)

===================== сat t1.pl ===========================

#!/usr/bin/perl

use strict;

for(my $i=0; $i<=50000000; $i++) { $a=0; } exit

===============================================

СтранниК

anonymous
()

2 СтранниК

Во, уже хорошо

use strict;

for(my $i=0; $i<=50000000; $i++) { $a=0; } exit

Во!
В директиве use ... требуется явное объявление переменных. С $i вроде бы все понятно, но почему $a проходит? "Вот за это я и не люблю кошек". Или я "просто не умею их готовить"?

Полуденный Бес

anonymous
()

О! Таки они победили сырость в 2.1 :) Это плюс :) Спасибо за инфу :) Кстати, а если не xrange'м сделать, а циклом с инкрементом? 1.5 дает в этом случае результат похуже.

Бес, с пакетом конопли ты не только Перл понимать разучишься, но и родную речь. :)

CybOrc
()

2 CybOrg

Подожди-подожди! Какое-то недопонимание. Какую сырость, не понял? Я уже с год к Перлу не прикасался, не курсе его новостей.

Полуденный Бес

anonymous
()

2 CybOrc

Прошу прощения за перевранный ник.

Полуденный Бес

anonymous
()

Перл тут не при чем. Просто в Питоне до версии 2.0 включительно были сложности с арифметикой --- она работала раза в два медленнее, чем под Перлом. Причем эта особенность очень странна, ибо в Питоне существует типизация (правда, переменная может менять свой тип). В Перле же типизации как таковой нет (по крайней мере, программист ее не видит).

Аналогично я сейчас не понимаю разницы у Java-машины (или компилятора) IBM и Sun. Как выше было показано, отношение быстродействий на простеньком приложении составило 4 (300%).

Кстати, видимо, Microsoft J++ тоже слабовата по сравнению с IBM-Java... Правда, это приложеньице (ц) на J++ гонял уже не я.

CybOrc
()

2Полуденный Бес

Насчет ошибки я сам удивился ( $a=0; ) Наверно что-то намутили в новом перле не знаю. Может кто объяснит?Я с версией 5.6 не работал.

СтранниК

anonymous
()

2 Полуденный Бес
> И как новая JVM от IBM задушит .NET? Если IBM по Windows JVM не
> выпускает? А .NET портанут под Линукс и ФРЮ?
Видимо давно ты на их сайте (IBM) не был. ;)
E:\local\devel\ibm-jdk\bin>java -version
java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0)
Classic VM (build 1.3.0, J2RE 1.3.0 IBM build cn130-20010609 (JIT enabled: jitc))
Сейчас уже они раздают билд cn130-20010925

2 CybOrc (*) (2002-01-25 18:04:55.0)
> Аналогично я сейчас не понимаю разницы у Java-машины (или
> компилятора) IBM и Sun. Как выше было показано, отношение
> быстродействий на простеньком приложении составило 4 (300%).
В sun jdk 1.4.0 beta3 очень хорошо прооптимизировали работу с java.lang.reflect. А на прямом вызове методов ibm jdk и ms jview впереди планеты всей. :)
Да и не надо забывать, что sun jdk по умолчанию использует Hotspot ClientVM.

> Кстати, видимо, Microsoft J++ тоже слабовата по сравнению с IBM-
> Java... Правда, это приложеньице (ц) на J++ гонял уже не я.
Скорее это на volano.com.

satyr.

anonymous
()

2СтранниК
>Насчет ошибки я сам удивился ( $a=0; ) Наверно что-то намутили в новом >перле не знаю. Может кто объяснит?Я с версией 5.6 не работал.

LOL! Вот этот пост и есть подтверждение того о чем я говорил! перлом недовольны, перл переписывают, java стабильно развивается без резких скачков не теряя полной совместимости с предыдущими версиями не говоря уже об изменении синтаксиса языка! И все потому что Sun на этом зарабатывает деньги и не может себе позволить такие фокусы! Перлом рулят бодрые хакеры покуривающие коноплю и которые пишут в своих лицензиях "WITHOUT ANY WARRANTY" :)


cyberian
()

This is perl, v5.6.1 built for i386-linux
use strict;

for(my $i=0; $i<=50; $i++) { $a=0; } exit
====

И работает ($a). Блин. Что-то мне он разонравился. А еще на сервере проблемы с ним - переменные одного CGI пожно перехватить из другого CGI которые не как не связанные между собой (правда здесь mod_perl воду мутит).

С другой стороны:
TCL
for {set i 0} {$i <= 5000000} {incr i} {
set a 0
}

PERL
for(my $i=0; $i<=5000000; $i++) { $a=0; } exit

Результаты:
TCL:
real 0m49.421s
user 0m49.230s
sys 0m0.000s

Perl:
real 0m7.636s
user 0m7.600s
sys 0m0.000s
==================================
С другой стороны TCL более гибкий язык чем Perl. Хотя, конечно, обидно.

Korwin ★★★
()

Я доволен Перлом. Приведенный пример --- действительно несуразность. Надо бы ее в багрепорт... С количеством клиентов, с которым работает ЛОР, Перл справится без труда. Тут Java --- это вопрос предпочтения разработчика, не более. По поводу совместимости Java... Да, совместима... А как насчет устаревших методов из стандартных библиотек Java в Java 2?

Корвину: По поводу перехвата значений переменных. Можно угадать? Переменная глобальная?

CybOrc
()

трудно писать что-то большое на перле? А модули просто так сделали чтоли, ООП наконец?

а по поводу $a, и кстати $b - так это из серии $_ и прочих служебных переменных, вот строчка из perldoc strict:

Because of their special use by sort(), the vari-
ables $a and $b are exempted from this check.

to cyberian: вот как раз в яве 1.3 мой знакомый нашел несколько багов, с инкриментами ++i,i++.

to Korwin: в mod_perl надо my использовать, потому как там что-то типа сессии, наверное это связано с протоколом HTTP/1.1

А насчет веба, советую взглянуть наконец на HTML::Mason - www.masonhq.com.

P.S.: читайте маны, они рулез

lazyalex
()

lazyalex, просветил, спасибо :) Вот уж не знал, что $a и $b приравнены к $_ :)

А можно подробнее про баги с инкрементами?

В mod_perl есть трап с глобальными переменными. Я не думаю, что кто-то пишет что-то на Перле сейчас без use strict...

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

Вот что меня всегда удивляло - это крики XXX - suxx, при недостаточном знании этого самого XXX.

Про $a, $b уже объяснили...

Про use strict; - без use warnings; нельзя утверждать, что у вас с кодом все нормально... strict ловит только ошибки компиляции, а мелочи, вроде не проинициализированных переменных поймать можно только при исполнении кода... В CGI надо бы не забыть добавить -T в вызов интерпритатора.. Вот тогда можно быть хоть в чем-то уверенным...

Теперь по поводу тестов - я не знаток Python, поэтому не скажу, насколько данная конструкция оптимальна, но для Perl'a правильнее будет такой скрипт:

my $c; foreach my $i (1..50000000) { $c=0; } exit;

Результат выполнения на моем слабосильном PII-400:

53.343u 0.046s 1:00.11 88.8% 855+334k 0+0io 0pf+0w

Для Python2.1 с тем же размером цикла:

90.625u 0.109s 1:42.41 88.5% 536+973k 0+0io 0pf+0w

Для оригинального кода на Perl рез-т:

65.052u 0.086s 1:13.28 88.8% 850+331k 0+0io 0pf+0w

Чисто для прикола, тот же цикл на C:

0.623u 0.000s 0:00.72 86.1% 5+174k 0+0io 0pf+0w

:))

BaT ★★★★★
()

Я обычно первой строкой делаю #!/usr/bin/perl -w :) Привычка :)

use warnings появилась, кажется, с 5.6.0, а я до сих пор на работе 5.005 пользую...

Цикл с foreach, конечно, побыстрее, но я хотел именно for. Это нужно объяснять? :)

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

Нужно :) Ибо иначе получается нечестное сравнение - xrange vs. for loop.

Я думаю, python позволяет представить прямой аналог for(;;) цикла? А (1..50_000_000) - как раз и будет range operator(как и xrange).

Но в любом случае, странно, что полученные рез-ты так различаются - у меня в любом случае Perl выигрывает почти вдвое, по сравнению с Python. А у Вас - наоборот, Perl в пролете, хоть и ненамного... Можно конечно, списать на различие в OS - у меня FreeBSD, а у Вас, очевидно, Linux, но вряд ли - данный пример с системой-то и не работает...

В общем, Perl со счетов списывать еще рано :) И если кому-то Perl кажется неподходяшим для больших проектов - рекомендую просто его получше изучить!

BaT ★★★★★
()

Я хотел именно сравнение пары щиклов, где работает арифметика языка. Так что xrange тут не подходит в обоих случаях, ибо, похоже, что оптимизация с ним производится таки по-разному. У меня получалось соотношение даже 70:15 для питона против перла в случае пустых циклов. :) Питона жалко. Дюже язык пригожий :) А Перл никто и не списывает, собственно. Разве что теоретики. Но кто их слушает? :)

Как-то один знакомый range вместо xrange вписал. Что характерно, заработала. Правда, сервер разработки встал в известную позу. :)

CybOrc
()

2CybOrc
> Корвину: По поводу перехвата значений переменных. Можно угадать?
> Переменная глобальная?

Используется use strict и my тоже.
Беда в том, что mod_perl для pm делает общую память. И если несколько CGI используют ее и одна решила изменить переменную (напрямую или через OO-вызов - не важно), то эти изменения видят и другие CGI. Это херово.

Korwin ★★★
()

Не важно, что используется use strict и my. В мане есть предупреждение об аккуратности в использовании глобальных переменных в mod_perl. Более того, это не баг, это фича. Может быть использована для персистентных объектов.

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

Подтверждаю - фича :) Если же кого-то все еще тянет использовать глобальные переменные - то в mod_perl достаточно вставить программу в объемлющий блок {} чтобы вывести переменный из глобальной области видимости...

BaT ★★★★★
()

Про $a и $b - вот теперь я точно не люблю кошек.
И не важно, что я не умею их готовить.

Полуденный Бес

anonymous
()

мда...а как насчет запросов вида? victim.com/cgi/forum.pl?read=../../../../etc/passwd
и не надо говорить что все уже научились писать правильные скрипты!

cyberian
()

А, если автогеном через зад себе гланды удалять, можно язву нажить.

Этот фокус с read можно повторить в любом cgi-приложении вне зависимости от языка при наличии у программера рук должной кривизны. Причем код будет аналогичным. Впрочем, криворучка в мало-мальски крупной конторе долго не продержится. Я как-то на чьем-то анонимном ftp нашел инишку от mc, где был прописан логин и пароль другой комп... Но это ведь не ftpd был виноват, правда? :)

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

см. javagaming.org - 3D гоночки на Java. :)
ИМХО: JDK1.4 RULEZZZ! :) 
Sun говорит, что в новом JDK производительность увеличина в 2 раза.
(лично я не проверял, еще не успел скачать).

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