LINUX.ORG.RU

И правильно! Чего стесняться-то?

Еще точку убрать - и совсем лепота будет: J2SE 50 - красота!

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

>Ну хоть перевели бы, ну....

нет уж, не надо. Они так переведут, что половина смысла потеряется.

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

> Давно пора было это сделать. А то несведущий народ путается в версиях.

Угу, зато теперь вот все просто и понятно: Java 2 Standard Edition version 5.0. Круче только иксы =)

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

2.0? Видно сильно в Java рюхаешь. И что бы тогда ты подумал, если-бы речь зашла о Java 2? 1.5 или 5.0 - пох. Главное фичи там полезные :) Тигра порулит еще.

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

Более того Java 1.2 была переименована в Java 2 (1.3 и 1.4.x тоже Java 2 платформа). Думаю поэтому 1.5 в 5.0 и переименовали.

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

>2.0? Видно сильно в Java рюхаешь.

Достаточно рюхаю.

> И что бы тогда ты подумал, если-бы речь зашла о Java 2? 1.5 или 5.0 - пох. Главное фичи там полезные :) Тигра порулит еще.

В принципе согласен, будет путаница, надо было раньше 2.0 называть, а не 1.2, а теперь как раз 3.0 была бы. :)

WFrag ★★★★
()

И правильно делают... а то кое-кто своей .нет не успев разродиться уже по версии старается нагнать =)

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

Ну на это есть очень простое решение - у нас уже есть полуофициальные термины .NET 2004 и .NET 2005, а всякие там .NET NT, .NET ME и .NET XP не замедлят воспоследовать =)

Хорошо хоть эти производительность не меряют... а то те еще были бы попугаи, представляете: Java 3 Standard Edition 2 Revision 1 version 3.7 (.NET rating 2010) ;)

int19h ★★★★
()

Класс !!! Если после столь НЕЗНАЧИТЕЛЬНЫХ изменения в ЯЗЫКЕ они так напрягаются ... чтож видимо в июле надо ожидать Solaris 2004!

anonymous
()

Хех. Это чем-то напоминает мне известную басню Крылова ...

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

>Класс !!! Если после столь НЕЗНАЧИТЕЛЬНЫХ изменения в ЯЗЫКЕ они так напрягаются ... чтож видимо в июле надо ожидать Solaris 2004!

А ихний reflection? Я так понял, это чисто на уровне языка нельзя сделать (хотя вполне возможно, что поддержка метаданных была заложена ранее - те же тэги deprecated).

А вот ихние Generic-и разочаровали :(, в .NET как-то более продуманную вещь обещают (качаю .NET 2.0 Beta :) ).

WFrag ★★★★
()

Изменения в языке значительные, и полезные настолько, что можно версию на 3 умножить. Вот если бы еще добавили делегатов, то можно было бы назвать и Java 2 50, я думаю ;) Вообще... такой акцией, я думаю, они привлекают к себе внимание - типа "Смотрите сколько много мы сделали!", а колеблющиеся программеры посмотрят, и выберут Java 2 вместо .NET :)

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

> А вот ихние Generic-и разочаровали :(, в .NET как-то более продуманную вещь обещают (качаю .NET 2.0 Beta :) ).

А чем они не устраивают, кстати? Если вспомнить про автобоксинг?

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

>А чем они не устраивают, кстати? Если вспомнить про автобоксинг?

Насколько я понял, это не более чем syntactic sugar, т.е на уровне Reflection-а их нет. Т.е это банальные касты, которые написаны за тебя. Что не добавляет скорости.

В противоположность этому, в .NET - это полноценный элемент Reflection-а. Но это я пока еще не особо разбираюсь - только что докачал, смотрю. Вроде работает. :)

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

> Насколько я понял, это не более чем syntactic sugar, т.е на уровне Reflection-а их нет. Т.е это банальные касты, которые написаны за тебя. Что не добавляет скорости.

Эээ... а причем тут рефлекшн и скорость?? Мне казалось что в дотнете реализация всего этого дела такая же как в яве - автобоксинг в object, разве что с точки зрения программера (в том числе и если смотреть через рефлекшн) это выглядит "по-честному".

int19h ★★★★
()

Слака с 4 на 7 перепрыгнула.

Java с 1.4 на 5.

Зато есть чё в faq'ах писать - флейм из оправданий делать :)

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

> Скорее в Jav-е реализация всего этого дела такая же как в .NET :)

Ха. Не надо. В яве все было раньше, в том числе generics - просто они не были включены в JRE и назывались по другому.

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

Не надо рассказывать про generics - ты сначала посмотри как сделано это в .NEt а потом сравни как в Java... Почувствуй разницу как говориться... В Джаве это все сделано через ж...у, простите... В дотнет более продуманная реализация....

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

А вообще народ, если честно - отбросить все эти предубеждения - вам не кажется что последняя джава (1.5 или как там теперь ее - 5.0 :) ) по тупому слизала все из дотНЕТ?...

Я помню читал на САН.КОМ как Гослинг слюной брызгал по поводу "необъектно ориентированности" делегатов? И что в какой нибудь 1.6 (6.0 :))))) ) это будет ?!

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

> Не надо рассказывать про generics - ты сначала посмотри как сделано это в .NEt а потом сравни как в Java... Почувствуй разницу как говориться... В Джаве это все сделано через ж...у, простите... В дотнет более продуманная реализация....

Смотрел. Сравнил. В яве все реализовано лаконично и самодостаточно, в C# - раздуто и кусочно-обрывочно (как собственно и бОльшая часть .NET).

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

> Я помню читал на САН.КОМ как Гослинг слюной брызгал по поводу "необъектно ориентированности" делегатов? И что в какой нибудь 1.6 (6.0 :))))) ) это будет ?!

А разве какое-нибудь из нововведений в 1.5 (5.0) не соответствует концепции ОО, как делегаты в .NET?

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

Эт мы еще посмотрим... Еще и делегаты будут :) Факт !

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

> Java 2 Standard Edition version 5.0. Круче только иксы =)

Ну как же, есть же еще emacs ;-)

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

А можно подробнее? Мне правда интересно. То, что в жабке (увы, совместимость) это реализовано как прибамбас ("препроцессор":) компилятора - все-таки повод (хотя, ИМХО, не очень сильный) для упреков. А что кусочно-обрывочного в генериках С# (я с ним знаком поверхностно - и глубже не тянет, известная мне информация меня от этого дела отвращает:)?

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

> вам не кажется что последняя джава (1.5 или как там теперь ее - 5.0 :) ) по тупому слизала все из дотНЕТ?...

Кажется. При этом сделав все то же (скажем, enum'ы) заметно лучше. И что в этом плохого, если учесть, что сам дотнет изначально слизан с явы? ;)

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

> А разве какое-нибудь из нововведений в 1.5 (5.0) не соответствует концепции ОО, как делегаты в .NET?

Делегаты в яве есть уже давно, и называются [anonymous] inner classes. Надо только уиеть их готовить =)

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

>Эээ... а причем тут рефлекшн и скорость?? Мне казалось что в дотнете реализация всего этого дела такая же как в яве - автобоксинг в object, разве что с точки зрения программера (в том числе и если смотреть через рефлекшн) это выглядит "по-честному".

Рефлекшн - это как доказательство несуществования Java Generic-ов в рантайме.

В .NET Generic-и существуют в рантайме и для каждой параметризации будет JIT-ом генерироваться специализация. Но в целях оптимизации несколько специализаций могут делить один native-код, например при параметризации разнвми ссылочными типами, которые занимают определенное число байт. Что-то по аналогии с наследованием vector<T*> от vector<void*> в целях уменьшения разбухания кода. С одной стороны получаем меньшее разбухание кода, чем в C++, а с другой - полное отсутствие кастов (даже в деталях реализации), но при этом, разумеется, типизация не нарушается.

Т.е Generic-и компилируются, а в рантайме JIT генерирует специализации при первом использовании. По этой причине необходимо указывать ограничения на тип-параметр и использовать только задекларированные свойства этого параметра, поскольку дженерик должен откомпилироваться (в отличии от C++, где компилируется только специализация, причем те части, которые реально используются).

Собственно, вот статьи: http://msdn.microsoft.com/msdnmag/issues/03/10/NET/ http://www.artima.com/intv/generics.html

А в Java, насколько я понял, просто тип автоматом будет тип каститься.

>А вообще народ, если честно - отбросить все эти предубеждения - вам не кажется что последняя джава (1.5 или как там теперь ее - 5.0 :) ) по тупому слизала все из дотНЕТ?...

Ну не по тупому, но некоторое взаимодействие проглядывается :)

>Кажется. При этом сделав все то же (скажем, enum'ы) заметно лучше. И что в этом плохого, если учесть, что сам дотнет изначально слизан с явы? ;)

А чем? Я глянул, вроде ничего особенно отличительного не увидел.

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

>>А ихний reflection? Я так понял, это чисто на уровне языка нельзя сделать (хотя вполне возможно, что поддержка метаданных была заложена ранее - те же тэги deprecated).

>А вот ихние Generic-и разочаровали :(, в .NET как-то более продуманную вещь обещают (качаю .NET 2.0 Beta :) ).

Потом будет MOP... а потом, богх даст и макросы появятся... back to the future, ё.т.м.

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

>Нет чтобы сделать яву открытой. Они в циферки играются... Уроды!

Открытая это в смысле ГПЛ? Ну зачем тебе ГПЛ Java? Ты что тут же кинешься форк с неё делать? ВасяПупкин Java 0.0.0.1 beta 3? Ну чего не хватает то? Спецификации все открыты, исходники есть. Ну ей богу как дети. Или хотите тучу не совместимых JVM?

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

>> А разве какое-нибудь из нововведений в 1.5 (5.0) не соответствует концепции ОО, как делегаты в .NET?

> Делегаты в яве есть уже давно, и называются [anonymous] inner classes. Надо только уиеть их готовить =)

Только в отличие от делекатов в .NET, inner classes полностью соответствуют ОО.

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

оффтоп: хорошая получилась опечатка - "делекаты" :)))

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

2 int19h:
>у нас уже есть полуофициальные термины .NET 2004 и .NET 2005, а всякие
>там .NET NT, .NET ME и .NET XP не замедлят воспоследовать =)
Сверхнадежная версия .NET построенная на базе .NET CE, .NET NT и .NET CE - .NET CeMeNt! Работать она не будет вовсе, но зато ее и не сломаешь ;-).

eXOR ★★★★★
()

Че вы спорите кто у кого слизал .NET у Java или наоборот... все эти технологии (а в J2EE это вобще не скрывают) основаны прежде всего на спецификациях Object Management Group (www.omg.org)... только вот Microsoft их сильно покоцала и изуверкала, а Sun на них просто основывается.

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

> Или хотите тучу не совместимых JVM?

А они что ВСЕ совместимы? С каких пор? Да и клепать "стандартные" класссы немудрено. Только вот для CLASSPATH потом ну _очень_ тяжело успевать за этой коммерческой гонкой :( И не факт что она в правильном напрввлении :) Ведь приходиться ВСЕГДА ТОЛЬКО ДОГОНЯТЬ потому что так решили санки, которым надо сметать конкурентов. Вот они и бояться форка.

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

Такие дженерики, как в яве, в .NET были всегда. Ничего же не мешает использовать шаблоны на managed C++. А вообще, давно поря признать, что .NET технологически совершеннее. Никакой крамолы в этом нет. MS умеют писать хороший софт, к тому же они использовали опыт разработки Java и учли предыдущие ошибки. Хотя бы прикол с невозможностью написания на яве функции, которая переставляет местами два int'а.

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

>А они что ВСЕ совместимы? С каких пор? Да и клепать "стандартные" класссы немудрено. Только вот для CLASSPATH потом ну _очень_ тяжело успевать за этой коммерческой гонкой :( И не факт что она в правильном напрввлении :) Ведь приходиться ВСЕГДА ТОЛЬКО ДОГОНЯТЬ потому что так решили санки, которым надо сметать конкурентов. Вот они и бояться форка

А что не совместимы? Я конечно не знаю но у меня class'ы компиленые под sun прекрасно работают на ibm, так что не надо свистеть. Насчёт стандартных классов, НИКТО НЕ ЗАПРЕЩАЕТ ВАМ СДЕЛАТЬ СВОЮ РЕАЛИЗАЦИЮ. Пожалуста сделайте свой rt.jar и распространяйте его под GPL. Ась? Слабо? Ну и о чём мы тогда тут говорим?

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

В догонку насчёт догонять. Как раз в случае форка и начнутся настоящие догоняшки. Посмотрите на MONO, единственная задача которого не отстать от МС.

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

> А в Java, насколько я понял, просто тип автоматом будет тип каститься.

Строго говоря, да. Но то что рефлекшн все типизации показывает как один тип - это не баг, это вполне сознательная фича.

> А чем? Я глянул, вроде ничего особенно отличительного не увидел.

Во-первых, возможность ассоциировать с членами enum'а произвольные данные. В .NET в принципе тоже можно, но только одно целое число, и потом приведением типов. В Java, член enum'а - объект, и может иметь поля, методы etc.

Во-вторых, в .NET enum'ы работают по сути так же как в C/C++. Вот вам пример:

// decl.cs

public enum Foo { First, Second }

// test.cs

Console.WriteLine((int) Foo.First); Console.WriteLine((int) Foo.Second);

Соберите decl.cs в отдельную DLL-assembly, а потом уже test.cs со ссылкой на decl.dll. Вроде все замечательно... теперь берем и меняем местами First и Second в decl.cs, и пересобираем его, но test.exe не трогаем. Запускаем... опа! Аналогичные результаты получаются если между First и Second что-нибудь вставить. В яве такого нет: можно как угодно корежить enum, но если не менять названия членов, старый код будет работать.

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

> Только в отличие от делекатов в .NET, inner classes полностью соответствуют ОО.

Спорное утверждение. Я вот ничего такого "необъектноориентированного" не вижу в делегатах. Больше того, их можно рассматривать просто как syntactic sugar для anonymous inner классов, объявляемых вне методов.

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