Форум: "Прочее";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
ВнизJava - как вам оно Найти похожие ветки
← →
Шмелъ (2006-07-21 11:58) [0]Закончили проект, и посадили меня изучать Java для развития другого проекта, книгу большую дали. По первым ощущениям - а знаете клево, ни указателей, ни работы с памятью, никаких низкоуровневых операций, сиди пиши себе не думая, классы почти на все случаи жизни имеются к тому же кроссплатформенность - красота. И вот задумался я - это к чему ж все идет-то. Скоро программистам вообще ничего знать не надо будет, и программы будут состоять из 2-х - 5-ти слов. А я тут было думал ассемблер поизучать, архитектуру процессора, туда сюда. ...Костыли для программистов, все более модернизируются?
← →
StriderMan © (2006-07-21 12:04) [1]у Java есть обратная сторона медали, и даже не одна! Во первых это интерпретатор, а по сему работает весьма медленно. Во вторых, если уж понадобились низкоуровневые операции, то придется городить велосипед.
А в остальном очень приятный язык. только сдал позиции в последнее время, так и не успев их занять. Даже на мобилках потихоньку сдает позиции в связи с широкой доступностью смартфонов Symbian и WM
← →
Чапаев © (2006-07-21 12:04) [2]
> это к чему ж все идет-то
Мы все умрём.
> Скоро программистам вообще ничего знать не надо будет, и
> программы будут состоять из 2-х - 5-ти слов.
Скажу по секрету, уже есть опытные образцы таких программистов и таких программ.
← →
Шмелъ (2006-07-21 12:20) [3]
> Мы все умрём
Да! И наступит царствие вселенского, тантрического яйцеобразного мозга с человекоподобными щупальцами, и по земле будут ходить штаноперепела. АПОГЕЙ, барень!
← →
iZEN © (2006-07-21 12:24) [4]
> StriderMan © (21.07.06 12:04) [1]
>
> у Java есть обратная сторона медали, и даже не одна! Во
> первых это интерпретатор, а по сему работает весьма медленно.
> Во вторых, если уж понадобились низкоуровневые операции,
> то придется городить велосипед.
Бред.
Бред.
Java работает быстрее C++ и в некоторых случаях быстрее С, поскольку имеет оптимизацию на стадии компиляции в байткод (javac) и на стадии динамической трансляции кода под архитектуру процессора (JIT). Для С/С++ нужна статическая компиляция под архитектуру конкретного процессора, иначе тормоза обеспечены как на i386.
Для исполнения нативного кода городить велосипед не приходится. Есть чётко опредёлённый способ: JNI (Java Native Interface). Через него загружаются и вызываются все динамические библиотеки (.dll, .so).
← →
Ketmar © (2006-07-21 12:28) [5]>iZEN © (21.07.06 12:24) [4]
точно быстрее? и не на тестовых примерах, а на реальных больших проектах? что ж у меня JIDEA так тормозила-то тогда?
← →
Stakan © (2006-07-21 12:29) [6]StriderMan © (21.07.06 12:04) [1]
Только сдал позиции в последнее время, так и не успев их занять. Даже на мобилках потихоньку сдает позиции в связи с широкой доступностью смартфонов Symbian и WM
http://www.tiobe.com/tpci.htm
← →
isasa © (2006-07-21 12:33) [7]... и программы будут состоять из 2-х - 5-ти слов.
Ну допустим 2 слова я знаю ...
А кто подскажет литературу по 5-ти?
← →
Чапаев © (2006-07-21 12:35) [8]
> А кто подскажет литературу по 5-ти?
Поступайте, молодой человек, в наш ВУЗ, выучите третье, после аспирантуры будете знать четыре слова. А по пяти... Это не иначе как докторантуру закончить надо.
← →
StriderMan © (2006-07-21 12:37) [9]
> Java работает быстрее C++ и в некоторых случаях быстрее
> С, поскольку имеет оптимизацию на стадии компиляции в байткод
> (javac) и на стадии динамической трансляции кода под архитектуру
> процессора (JIT).
Вы когда-нибудь сами сравнивали?
А JIT-ускорение помогает в весьма ограниченных случаях! Кстати JIT это же динамический оптимизатор вычислений (Just In Time Accelerator), его сделали как раз для того чтобы ускорить работу интерпретаторов (эта технология используется не только в Java), его возможности весьма ограничены.
> Есть чётко опредёлённый способ: JNI (Java Native Interface).
> Через него загружаются и вызываются все динамические библиотеки
> (.dll, .so).
Вот про это не знал
← →
tesseract © (2006-07-21 12:41) [10]
> А в остальном очень приятный язык. только сдал позиции в
> последнее время, так и не успев их занять.
на серваках, вроде, пока не сдаёт позиций.
← →
ZeroDivide © (2006-07-21 12:55) [11]>>Java - как вам оно
Даром не нать. Delphi - forever!
← →
Чапаев © (2006-07-21 13:05) [12]
> на серваках, вроде, пока не сдаёт позиций.
Жаба? На серваках?
← →
tesseract © (2006-07-21 13:10) [13]
> Чапаев © (21.07.06 13:05) [12]
угу. Netware, IBM WebSpere, ORACLE, Tomcat - можно до Таллина дойти.
← →
Ketmar © (2006-07-21 13:10) [14]>Чапаев © (21.07.06 13:05) [12]
вполне.
← →
Чапаев © (2006-07-21 13:14) [15]
> ORACLE,
Там же вроде только front-end навороты на жабе?
> Tomcat
Это да, не поспоришь.
Остальное не щупал. :-)
← →
pasha_golub © (2006-07-21 14:03) [16]
> iZEN © (21.07.06 12:24) [4]
Я могу допустить, что у каждого есть свои предпочтения. Но у вас это религия, извините. Я точно знал, что в этой ветке без вас не обойдется и точно знал суть ваших высказываний. Увы, я почему-то склоняюсь к мнению большинства.
← →
Palladin © (2006-07-21 14:18) [17]
Ketmar © (21.07.06 12:28) [5]
>iZEN © (21.07.06 12:24) [4]
точно быстрее? и не на тестовых примерах, а на реальных больших проектах? что ж у меня JIDEA так тормозила-то тогда?
Так она-ж не знала что может быстрее работать :)
← →
Piter © (2006-07-21 15:00) [18]Ну да, это теория все. Тоже что с технологией .NET... В теории оно конечно да, может работать быстрее, но в реальности...
← →
tesseract © (2006-07-21 15:11) [19]
> Piter © (21.07.06 15:00) [18]
ну Novell ксати рьяно взялась за mono. Очень рьяно.
Наверно ей сильно не понравился опыт внедрения продукта "заклятого друга" в своей netware. ИМХО это только из-за IBM WebSphere.
← →
casi2 (2006-07-21 15:52) [20]>Скоро программистам вообще ничего знать не надо будет, и программы будут состоять из 2-х - 5-ти слов.
Вас еще не посещала мысль примерно такого рода: "Я знаю как решить эту задачу, но для этого нужно написать 4 цикла for, 5 ветвлений и один switch, как было бы хорошо, если бы мысль можно было преобразовать в операторы языка".
Кажущаяся простота Java искупается монстроидальностью ее фреймворка, который тоже неплохо бы знать.
← →
vidiv © (2006-07-21 18:29) [21]Пример: Zend Studio, как я понял написан на java... жутко медленный, даже на моем P4-3200MHz, 1Gb PC3200 озу. по функциональности сравнимо с IDE дельфи, но по качеству очень сильно уступает.
← →
Marser © (2006-07-21 19:05) [22]> [4] iZEN © (21.07.06 12:24)
>
> > StriderMan © (21.07.06 12:04) [1]
> >
> > у Java есть обратная сторона медали, и даже не одна! Во
>
> > первых это интерпретатор, а по сему работает весьма медленно.
> > Во вторых, если уж понадобились низкоуровневые операции,
>
> > то придется городить велосипед.
>
> Бред.
Изен, тут все и так знают, что ты фанат Явы и знаешь о ней больше всех. Но не надо же так увлекаться расхваливанием своего болота...
← →
wicked © (2006-07-21 19:51) [23]скажу одно слово - Eclipse.... :)
скачайте и посмотрите....
← →
Marser © (2006-07-21 20:13) [24]> [8] Чапаев © (21.07.06 12:35)
>
> > А кто подскажет литературу по 5-ти?
>
> Поступайте, молодой человек,Login: isasa
E-mail: isasa@ukr.net
Реальное имя: Александр Иванов
Дата рождения: 22.06.58
LOL
> [21] vidiv © (21.07.06 18:29)
> Пример: Zend Studio, как я понял написан на java... жутко
> медленный, даже на моем P4-3200MHz, 1Gb PC3200 озу.
Дык, вот и я о том же. Я понимаю, что Изен в Яве практически гуру и Визард, дай Бог каждому, но с таким же успехом сейчас здесь может выступить Игорь Шевченко, рассказать о своих успехах в борьбе с "системой" и объявить, что Делфи рульнее рульного. Но он этого не делает, оттого, что понимает простую вещь - в руках мастера даже столовая ложка смертельное оружие, а в руках труса и неуча и АК бесполезен и даже опасен для него же.
← →
Юрий Зотов © (2006-07-21 20:58) [25]Столовая ложка полезнее. Ею есть можно. Попробуйте есть АК.
← →
Gluksman (2006-07-21 21:20) [26]Юрий Зотов © (21.07.06 20:58) [25]
Есть ложкой живого кабана как-то несподручно. Да и неживого тоже.
← →
Юрий Зотов © (2006-07-21 21:22) [27]> Gluksman (21.07.06 21:20) [26]
Тут о жабах...
:о)
← →
Sergey Masloff (2006-07-21 22:11) [28]Чапаев © (21.07.06 13:14) [15]
>> ORACLE,
>Там же вроде только front-end навороты на жабе?
А хотя бы концептс прочесть было никак?
В оракле мощнейшая java-машина встроена, можно триггеры и хранимки на JAVA писать (да собственно часть встроенных пакетов на JAVA и написана)
← →
Den_is © (2006-07-21 22:19) [29]
> скажу одно слово - Eclipse.... :)
> скачайте и посмотрите....
Ссылку не подскажешь?
← →
Игорь Шевченко © (2006-07-21 22:21) [30]Sergey Masloff (21.07.06 22:11) [28]
Зачем читать concepts, когда Delphi fareva, а Oracle и вовсе на С написан, даже без плюсов...
Сдается мне, что Java и C# будут "жить долго и счастливо и умрут в один день". IMO вот такое. Все-таки оно хорошо, когда переносимо, не в одних же Windows счастье.
← →
wicked © (2006-07-21 22:56) [31]> Den_is © (21.07.06 22:19) [29]
> > скажу одно слово - Eclipse.... :)
> > скачайте и посмотрите....
>
> Ссылку не подскажешь?
http://www.eclipse.org
← →
iZEN © (2006-07-22 15:43) [32]
> Ketmar © (21.07.06 12:28) [5]
>
> >iZEN © (21.07.06 12:24) [4]
> точно быстрее? и не на тестовых примерах, а на реальных
> больших проектах? что ж у меня JIDEA так тормозила-то тогда?
>
Точно быстрее:
http://izen.dev.juga.ru/downloads/delphitest.zip
http://izen.dev.juga.ru/downloads/javatest.zip
Список приложений на java: http://java.sun.com/products/jfc/tsc/sightings/index.html
← →
iZEN © (2006-07-22 15:46) [33]
> Игорь Шевченко © (21.07.06 22:21) [30]
>
> Сдается мне, что Java и C# будут "жить долго и счастливо и умрут в один день".
А вот это похоже на правду. ;)
← →
Ketmar © (2006-07-22 16:02) [34]>iZEN © (22.07.06 15:43) [32]
процитирю сам себя: НЕ НА ТЕСТОВЫХ ПРИМЕРАХ. может, большими буквами будет заметнее?
← →
VirEx © (2006-07-22 16:10) [35]
> Java - как вам оно
сплошные классы да объекты, впринципе ничего так...
только когда нужно было динамические массивы реализовать в клиенте, немного помучался: оказывается "...массив имеет ряд недостатков. Один из самых существенных - размер массива фиксируется до начала его использования..."
и всётаки нашел решение проблемы, оказывается в j2me есть класс Vector, с помощью которого можно оперировать с любыми объектами
и еще: чтобы в дальнейшем разобраться в коде, нужно поработать табулятором :)
...а чтобы не добавлять промежуточных переменных (т.е. классов, т.к. в яве строка (массив), или числовая переменная integer имеют свои классы-обертки String, Integer) приходится пораскинуть мозгами, в следствии чего получаются вот такие строчки:
public void commandAction(Command c, Displayable d){
...
MessageId=( (Integer)Topics.LastMessageId.elementAt( ((List)d).getSelectedIndex() ) ).intValue();
хм.. еще названия классов, объетов "case sensitive" (вроде так пишется :) )
← →
iZEN © (2006-07-22 16:15) [36]
> StriderMan © (21.07.06 12:37) [9]
>
>
> > Java работает быстрее C++ и в некоторых случаях быстрее
> > С, поскольку имеет оптимизацию на стадии компиляции в
> байткод
> > (javac) и на стадии динамической трансляции кода под архитектуру
> > процессора (JIT).
>
> Вы когда-нибудь сами сравнивали?
Естствнно.
> StriderMan © (21.07.06 12:37) [9]
> А JIT-ускорение помогает в весьма ограниченных случаях!
> Кстати JIT это же динамический оптимизатор вычислений (Just
> In Time Accelerator), его сделали как раз для того чтобы
> ускорить работу интерпретаторов (эта технология используется
> не только в Java), его возможности весьма ограничены.
Ой, ну зачем такую фигню пороть?
JIT — это общее название инструментов, работающих в режиме "just_in_time" (точно во время). Я имел ввиду JIT-Compiler, который переводит java-байткод в нативный машинный код целевого процессора с учётом особенностей его мироархитектуры, его кэша и объёма доступной оперативной памяти системы.
Как думаете, на кластерах, использующих J2EE для проведения коммерческих транзакций в реальном времени, есть место интерпретируемому коду?
А код из инструментов NASA для слежения за спутниками или приёма фото-видео-информации с марсохода может выполняться в "интерпретирующем" режиме?
Opera Mini у вас в телефоне работает? Почему так, неужели тормозит? Странно, не замечал.
← →
iZEN © (2006-07-22 16:24) [37]
> VirEx © (22.07.06 16:10) [35]
> > Java - как вам оно
>
> сплошные классы да объекты, впринципе ничего так...
> только когда нужно было динамические массивы реализовать
> в клиенте, немного помучался: оказывается "...массив имеет
> ряд недостатков. Один из самых существенных - размер массива
> фиксируется до начала его использования..."
> и всётаки нашел решение проблемы, оказывается в j2me есть
> класс Vector, с помощью которого можно оперировать с любыми
> объектами
См. специализированные ArrayList и LinkedList. Vector давно неэффективен.
Для конкатенации строк лучше использоать класс StringBuffer, а не прямое присваивание s1 + s2/ Пример:
StringBuffer sbf = new StringBuffer();
String result = sbf.append(s1).append(s2);
Неплохо бы изучить Java Collection Framework.
> VirEx © (22.07.06 16:10) [35]
> и еще: чтобы в дальнейшем разобраться в коде, нужно поработать
> табулятором :)
Это ещё зачем?
В Eclipse нажать в редакторе [Ctrl]+[Shift]+[T] и код автоматически отформатируется. Настроить свои правила форматирования можно в настройках редактора java-кода среды.
> VirEx © (22.07.06 16:10) [35]
> ...а чтобы не добавлять промежуточных переменных (т.е. классов,
> т.к. в яве строка (массив), или числовая переменная integer
> имеют свои классы-обертки String, Integer) приходится пораскинуть
> мозгами, в следствии чего получаются вот такие строчки:
> public void commandAction(Command c, Displayable d){
> ...
> MessageId=( (Integer)Topics.LastMessageId.elementAt( ((List)d).
> getSelectedIndex() ) ).intValue();
>
> хм.. еще названия классов, объетов "case sensitive" (вроде
> так пишется :) )
О, ужас. Вы что читали? Какие книги такие пространные примеры приводят?
Читайте это: http://skipy.dev.juga.ru/
← →
iZEN © (2006-07-22 16:26) [38]В J2ME классов ArrayList и LinkedList нет, так что используйте Vector.
← →
iZEN © (2006-07-22 16:40) [39]И ещё одно исправление:
String result = sbf.toString();
← →
VirEx © (2006-07-22 16:51) [40]
> [38] iZEN © (22.07.06 16:26)
> В J2ME классов ArrayList и LinkedList нет, так что используйте
> Vector.
о чем и речь
> О, ужас. Вы что читали? Какие книги такие пространные примеры
> приводят?
я ничего не читал, и это рабочий пример
> Для конкатенации строк лучше использоать класс StringBuffer,
> а не прямое присваивание s1 + s2/ Пример:
> StringBuffer sbf = new StringBuffer();
> String result = sbf.append(s1).append(s2);
>
> Неплохо бы изучить Java Collection Framework.
я не приводил работу со строками, о чем это вы? :)
а еще можно же так: s+=s1
учить Java Collection Framework? вы об этом? :) :
String str = "abc";
char data[] = {"a", "b", "c"};
String str = new String(data);
String cde = "cde";
String c = "abc".substring(2,3);
String d = cde.substring(1, 2);
к тому же каждый класс по своему имеет плюсы и минусы при использовании в конкретных задачах (StringBuffer хорош в многопоточных приложениях - "String buffers are safe for use by multiple threads."), поэтому всё зависит от ситуации (String после компиляции не так сильно увеличит размер апплета чем StringBuffer, или я не прав?)
конкатенация (от concat) - не думаю что это включат в русский словарь поэтому не стОит увлекаться "американизацией"/"янкинизацией", иначе вас другие не поймут :)
> В Eclipse нажать в редакторе [Ctrl]+[Shift]+[T] и код автоматически
> отформатируется. Настроить свои правила форматирования можно
> в настройках редактора java-кода среды.
у меня и так машина слабая, какие еще IDE, да еще и на яве?
юзаю AsmEdit 2.2, хотя сейчас больше пользую Notepad++
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.048 c