Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.20;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.046 c
2-1152795368
TForm
2006-07-13 16:56
2006.08.20
Показ форм


15-1153491701
stud
2006-07-21 18:21
2006.08.20
осаго при дтп. вот вопрос.


2-1154090438
vain
2006-07-28 16:40
2006.08.20
Ссылки в программе


2-1153677809
userrrrr
2006-07-23 22:03
2006.08.20
Подключение к сети


4-1146132097
D@Nger
2006-04-27 14:01
2006.08.20
Удаление дерева каталогов