Все новости от 27 марта 2002 г. Java может пострадать от внутренних врагов
Все больше предприятий и разработчиков ПО отдают предпочтение Java, но при этом им приходится преодолевать серьезные препятствия, мешающие долгосрочному успеху — в том числе чинимые самими сторонниками этого языка программирования.
Хотя недавние исследования показывают, что основными языками программирования все еще остаются технологии Microsoft, Java уверенно сокращает разрыв. В 2000 году, по данным IDC, языки C и C++ в качестве главного инструмента программирования использовали 3 млн человек; 2,3 млн программистов пользовались Visual Basic и 1,2 млн — языком Java. А отчет Evans Data показывает, что число программистов на Java растет, а на C и C++ — сокращается.
Эта тенденция проявляется и в академических кругах. В 1997 году отделение вычислительной техники Массачусетского технологического института сменило основной язык программирования, который должны освоить студенты, с Microsoft C++ на Java. А этой весной Калифорнийский университет Беркли предложил 25 курсов по Java и только семь по языкам Microsoft.
«На мой взгляд, Java быстро вытесняет все языки, особенно С++, — говорит доцент MIT Дэниел Джексон (Daniel Jackson), отмечая, что все чаще на его курсы приходят студенты, уже имеющие самостоятельно приобретенные знания в области Java. В течение двух лет совет колледжа переведет с С++ на Java усложненные вступительные экзамены по вычислительной технике, которые должны сдать выпускники средней школы, чтобы поступить в колледж.
Но несмотря на все эти ободряющие признаки, аналитики выделяют ряд факторов, которые могут помешать дальнейшему росту популярности Java. Первый и очевидный, это неизбежная конкуренция со стороны Microsoft, выпустившей Java-подобный язык С# и продвигающей стратегию интернет-ПО, отчасти копирующую Java.
Вторая опасность исходит изнутри Java-сообщества: софтверные компании выпускают продукты, не соответствующие отраслевым стандартам. Хотя со временем многие несовместимости устраняются, сторонники Java опасаются, что такая независимая разработка может создать путаницу и привести к конфликтам, которые всполошат разработчиков.
Наконец, остается проблемой сама сложность языка Java. Чтобы выйти за пределы круга хорошо подготовленных программистов и пробиться в широкие слои разработчиков, производители ПО Java, следуя примеру Microsoft, должны предложить инструменты, позволяющие создавать программы методом «укажи и нажми». В частности, с этих позиций критикуют стандартную технологию Enterprise Java Beans, которая, по идее, должна экономить время, позволяя использовать готовые компоненты ПО. Простые инструменты разработки Java помогли бы увеличить число разработчиков, использующих этот язык, что привело бы к созданию более обширного и здорового рынка Java.
С момента создания языка компанией Sun Microsystems семь лет назад программисты воспринимали Java сначала как способ оживления веб-сайтов, а затем как средство умощнения корпоративных интернет-систем и систем электронного бизнеса. Сегодня Java осваивает новые рынки, такие как сотовые телефоны, предлагая игры, доставку информации о котировках акций, бронирование мест в ресторанах и другие операции реального времени.
Лагерю Java удалось максимально распространить эту технологию, несмотря на полный провал изначально поставленной задачи заменить Windows на персональных компьютерах. Отчасти за этот успех надо благодарить разработчиков и заказчиков, которые просто ищут альтернативу Microsoft, насаждающей свою Windows везде, от карманных устройств до корпоративных серверов.
Подыгрывая тем, кто ищет альтернативу Windows, Sun разрекламировала Java как платформу, которая будет работать на любом устройстве без каких-либо изменений, — знаменитый принцип Write once, run anywhere. Благодаря этому Java быстро завоевала поддержку конкурентов Microsoft, таких как IBM, Oracle и BEA Systems.
Однако на самом деле язык программирования не до конца выполнил это обещание, в результате чего предприятия столкнулись с перспективой израсходовать больше времени и денег, чем они предполагали, когда выбирали Java.
«На стороне сервера принцип Write once, run anywhere просто не работает», — говорит аналитик Meta Group Уилл Захманн (Will Zachmann).
Многие считают, что суть проблемы в длительности процесса выработки соглашения по стандарту Java, который может занять от 12 до 18 месяцев. Производители ПО, столкнувшись с сильным конкурентным давлением в борьбе за новых заказчиков, не могут так долго ждать и регулярно выпускают Java-ПО с усовершенствованиями, основанными на нестандартных технологиях.
Большинство из них передает свои новинки в организацию Java Community Process, где Sun и другие Java-компании обсуждают будущие стандарты. Если технология принимается в качестве стандартной, ее предлагают другим производителям ПО. Но Java-компании выдумывают все новые нестандартные технологии, обеспечивающие им преимущества в конкурентной борьбе.
В погоне за оригинальностью на вожделенном рынке ПО электронного бизнеса BEA, IBM и другие Java-компании ввели в свои серверы приложений и другие продукты нестандартные технологии, повышающие их быстродействие и надежность. В результате компоненты, работающие на сервере приложений одного производителя Java, не вполне работоспособны на других.
Это может посеять среди разработчиков сомнение в том, что Java — хорошая технология.
Дебаты по поводу BEA Cajun
В качестве примера критики приводят дебаты, инициированные в последние месяцы компанией BEA, ведущим производителем серверов приложений. BEA анонсировала инструментарий, который позволит разработчикам создавать Java-приложения методом «укажи и нажми».
Weblogic Workshop с кодовым названием Cajun предлагает новую грамматику языка Java, которую BEA планирует передать в организацию по стандартизации. Но конкуренты называют это попыткой принудить заказчиков пользоваться сервером приложений компании.
Главный технолог BEA Скотт Дицен (Scott Dietzen) отвергает эти обвинения, называя технологию «надстройкой», которая не должна входить в состав стандарта Java. Дицен признает, что код, производимый Weblogic Workshop, нуждается в некотором преобразовании, чтобы работать на других серверах приложений, но это, он говорит, «не наша проблема»:
«BEA не собирается лезть ради этого из кожи вон. Это не наша работа. Мы должны делиться (инновациями) с Java-сообществом. И пусть конкуренты используют эти инновации в своих продуктах».
Тед Шелтон (Ted Shelton), главный стратег конкурирующей фирмы Borland, опасается, что такое отношение приведет к расколу лагеря Java и помешает его росту.
«Заказчикам надо решить, нужен им Cajun или нет. Если нужен, они должны сознавать, что остальная часть сообщества J2EE может не поддержать его и они останутся привязанными к ВЕА», — говорит Шелтон. Стандарт J2EE (Java 2 Enterprise Edition) — это руководящие материалы для предприятий по созданию серверного ПО Java. Сегодня, по его словам, не совместимы, может быть, 5-10% приложений, но с появлением инструмента ВЕА их доля грозит вырасти до 25-30%.
Необходимость использовать технологию единственной компании — вот чего заказчики боятся больше всего.
«Наш принцип — по возможности не использовать специальные расширения, если на это нет особых причин. Мы не хотим оказаться в мышеловке, — говорит вице-президент Key Bank по ИТ-сервисам Майк Данн (Mike Dunn). Его компания остановилась на ПО IBM, но он настойчиво добивается разрешения использовать другие технологии.
— Мы стараемся защитить себя от произвола поставщика, добившегося доминирования на том или ином рынке. Сейчас предложение IBM нас устраивает, но что будет через три года, неизвестно».
Раскол может существенно повлиять на расходы компаний. Чем больше технологий становятся стандартными, тем дешевле обходится перевод ПО с одного сервера приложений на другой. За последние годы, по данным Giga, эти расходы сократились с 20% до примерно 5% стоимости программ. Но если из-за несовместимости Java потребуется вносить изменения в ПО, они вновь могут вырасти.
Например, разработчикам компании Vignette, выпускающей ПО для управления веб-контентом, приходится переписывать код, чтобы он работал с серверами приложений от BEA, IBM и Sun. «Они пишут для базового сервера приложений, а затем возвращаются и переписывают код для каждого сервера приложений», — рассказывает вице-президент Vignette по стратегии продуктов Санти Пьерини (Santi Pierini).
Но даже при таких усложнениях Java все же предпочтительнее многих альтернатив. В прошлом, например, программистам, использующим язык С, приходилось переводить код своих программ на все версии операционной системы Unix.
«Технология Java несовершенна, но она определенно лучше, — говорит Пьерини. — Я помню, как мы пытались заставить код работать на HP-UX, Solaris и Intel-системах. J2EE и Java значительно упростили весь процесс».
Так же думают большинство других сторонников Java, считая, что 90% — достаточно хороший уровень совместимости и его можно обеспечить сравнительно легко.
Маленькая несовместимость — это не страшно
В частности, аналитик Giga Information Group Майк Джилпин (Mike Gilpin) уверен, что небольшая несовместимость не вредит. Разработчики от века создают нестандартные технологии, а затем передают их на утверждение организациям по стандартизации — этот процесс будет способствовать совершенствованию Java и повышению ее конкурентоспособности по отношению к технологиям Microsoft.
«Это неизбежно, — утверждает он. — В каждый момент времени существует набор стандартов и новые технологии, выходящие за его рамки».
Между тем технология Java Server Pages (JSP), позволяющая включать в веб-страницы небольшие Java-приложения, поначалу была нестандартной, и к моменту выработки соглашения по JSP в рамках рамочного стандарта J2EE все производители серверов приложений уже имели собственные версии этого ПО.
Microsoft утверждает, что у производителей ПО Java нет другого выхода, кроме как создавать частные версии своих серверов приложений.
«Это абсолютно нестандартное ПО, но оно позволяет им сохранять свою значительность и делать деньги, — говорит менеджер группы стратегии корпоративного маркетинга Microsoft Барри Гоффе (Barry Goffe). — Они ухватились за J2EE и оседлали его. В результате десять компаний делают одно и то же. Но ведь надо же чем-то выделяться из общей массы».
Рич Грин (Rich Green), вице-президент Sun по технологиям Java и XML, признает, что Java-компании стремятся в первую очередь к инновациям, а уж потом к стандартизации — и он не видит в этом ничего дурного.
«Мы ни за что не стали бы нарушать стандарт. Но мы кое-что делаем и вне стандарта; люди готовы платить за это, и мы будем предлагать „ударные новинки” на этой платформе, — говорит он. — Прежде чем прийти к стандарту, разработчикам надо поучиться и поэкспериментировать».
Каких бы взглядов на проблемы стандартов ни придерживались сторонники Java, они всегда опираются на незыблемый общий фундамент: свою неколебимую оппозицию хватке Microsoft.
«Microsoft выпускает хорошие инструменты, но не оставляет вам большого выбора. Это единственная игра в городе, — говорит главный технолог консалтинговой фирмы LeapNet Ларри Подмолик (Larry Podmolik). — Java, хотя и не обеспечивает принципа Write once, run anywhere на все 100%, тем не менее очень близка к этому».
Предыдущие публикации:
В продолжение темы:
|
|
| Tre 28 Mar 2002 5:01 AM |
Вот - Microsoft тоже делал свои стандарты в Java - а нехороший Sun его засудил... |
|
| const 28 Mar 2002 5:56 AM |
ну-ну... только вначале M$ сделали свою Java ;) |
|
| rGlory 28 Mar 2002 6:23 AM |
"с Microsoft C++" "языки Microsoft" дааа похоже объявлен конкурс "кто напишет самую глупую статью" или "кто покажет наименьшее знание предмета, при красивом наборе слов". Это уже настолько глупо, что даже не смешно. |
|
| Qrot 28 Mar 2002 10:11 AM |
2rGlory: дакть это, двумя статьями раньше было ж сказано - SUN решила подрубить бабла... а какая же рубка бабла обходится без PR, вот тебе и статья - и SUN (Java) похвалить надо, и MS боднуть. |
|
| MX 28 Mar 2002 10:23 AM |
A gde eto MS bodnuli v etoy stat'e? 2rGlory >"кто покажет наименьшее знание предмета, при красивом наборе слов". Chto v etoy stat'e pokazyvaet eto?
|
|
| Qrot 28 Mar 2002 10:50 AM |
2MX: там и боднули - противопоставление Java vs C++, причем по статье последний в перспективе проигрывает и является языком от MS |
|
| Noname 28 Mar 2002 10:56 AM |
Уже не в первой статье встречаю слоган "Жаба должна была заменить Виндовс". Не понимаю, как платформа программирования может заменить ОС? Ведь ЖВМ сама является прикладным процессом в рамках системы. Может, авторы имели в виду, что пользователи заменят все свои программы на программы, написанные на Жабе и перескочат на другую ось, для которой существуют хорошие ЖВМ. Тогда Сан должна была запретить себе и другим разработку ЖВМ для Виндовс, а она наоборот, подала в суд на МС, чтобы заставить ее включить ЖВМ в ВиндовсХП. Где логика? |
|
| MegaAlien - megaalienmicorosft.com 28 Mar 2002 11:29 AM |
жаба душит дядю гейтсу дядя гейтс ловит жабу в сеть жаба вываливается через grid пиазане в недоумении ;> (c) Nostradamus |
|
| REAL - realkemsu.ru 28 Mar 2002 11:37 AM |
по поводу статьи: «На стороне сервера принцип Write once, run anywhere просто не работает» Это же бред, данный принципе прекрасно работает на стороне сервера. Высказывание стратега МС вполне в духе корпоративной политики, т.к. МС из кожи вон лезет, чтобы уюить Java. И насчет "хорошего" софта от МС - гоны. По крайней мере, я _некривых_ продуктов от МС не встречал, а инструменты разработки так вообще убожество |
|
| REAL - realkemsu.ru 28 Mar 2002 11:41 AM |
Qrot: Java vs C++ - причем здесь только МС? К примеру, Borland C++ и С++Builder намного совершенней аналогичных продуктов от других компаний, просто благодаря маркетинговой политике МС их продукт больше распространен среди невысокого ранга разработчиков (про VB вообще не говорим, это несерьезно). |
|
| Yuri Abele - yuriabelehotmail.com 28 Mar 2002 11:42 AM |
> а инструменты разработки так вообще убожество Вот тут Вы себя и показали - полное НЕвладение предметной областью. Назовите мне IDE, как минимум, такого же уровня как Visual Studio .NET (Вы его хотя бы видели?) |
|
| Qrot 28 Mar 2002 11:46 AM |
2Nonaem: нельзя найти то, чего нет |
|
| REAL - realkemsu.ru 28 Mar 2002 12:32 PM |
Yuri Abele: Together CC. Ему вообще равных нет. |
|
| OWL - owlnewmail.net 28 Mar 2002 12:44 PM |
2Yuri Abele: "2. .NET ТОЖЕ НЕ только от Microsoft "??? А какие еще известные компании занимаются РАЗРАБОТКОЙ .NET?(я просто не в курсе) "1.NET ТОЖЕ НЕ привязан к одной платформе " - Пока только в теории, под Linux делают, но как на практике это будет работать еще неизвестно. Да и незаинтерисована M$ в этом и проект не поддерживает.
|
|
| Qrot 28 Mar 2002 12:48 PM |
2REAL: чего?! продукты Багланда в подметки не годятся средствам разработки от МС. ты вообще с C++ Builder и с MSVC работал по нескольку лет хотя бы, что такие заявления делаешь? Я работал и с тем и другим - когда перелез под MSVC полностью, то вздохнулось с огромным облегчением. а Borland C++ давно уже в забвении находится и заслуженно - среда редкостная по своей отстойности. |
|
| REAL - realkemsu.ru 28 Mar 2002 12:52 PM |
Qrot: я работал несколько лет с продуктами от обоих. И вообще не ввязывался бы в дискуссию, если бы не знал, о чем речь. Вон, тут еще один "владелец предметной области" Yuri Abele взбунтовался. Мне вот стало интересно, владеет ли он "предметной областью" together и eclipse :) |
|
| PTO - kruchkovkgb.ru 28 Mar 2002 1:54 PM |
2 REAL: эклипс полное г-но и до уровня VS.NET и близко не дотягивает как по функционалу, так и по производительности. Интересно, а почему Сан не подал в суд на ИБМ за то, что эклипс этот пользует свои собственные библиотеки для ГУЯ плевая на "стандарты"... МС в свое время горько за это поплатилась, но видимо ИБМ все-таки друг. Together CC еще не видел... пошел искать |
|
| Qrot 28 Mar 2002 2:37 PM |
2REAL: понятия не имею про эклипс с тугеве (видел на скрине, понравилось); но я не понимаю как можно считать C++ Builder лучше чем MSVC6.0 (даже не .NET). может объяснишь? |
|
| REAL - realkemsu.ru 28 Mar 2002 2:46 PM |
PTO: я считаю ровно наоборот :) . А насчет собственного гуя. Причем тут МС? МС своей кривой реализацией явы пыталась внести путаницу, ИБМеры такой целью не задаются, к тому же никто не мешает свое гуи сделать, это не запрещается. Qrot: у нас, видимо, разное видение. Мне с бордандовским работать было намного удобнее. |
|
| MX 28 Mar 2002 2:50 PM |
2PTO >почему Сан не подал в суд на ИБМ за то, что эклипс этот пользует свои собственные библиотеки для ГУЯ плевая на "стандарты"... МС в свое время горько за это поплатилась, но видимо ИБМ все-таки друг. У МС несовместимость была по байткоду. У IBM все ОК: сделали JNI библиотеки. Если вы так уверены в своей правоте и сьчитаете, что с Java МС незаслуженно обидели, то подавайте на апеляцию (решение суда уже было и не в пользу МС). Если выиграете то слава и деньги обеспечены:) >эклипс полное г-но и до уровня VS.NET и близко не дотягивает как по функционалу, так и по производительности. Корректнее сравнивать . NET с WebSphere Studio Application Developer, поскольку Eclipse - это бoльше открыты framework для IDE. |
|
| PTO - kruchkovkgb.ru 28 Mar 2002 3:10 PM |
2 REAL: ну у нас демократия вообще-то... продолжайте так считать. 2 МХ: несовместимость по байт-коду! это что-то новенькое... даже САН МС у этом не упрекал... :) Т.е. говорили что мол, не реализовано JNI, внесены изменения в awt, lang ... ИБМ делает свои классы для ГУЯ, т.е. потенциально дробят Джаву - то, что САНу более всего не нравится - ведь есть же awt вот в нем и лобайте, а ИБМ делает свой SWT... МС тоже с этого начинала... И еще - не было решения Суда, было _Мировое соглашение_, т.е. Суд просто утвердил, что народу надоело судится и терять на этом бабки, да и убийца джавы был готов практически. Достаточно почитать текст контракта и понять, что Сан облажался на самом деле и потом задним числом пытался что-то сделать, а МСу просто надоело с ним пихаться в суде. Про сравнение и что есть эклипс это не ко мне, это к REAL, он их сравнивать начал... я лишь удивился и скачал на посмотреть... вот теперь сижу жду лицензионного ключа на Together CC, обещали в течение 48 часов прислать... по скриншотам и описаниям неплохо вроде |
|
| Old Cobol Programmer в отставке 28 Mar 2002 4:59 PM |
Бред какой. жаба пугает С++ который оказывает Microsoft C++ Меня тошнило (с) А те кто имеет понятие как выбирается то что преподовать в ВУЗах знает что в большинстве случаев выбирается далеко не лучшее. И это отстойный показатель. А вот то что требуется на рынке это уже показатель более правильный. Он хочу отметить тоже показывает отнюдь не то что лучше а скорее всего то что попсевей, но кто платит деньги тот и заказывает музыку. Так вот програмеров на .NET сейчас на рынке (реальном буржуйском) никто не ищет. Всякий С/С++ как всегда в моде. А кому вообще без проблемы так это тем кто на коболе програмит. Хз почему сам удивился когда снял розовые очки одетые пиаром и посмотрел спрос на рынке. Видать потому что много всего в том числе и военного сделано на коболе и никто не собирается перелазить ни на че. А из админов нужны специалисты по AS/400 и всяким таким штукам. На других рынках может быть ситуация другая а у меня такая. |
|
| MX 28 Mar 2002 5:05 PM |
2PTO >несовместимость по байт-коду! это что-то новенькое... даже САН МС у этом не упрекал... :) несовместимость - это я имел в виду то что _классы_ MS Java могли работать только с MS JVM. IBM ничего не нарушал: классы работают во всех VM, а обрашения к native коду через JNI, SWT (IBM) <> AWT. Помимо этого у МС не было поддержки RMI. Прежде чем придираться к словам, может что-нибудь по Java прочитаете не из МС источников? >Достаточно почитать текст контракта и понять, что Сан облажался на самом деле и потом задним числом пытался что-то сделать, а МСу просто надоело с ним пихаться в суде. Скажите, а как мне можно "облажаться", чтобы получить 20 МUSD? По моему Вам надо телесериалы снимать с таким подходом: большой, добродушный и слегка ленивый МС; подлый, коварный и мелочный SUN :)
|
|
| Qrot 28 Mar 2002 5:16 PM |
2МХ: "большой, добродушный и слегка ленивый МС; подлый, коварный и мелочный SUN :)" а можно узнать Ваше отношение к упомянутым компаниям в этих же терминах? |
|
| MX 28 Mar 2002 5:35 PM |
2Qrot >можно узнать Ваше отношение к упомянутым компаниям в этих же терминах? Я телесериалы ненавижу:) Есть такая шутка: чем отличается Larry Elisson (Oracle) от Bill Gates? Только тем, что Ларри хочет стать Биллом, а не наоборот.
|
|
| Qrot 28 Mar 2002 5:45 PM |
2MX: я так и не понял причем здесь телесериалы, но тем не менее - очень хочется увидеть ответ именно в таких вот примитивных терминах. |
|
| PTO - kruchkovkgb.ru 28 Mar 2002 6:59 PM |
2 МХ: если swt не стоит на машине, то работать них не будет... т.е. нужны еще примочки от ИБМа... то же самое было на виндах, а байт-код везде един - он каллит функцию из внешней библиотеки, будь то библиотека от Сана, МСа или ИБМа... на сайте Сана есть перечисление чего там не так у МСа... самое веселое заключалось в том, что на тот момент реализация МСа была _самой_ совместимой среди всех прочих... даже в ФАКе на вопрос "типа а че на нетскейп блин не наехали" идет мямленье по-типу "ну они же стараются, стараются и вот-вот уже сделают усе совместимое"... Про джаву я много читал и команда программеров сидит за стеной... они много-много всего хорошего рассказывали, и что за какашка эта RMI и почему аналогичная штука у МСа работала и быстрее и безопаснее... Как облажаться, да нет проблем... посудитесь с кемнить вложив в защиту 20М и года 4-5 и когда с тем кем судитесь будет выгоднее оплатить ваши расходы на процесс, чем продолжать судится глядишь вы в нули и разойдетесь... |
|
| me - userinternet.com 28 Mar 2002 8:25 PM |
>> _классы_ MS Java могли работать только с MS JVM. Да-да-да. Гнездеть - не мешки ворочать. Бабулькам на скамейке рассказывай такую чушь. >> как мне можно "облажаться", чтобы получить 20 МUSD? Конкретно тебе - никак:)) Никто тебе столько бабла не даст. А вот солнце отсосало с миллионами десктопов Windows XP. >> Это же бред, данный принципе прекрасно работает на стороне сервера Я так понимаю, REAL успешно осуществил идейно простейший процесс переноса J2EE приложения с IAS на jBoss. Гы-гы:)) Плачу от смеха:))) |
|
| MX 29 Mar 2002 12:06 AM |
2me >Да-да-да. Гнездеть - не мешки ворочать. Бабулькам на скамейке рассказывай такую чушь. Весьма аргументировано и вежливо. Для бабулек: In summary, the minimum run-time platform for WFC is: Windows 95, Internet Explorer 3.02, and VM build 2922 Windows NT4, SP3, Internet Explorer 3.02, and VM build 2922 (http://msdn.microsoft.com/library/default.asp?url=/library /en-us/dnjpp/html/msdn_vjtypelib.asp) J/Direct, by providing a way to call functions exported from any Windows DLL, addresses the need for Java developers to access the full Win32 API directly from their Java code. http://www.microsoft.com/java/resource/jdirectworkshop.htm Ну а если Вы себя считаете квалифицированее бабулек, то обьясните, какая совместимость по ВМ может быть если в спецификации доступ к нативным функциям описан через JNI, а технологии МС на нем не базируются. 2РТО SWT использует JNI. Естественно нужны платформо-зависмые dll. Порты есть под Линих и Вин. Работает под любой ВМ (у меня под SUN-овской). Отличие между МС и IBM имплементацией: МС java классы (WFC) содержат Win-зависмый код, SWT классы - не содержат платформо-зависимый код.
|
|
| REAL - realkemsu.ru 29 Mar 2002 8:46 AM |
me: в ejb не нуждаемся (это вообще технология для достаточно специфичных задач), но самая распространенная серверная технология - jsp, servlets - совсем без правки работала и на tomcat, и на resin, итд. И под windows, и под ibm aix, и под suse linux, и под sun solaris. Хватит? |
|
| REAL - realkemsu.ru 29 Mar 2002 8:47 AM |
PTO: если на машине не стоит xml-парсер, праграмма, работающая с xml, работать не будет. Ну и что? Вполне нормальное явление. Или, скажем, заставь работать jdoc без jdoc-библиотек, а я посмеюсь. Так что твой наезд на SWT лишен всяческих оснований. |
|
| Eugene 29 Mar 2002 11:58 AM |
2All Java Lamers:Я в Java ни фига не понимаю, писал на ней откровенную туфту (как же я задолбался c Deprecated классами) - сделал , а потом все на CPP пришлось переписать (совместимостью там и не пахло, зато работало прилично) - но при этом точно знаю , что апплеты IBM/Lotus View,Outline,RichText Control не работают в SUN Java 1.2 (соотв. конструкторы вылетают в Null Exception)(при этом они прекрасно "работали" в Java 1.1x) - IBM на форумах заявляет - это ошибка Sun (но они обещали когда-нибудь исправить), Sun - вообще молчит как партизан ... Так вот Java Lamers - сорри за наезд - но вы что-то в мечтах каких-то вечно |
|
| REAL - realkemsu.ru 29 Mar 2002 2:19 PM |
Eugene: ламеры, может быть, и в мечтах. но про апплеты нужно смело забыть. И вина - на МС опять-таки, когда апплеты не работали правильно в эхплорере, к тому же с кучей дырищ в защите, каковых в плагинах от sun нет. |
|
| Eugene 29 Mar 2002 4:46 PM |
2Real:Просто к дискуссии пришлось - нету полной совместимости у Sun и IBM в Java (басни это все)- (для справки - это нигде не работает - ни в эксплорере - ни в Netscape - ни вообще где-либо...) |
|
| RoN - rodionlenta.ru 29 Mar 2002 4:52 PM |
Круто... Оказывается вина МС в том что она плохо реализовала чужую технологию и из-за этого сия чужая технология (я имею в виду жаба-апплеты) двинула кони. Меня вообще история жава прикалывает. Прямо мексиканский сериал какой-то. Сначала её делают для мифического процессора для кофеварок, который так никогда в серию и не пошёл. Потом - как средство украшения ХТМЛ-страниц - тоже накрылось жаренной мандой. Затем - как супер-пупер средство энтерпрайз девелопмента - ну это пока вроде как живое, но что дальше будет и куда её Sun-у придёт в голову пристроить - одному богу известно. Делали самолёт, а когда собрали, то выяснилось, что летать он не умеет, зато умеет плавать - вот его на воду и пустили - народ по речке катать :-) |
|
| Nick - nkulykpacmag.com 30 Mar 2002 1:14 AM |
2RoN Браво! Смеялся аж до слез. |
|
| REAL - realkemsu.ru 30 Mar 2002 11:14 AM |
RoN: у тебя глюки, видимо. технология кони не двинула. насчет апплетов - с самого начала было ясно, что это лишь побочное. а среди серверных технологий java до сих пор остается лидером, с которым рядом ничто другое и близко не лежало. насчет бытовой техники у java также лидерство. Так что твой наезд (как и все наезды МСманов) опять мимо. |
|
| RoN - rodionlenta.ru 30 Mar 2002 1:06 PM |
2 REAL : А насчёт двиганья коня я за серверные технологии ничего и не говорил. Имелись в виду жава-апплеты. |
|
| zelenyj-zmij - zelenyj-zmijnarod.ru 31 Mar 2002 2:34 PM |
RoN, тебе б в zdnet в писатели ;-) |
|
| glassy 1 Apr 2002 1:45 AM |
2zelenyj: его прогнали, сказали, пусть языком классиков выражается ;)))) |
|
| glassy 1 Apr 2002 1:55 AM |
2RoN: раз уж заговорили о языках. Сорри, что чу-чуть не в тему :) Вкратце -- на любом языке можно писать как будто на фортране, и наоборот, на фортране достаточно ОО при желании. Разговор бы приблизительно такой (про Си): "Хочешь сделать наследование структур -- это делается так-то и так-то". Некоторым не нравится код, генерируемый компилятором С++. Что же тогда говорить о Джаве? Мое мнение такое -- имхо использование того или иного языка программирования лишь предмет недостатков и достоинств их апи. М$ писала сначала на паскале, потом на Си, потом на С++, далее придумала другие языки... Ну и Сан туда же, просто непрофессиональное использование известного. |
|
| REAL - realkemsu.ru 1 Apr 2002 7:29 AM |
glassy: Java - очень профессиональная разработка, где из других языков взято самое лучшее, а фигня и идиомы выброшены :) . К тому же Sun имеет к этому лишь косвенное отношение, т.к. разрабатывали новые люди, к предыдущим разработкам Sun не имеющие отноешние. Насчет ОО в фортране. ты будешь смеятся, на ассемблере тоже можно писать объектно-ориентированно :) |
|
| RoN - rodionlenta.ru 1 Apr 2002 11:39 AM |
1. Как язык Java, имхо, неплох. Насчёт "фигни", конечно, можно поспорить. Например enum-ы я фигнёй не считаю. И если уж на то пошло, то, не нравится какая-то возможность или идиома - не пользуйтесь. Совсем не обязательно язык кастрировать для этого. Яйцами тоже можно за что-нибудь зацепится при ходьбе, это же не значит, что их отрезать лучше. 2. С практической точки зрения, сам по себе язык никакой ценности не представляет. Формально, язык - это всего навсего некий логический предикат на множестве конечных цепочек символов некоего алфавита :-) Практическую ценность любой язык, будь то Си, Паскаль, Жава, Басик или к.л. другой имеет лишь в контексте а) реализации, б) готовых наработок (библиотек) к нему. В этом плане Жава мне не нравится. Просто не нравится и всё. |
|
| me - userinternet.com 1 Apr 2002 11:55 AM |
>> насчет апплетов - с самого начала было ясно, что это лишь побочное. Эхх, REAL, твои бы слова да лет пять назад... |
|
| eXOR - billygmicrosoft.com 2 Apr 2002 12:59 PM |
2 RoN: А с твоими программами так получается что читаешь их только ты? Если да - то спорить с тобой безполезно, а если нет - то те идеомы которые ты считаешь удбоными и понятными, в том контексте что использовал ты могут показаться неудобными и непонятными другому человеку. В java все сделали правильно. Если бы еще для нее были хорошие оптимизирующие компиляторы... хотя даже то что делается для JVM мне очень нравится. |
|
| REAL - realkemsu.ru 2 Apr 2002 2:01 PM |
RoN: "Практическую ценность любой язык [...] имеет лишь в контексте а) реализации, б) готовых наработок (библиотек) к нему. В этом плане Жава мне не нравится". Что весьма странно, т.к. ни для какого языка столько мощных и полезных наработок нет, сколько есть для Java |
|
| REAL - realkemsu.ru 2 Apr 2002 2:02 PM |
eXOR: "Если бы еще для нее были хорошие оптимизирующие компиляторы". IBM JIT работает так, что нативный код на C выполняется ничуть не быстрее, иногда даже наоборот. Куда уж лучше? :) |
|
| RoN - rodionlenta.ru 2 Apr 2002 2:39 PM |
"ИДИО'МА, ы, ж [\ гр. idioma своеобразное выражение] -- свойственное только данному языку неразложимое словосочетание, разновидность фразеологизма, значение к-рого не определяется отдельными значениями входящих в него слов (напр., русские выражения "бить баклуши", "собаку съесть" и т. п.) (ср. фразеологизм)" 2 eXOR: Ну, для этого существуют куча всевозможных источников знаний. Для того, чтобы не изобретать квадратноколёсный велосипед, на который, действительно, другие будут смотреть и не понимать, что это за чудо такое, а использовать типовые приёмы, которые должны быть понятны большинству пользователей данного языка программирования. А, вот, скажем, если работаем, мы вместе, а я не знаю что такое цикл с постусловием, тогда, что, тебе необходимо поубирать его отовсюду из кода? Нет, конечно. Пример вырожденный, но суть дела, имхо, показывает - в любом ЯП есть не только синтаксис, но и определённые общепринятые приёмы по его (синтаксиса) использованию ("идиомы языка"), и любой, кто собрался читать чужие исходники, должен в достаточной степени ими владеть. |
|
| Simon 2 Apr 2002 2:45 PM |
2RoN Просто не нравится и всё. Круто. Теперь все упреки насчёт конкретных примеров от данного ника фильтруются в /dev/null (null для виндофилов) сообразно цитате. Ну не нравится и всё. |
|
| me - userinternet.com 2 Apr 2002 3:43 PM |
[offtopic] Для виндофобов сообщу, что устройство, подобное юниксовому /dev/null в виндах называется не "null", а "nul". >> нативный код на C выполняется ничуть не быстрее, иногда даже наоборот. Хотелось бы подчеркнуть: _иногда_. А вот про нативный код - вранье. Си быстрее раза в 3. Это, конечно, не в десять раз, но и не "быстрее". |
|
| RoN - rodionlenta.ru 2 Apr 2002 3:57 PM |
2 Simon: Когда решается некая задача, то личные предпочтения/привязанности человека/группы людей её решающих при выборе средств решения есть фактор вполне допустимый и нормальный. Если я пришёл в магазин за покупкой, то мне похрену, что предпочитает есть на завтрак продавщица или кассир - лишь бы обслуживали быстро. Что касается жавы, то я специально написал, что МНЕ ЛИЧНО не нравится. Если бы я претендовал на то, чтобы в том постинге доказывать преимущества того или иного средства разработки, то, будь спокоен, я говорил бы более конкретно. |
|
| Simon 2 Apr 2002 4:14 PM |
2RoN: а что, какое-нибудь опубликованное здесь мнение претендует на статус, отличный от персонального восприятия? Кто-то замахивается на обладание абсолютной истиной? Максимализм, однако. Юношеский? |
|
| RoN - rodionlenta.ru 2 Apr 2002 4:56 PM |
2 Simon: Сорри, ну в таком случае и не выступай на то, что я своё мнение высказал. Максимализм??? Бревно в глазу не мешает? По-моему это ты где-то здесь брался экспертные оценки виндовой архитектуре давать? Ты сам в жизни что-нибудь посложнее школьной контрольной на уроке информатики писал? |
|
| me - userinternet.com 2 Apr 2002 5:04 PM |
Про IBM жава-машину. Только что попробовал простой тестик - миллиард сложений - и сановская реализация обошла айбиэмовскую в два раза... Признаться, я удивился:)) |
|
| eXOR - billygmicrosoft.com 2 Apr 2002 9:27 PM |
2 RoN: Ok. Угадай почему из явы убрали множественное наследование? Любой C++ программист знает что это такое и разобраться в чужой иерархии сможет, но какой ценой? 2 me: И часто у тебя в задачах идут сложенния? Имхо операции со строками.. попробую 1000 строк слить... |
|
| RoN - rodionlenta.ru 2 Apr 2002 11:11 PM |
2 eXOR: Ну не знаю. Я, в общем-то, не вижу особой необходимости в использовании множ. наследования неабстрактных классов, но и особого преступления в этом не нахожу. Всё дело в разумном использовании. Один и void*, не к ночи будь он помянут, сможет использовать с умом, а другой и оператор присваивания использует так, что всё запутает :-) А что касается термина "наследование", то, имхо, это вообще термин неудачный. |
|
| glassy 3 Apr 2002 1:58 AM |
ага, и перегрузку операторов :) |
|
| REAL - realkemsu.ru 3 Apr 2002 6:17 AM |
me: "А вот про нативный код - вранье". Возвращаю тебе в той же форме про _твое_ вранье. Т.к. реально все тестировалось, и (не считая гуи) java ни в чем от натива не отставала, иногда даже наоборот. А гуи - он вторичен, если не забывать, что ниша java -это мощные серверные решения, недоступные никому другому (про .net и говорить не приходится, пусть сначала ползать научится :) ) |
|
| REAL - realkemsu.ru 3 Apr 2002 6:17 AM |
eXOR: только не забудь строки сливать при помощи объекта класса StringBuffer, а не String :) |
|
| me - userinternet.com 3 Apr 2002 11:32 AM |
>> Угадай почему из явы убрали множественное наследование? Очень надеюсь, eXOR, ты понимаешь, что никуда его из жавы не убирали, а только назвали по-другому. Как и в С++ проекте, увидев название интерфейса после ключевого слова implements, ты, как нормальный человек, откроешь проектную документацию и узнаешь все, что необходимо. Зато когда хочется забубенить повторяющийся код в "родительский" классик (в моей практике такого, впрочем, никогда не требовалось), то ничего не получится. Так вот тебе и "удобство". Я согласен, что жава существенно проще для понимания, нежели С++, но судя по ждк1.4 сан начинает возвращаться от "языка для апплетов" к "языку для реальных задач", так что вполне возможно и множественное наследование, и перегрузка операторов, и - господи, когда же это настанет! - нормальный Native API. >> И часто у тебя в задачах идут сложенния? Имхо операции со строками.. Ну-у... По-моему, в "мощных серверных решениях" (с) REAL строки используются поменьше:)) >> реально все тестировалось, и (не считая гуи) java ни в чем от натива не отставала, иногда даже наоборот Убери отладочную инфу из сишных программ. |
|
| eXOR - billygmicrosoft.com 3 Apr 2002 4:36 PM |
2 me: >Очень надеюсь, eXOR, ты понимаешь, что никуда его из жавы не >убирали, а только назвали по-другому. Скажем так, me (ощущенние что сам с собой разговариваю :-D). Убрали в том виде в каком это есть в C++. > Ну-у... По-моему, в "мощных серверных решениях" (с) REAL строки >используются поменьше:)) Ну да... полез в BD - строка, полез в файл - строка. Полез в сеть - строка. А сложенние где оно используется? > Убери отладочную инфу из сишных программ. Очень смешно :-). 2 REAL: > только не забудь строки сливать при помощи объекта класса >StringBuffer, а не String :) Об этом афаик в любой книге по жабе пишут сразу после того, как объясняют как "hello world" сделать. |
|
| eXOR - billygmicrosoft.com 3 Apr 2002 4:36 PM |
2 me: >Очень надеюсь, eXOR, ты понимаешь, что никуда его из жавы не >убирали, а только назвали по-другому. Скажем так, me (ощущенние что сам с собой разговариваю :-D). Убрали в том виде в каком это есть в C++. > Ну-у... По-моему, в "мощных серверных решениях" (с) REAL строки >используются поменьше:)) Ну да... полез в BD - строка, полез в файл - строка. Полез в сеть - строка. А сложенние где оно используется? > Убери отладочную инфу из сишных программ. Очень смешно :-). 2 REAL: > только не забудь строки сливать при помощи объекта класса >StringBuffer, а не String :) Об этом афаик в любой книге по жабе пишут сразу после того, как объясняют как "hello world" сделать. |
|
| REAL - realkemsu.ru 4 Apr 2002 9:06 AM |
me: "ак что вполне возможно и множественное наследование, и перегрузка операторов, и - господи, когда же это настанет! - нормальный Native API." Дай Бог, чтобы такого дерьма никогда не случилось |
|
| Simon 4 Apr 2002 9:52 AM |
2RoN:"Ты сам в жизни что-нибудь посложнее школьной контрольной на уроке информатики писал?" Ну вот, начинается очередное меряние пиписками. Культура, блин. Всё было нормально и в школе, и потом. Надувать щёки образованием, опытом и личными достижениями, право, стоит лишь в CV. |
|
| me - userinternet.com 4 Apr 2002 11:44 AM |
>> Дай Бог, чтобы такого дерьма никогда не случилось Как-то раз Антон Блинков (один из "местных" :)) ) пообещал аналоги шаблонов С++ в версии ждк1.5. Так что, REAL, помни: бог твой - каста недовольных жавой программеров. |
|
| RoN - rodionlenta.ru 4 Apr 2002 12:10 PM |
2 Simon: Да. Культура. И ещё культура - это без обоснований обозвать саксом и дерьмом область проф. деятельности другого человека. Повторюсь ещё раз: для начала займись сёрчем бревна в своём глазу. |
|
| Simon 4 Apr 2002 12:35 PM |
2RoN: Очень бы не хотелось гадить профессиональные форумы личными перебранками. "без обоснований обозвать саксом и дерьмом область проф. деятельности другого человека" - ну не было такого с моей стороны. Кроме того, я не оценивал чей-либо уровень знаний или область деятельности. Единственные, чьи специализации известны - Skull (которого всегда этим норовят уколоть) и Bosch. Как я понимаю, Ваша "область проф. деятельности" - software engineering, как и моя. Так что называть её "саксом и дерьмом" было бы глупо с моей стороны. С уважением... |
|
| eXOR - billygmicrosoft.com 5 Apr 2002 2:07 AM |
2 me: Не, ну шаблоны - это тема. Еще бы простенький eval ;-). |
|
| RoN - rodionlenta.ru 5 Apr 2002 9:10 AM |
2 Simon: Ну, на том и поладили :-)) |
|
| me - userinternet.com 5 Apr 2002 11:40 AM |
>> Еще бы простенький eval Раскатал губень:)))) |
|
| miroh - plasmonmail.ru 5 Apr 2002 2:38 PM |
Маленькое замечание... если запускать Java с опцией -server то машинка 1.4 бегает быстрее net в1.3 раза и с++ в 1.1 примерно- это тест со сверткой двух массивов с применением математики. По поводу апплетов - их погубила тотальная безграмотность веб программеров. До 1995 года тот кто плохо понимал принципы работы выч техники программером не считался. С выходом Дельфи каждый умеющий двигать формочки мышкой - уже программер. А с приходом интернет и скриптовых языков типа пхп - профанация стала массовой. Эти герои считают ( и агрессивно настаивают), что для веб программирования не надо знать ни сокетов ни протоколов, ни работы параллельных процессов. Вот эти и стали делать апплетики корявыми руками - ясно все превратилось в один сплошной глюк. А идея была великая - ее еще вспомнят. кстати активикс потому же не прижился в вебе. Ява будет развиваться- появятся новые API и языковые конструкции. А если САН протухнет - у дела есть миллион продолжателей. |
|
| eXOR - billygmicrosoft.com 5 Apr 2002 5:28 PM |
2 me: > Раскатал губень:)))) Дыкть ;-). 2 miroh: >не надо знать ни сокетов ни протоколов, ни работы параллельных >процессов Читая некоторые исходники, я понял, что они не знают даже что такое простой цикл ;-(.. А уж то что в SQL запросе можно например для UPDATE пользоваться AND, а не делать на каждое поле по вызову... > А если САН протухнет - у дела есть миллион продолжателей. :-(. См. Watcom C ;-(. |
|
| me - userinternet.com 5 Apr 2002 5:53 PM |
>> делать на каждое поле по вызову Я некогда встречал примерно такой вариант "гарантированной доставки": void sendMessage() { for(;;) { try { [пытается послать сообщение по TCP на адрес, заданный в самом начале программы] break; } catch (Throwable t) { // че-то выводит в лог } } } Не то, чтобы ничего не работало... Уж лучше таким горе-программерам и не знать про сокеты, потоки и прочее:)) miroh, у меня, конечно, дойдут руки и до сравнения математики, но вот результаты сравнения Vector(Java), std::vector(C++) и ArrayList(.NET) на компутере П3, 512МБ: Java 32 секунды, .NET 18 и С++ - 24. В тесте создавалось очень много объектов и все они пихались в вектор. При этом java отжирала примерно 80 мегов в памяти, .net - 40-70, а С++, что неудивительно, - 1-10. Так что я прям не знаю кому верить:))) ЗЫ: (без опции -server жава работала на 8 секунд дольше) |
|
| glassy 6 Apr 2002 1:13 AM |
лунукс найтивно держит найтивный байткод... лепота... Чё-нить полезное бы еще на джаве написать... чтобы проверить... |
|
| miroh 6 Apr 2002 10:05 PM |
2 me Все правильно -вот у меня раньше НЕТ быстрее всех работала - 1ю4 яву поставил -ява быстрее. Я читал в западных конференциях сравнения - везде разные результаты. Просто разные задачи. Вот XML Ява парсит и трансформит быстрее - сам проверил |
|
| miroh 6 Apr 2002 10:05 PM |
2 me Все правильно -вот у меня раньше НЕТ быстрее всех работала - 1ю4 яву поставил -ява быстрее. Я читал в западных конференциях сравнения - везде разные результаты. Просто разные задачи. Вот XML Ява парсит и трансформит быстрее - сам проверил |
|
|