Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.057 c
3-1150133766
kaif
2006-06-12 21:36
2006.08.20
Обрезание имен UTF-8 при добавлении юзера в IBSecurityService


2-1154415522
ANB
2006-08-01 10:58
2006.08.20
Как узнать имя сертификта в контейнере (дискета) через CryptoAPI?


15-1153819930
CHES
2006-07-25 13:32
2006.08.20
Вопрос по MSSQL 2000


4-1146456876
kernel
2006-05-01 08:14
2006.08.20
Add resource


1-1152100482
Elen
2006-07-05 15:54
2006.08.20
Проблема с запуском программы вызывающей СОМ-объект





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский