Последствия заметок Африканца


Африканец,

трактат - высший класс. Наконец в голове все стало на свои места - всегда было подозрение, что эта идея - барахло, теперь все стало на свои места. Я его сохранил в тексте. Хотя должен сказать, что оригинальная идея (по-моему, не Sun'а, а чья-то еще) была неплохой - универсальный интерфейс ДЛЯ БЫТОВОЙ АППАРАТУРЫ. Т.е. у меня есть универсальный пульт ДУ с экраном и пятью кнопками, который сам ничего не умеет, а мой телевизор экспортирует ему через ИК канал

class TV

А стиральная машина - свой класс. А VCR - свой. И ДУ умеет их исполнять. Здесь не важна эффективность и не нужны большие библиотеки. И если бы Java не вышла за эти границы - была бы полезной штукой. Но увы. В какой-то книжке об интеловских процессорах были сказаны правильные слова - "торжество маркетинга над здравым смыслом" (это об x86). Все повторяется.

РД


Об Африканской Жабе:

Это как же надо любить свою работу, чтобы писать о ней так вдохновенно, с таким неподдельным умилением, с таким глубоким чувством!

Я ничего не понял, но это не суть. Суть же состоит в том, что автору удалось передать поэтику Жабы, приподнять завесу таинственности, настроить читателя (меня) на лирический лад, заставить задуматься о вечном и о преходящем, о явном и о скрытом, увидеть высокое в обыденном и любовь в ненависти. Не те же ли чувства испытываем мы, смертные, глядя на нетленные творения великих мастеров абстракции и кубизма, формализма и сюреализма? Мы ничего в них не понимаем, но это и не требуется -- искусство не есть фотография, не механический отпечаток нашей гнусной действительности, а мощный поток энергетики, окутывающий и поглощающий смотрящих на великие полотна, слушающих нетленную, вечную Музыку цвета ли, звука ли... Великий Малевич рассказывал нам о физике "Абсолютно-Черного-Тела", о свойствах веществ с исчезающе малым коэффициентом отражения в видимой части спектра электромагнитных коллебаний, об Евклидовой Геометрии, противопоставляя ее Римановской, о скучных, в общем-то, вещах, но рассказал о них так, что многие десятилетия миллионы людей как завороженные разглядывают "Черный Квадрат", находя в нем каждый свое, и уходят от него просветленные.

Бессвязный на мой взгляд ламера поток малопонятных слов Африканца каким-то непостижимым образом преображался по мере прочтения в удивительное многоцветие туманных, завораживающих картин, в которые то там то сям вплетались нежные звуки харддрайвов и принтеров, радужное многоцветье рибон-кейблов, бэкграундов и айконов. В голове возникали образы мчащихся по лабиринтам сетей электромагнитных импульсов -- этаких трудолюбивых гномиков в смешных колпачках, спешащих выполнить свою нелегкую, но такую нужную работу -- передавать Е-Маil'ы от сердца к сердцу, от милой к милому, а от него к еще одной милой...

Зря Африканец говорил, что не любит поэзии. Он именно Пиит, и именно с большой буквы!

Так держать, Африканец!

Арк


РД,

Увы, идея с пультом тоже не особо. Что значит "телевизор ему экспортирует?" Единственное, что я могу себе представить - это если пульт есть web-browser, телевизор в момент наведения пульта на него загружает туда апплет, он работает, и мы исполняем нужные функции на телевизоре, связываясь с ним по HTTP. Неужели это так надо?

В противном случае - без применения апплетов и броузера - жаба вообще никакого преимущества не дает.

Африканец


Да, раз уж мы про это -

можно предположить, что есть еще один шанс для возвращения Культуры Эффективного Софта. Начинают развиваться всяческие Personal Data Assistants, т.е. компьютер, убираемый в карман. Можно помечтать о том, как это должно выглядеть - что-нибудь размером с блокнот, с touch screen и рукописным вводом, GSM-овским приемопередатчиком, выходом через него в Интернет, а через него - прямой связью с кем угодно и т.д. Так вот, единственный неминиатюризируемый элемент в такой штуке - это батарея. Можно повышать степень интеграции, загонять несколько кристаллов на одну подложку и т.д., но вот батарея - как была ~ 30 A*В*ч/кг, так и останется (по порядку величины).

Что делать ? Меньше кушать. Т.е. меньше железа и ниже скорость. Не надо 300 МГц процессора. Не надо регенерировать 32М памяти. Не надо гнать 30 МБ/с через шину. И т.д. В конце концов, контроллер калькулятора работает на 100 мкА, а делает все, что надо.

А для этого нужен софт, в котором нет 2500 инструкций там, где надо 15. А поскольку таких устройств надо много - и спрос на такой софт будет приличным. Вот такая надежда.

РД


Африканец

Потрясена глубиной и тонкостью анализа.
Ты не задумывался о том, чтобы опубликовать это для более широкого круга читателей?

В свете написанного тобой - что проще сделать - обучиться писать на Java или отговорить заказчика ее использовать?

Guinevera


Guinevera,

Научиться писать на жабе тривиально - занимает (у меня) пару дней. Впрочем, почти на любом языке научиться писать тривиально, если не вдаваться в дебри. А дебри можно изучить потом, когда понадобятся.

Отговорить заказчика - невозможно.

РД,

1) батареи уменьшаются - посмотри на сотовые телефоны, выпущенные 5 лет назад, 2 года назад и сейчас.

2) современные лабтопы достаточно быстры и есть подозрение, что и палмтопы тоже будут быстры. И прогресс там идет такой же. То есть в первые три года существования продукта скорость будет слишком мала, чтобы ее транжирить, а потом станет достаточной.

Так что увы - надежды нету. Как говаривал Леонид Ильич, все идет на говно. То есть все идет нога в ногу с прогрессом.

Еще точнее сформулировал эту мысль Екклезиаст - "Все идет в одно место" (3.20)

Так идет оно все в одно место!

Африканец


Африканец,
именно так, только без HTTP и броузера. Первоначально никакой Интернет никаком боком там не участвовал, это потом их связали. Java же задумывалась как _простой_ _высокоуровневый_ язык скрипта. А что касается "надо" - ты никогда не рылся в on-screen menu и не пользовался тремя пультами одновременно ?

Об этом -
http://moshkow.relline.ru:5000/win/JAVA/java-hist.txt
с главы "10. ПЕРВЫЕ ШАГИ ПРОЕКТА GREEN."

РД (и java-hist.txt)


РД,

К сожалению, современные процессоры (не x86-compatible) умеют потреблять очень мало и быть при этом очень быстрыми - посмотри на StrongARM; по целой производительности - PPro200, а потребляет треть ватта (можно помедленнее, тогда будет потреблять еще меньше), и самая быстрая модификация стоит ~$40. И этому процессору уже пара лет; сейчас можно сделать аналогичный с ощутимо меньшим потреблением. Пока действует "Moore law" (про удвоение производительности каждые 18 месяцев), бороться с "bloatware" бесполезно - на процессоре, который будет к моменту окончания разработки новой версии программы, она все равно будет работать быстрее, чем старая версия на старом процессоре. А похоже что еще лет на 10 этого закона хватит.

А на самом деле во всем вини пользователей - как не посмотришь сравнительный обзор какого-нибудь software, так там обязательно написано "программа A (выпущенная полгода назад) понимает только 321 различных формата файлов, в ней всего 545 стиля редактирования, и тезарус всего на 33 языка; а вот в программе B (выпущенной в свет 2 недели назад) - 435, 718 и 66, соответственно". Разумеется в следующей версии программы A всего будет больше, и она будет лучше месяца четыре, пока не появится следующая версия программы B... А про то, что количество невыявленных ошибок пропорционально квадрату величины программы здесь уже неоднократно писали.

Disclaimer: выше приведено мое личное мнение, которое не обязательно совпадает с официальной позицией Microsoft по данному вопросу.

Сотрудник MS


Африканец - Отлично про Джаву.

С некоторыми пунктами можно поспорить по мелочам (я, например, люблю имена типа setManagerSalary, это облегчает понимание), но по основному ряду соглашусь. Джава - безумный хайп по поводу еще одного языка программирования высокого уровня. Меня еще жутко бесит необходимость постоянно проверять на null все подряд. В моей тихой заводи ObjectiveC, когда объекту null посылаешь сообщение - ничего стращшного не происходит, просто ничего не происходит, а тут вечно эксепшины - достало.
А насчет хайпа - тут Сан попытался (и довольно успешно) исполозовать подход Мелкософта. MS ведь как любит - заявить о выходе лучшей в мире ОС годика за 3, чтоб все затаили дыхание и ничего другого пока не покупали. Получается gain momentum еще до выхода продукта. Вот и Сан так же - популяризировать продукт как можно раньше, пока он еще и продуктом-то не стал, заразить как можно больше народу, а потом, глядишь, уже ни на что другое не перейдут. Все купились. Многие начали использовать хайп. Количество книг по Джаве в магазинах меня просто БЕСИТ. То есть само количество - раздражает. Все хотят руки нагреть, ну просто все. Не может быть, чтобы была необходимость в таком количестве книг по языку и системе, которым без году неделя.
А язык как язык. На самом деле, я считаю так - хорошему программисту пофиг на каком языке писать. Более того - даже в разных языках его тексты будут выглядеть похоже, потому что есть в голове отработанные принципы эффективности писания. А для начинающих хорошо иметь дисциплинирующий язык, чтобы эти навыки вырабатывались. Так что все эти setX, которые тебе так не нравятся имеют смысл не сами по себе, а как способ вырабатывания правильных навыков ОО-программирования. Так что начинать с Джавы - не худший вариант.
Меня лично все это раздражает еще тем, что людей с нормальных систем и языков вся эту шумиха вынуждает переходить на недозрелую Джаву. Вот менеджер хочет чтобы было "в ногу со временем", и все. Я долго пишу на ObjectiveC. Он лучше Джавы, имхо, по всем параметрам. Нет, надо все бросить и переходить на Джаву.
И ведь прикол-то в том, что Мелкософт Джаву завалит. Главная суть все-таки ИМХО - в переносимости. А зачем нужна переносимость, когда все и так работают на Мелкософтовсикх ОС и Мелкософтовская Джава - самая быстрая. Вот и будет - просто еще один язык, и весь хайп пойдет на пользу как всегда Мелкософту.

Марина


Сотрудник MS - ну и disclaimerы у тебя. Аж страшно становится.

Африканец - да, заставил ты меня задуматься. Наша контора переходит с Визуального Васика на Жабу (а толку, что я задумался. Все равно никто не спрашивает). А по-твоему получается, мы шило на мыло меняем. А вообще я с Мариной согласен. Мастер - он и пьяный мастер, на любом языке.

Итальянец


Сотрудник MS, прости, что-то не понял я про StrongARM. Неужели правда что 40 долларов и треть вата?!!!
При сравнимой производительности и число элементов должно быть сравнимо. Пусть в StrongARM не 8,8 млн. транзисторов, а 5, это значит, что мощьность потребления на транзистор около 6,7е10-8!!!
А чего на StrongARM делают? В смысле аппаратуры? Это RISK?
"О сколько нам открытий чудных" несет ВМ!

Артур


Марина,
<<<На самом деле, я считаю так - хорошему программисту пофиг на каком языке писать. Более того - даже в разных языках его тексты будут выглядеть похоже, потому что есть в голове отработанные принципы эффективности писания. А для начинающих хорошо иметь дисциплинирующий язык, чтобы эти навыки вырабатывались. >>>
Спорно. Думаю, что не пофиг. Да и любой язык программирования предназначен для решения определенного круга задач. В этом смысле хороший программист тем и хорош, что выберет подходящий. А что до похожести текстов - то это, скорее, признак не очень хорошего программиста. Есть даже шутка: "На каком бы языке я не писал, все равно это будет Фортран".
Я много сталкиваюсь с выпускниками школ, которые в качестве первого языка учили Паскаль, язык соданный именно для первоначального обучения. Достаточно строгий и пр. Но как тяжело потом видеть, что приобретенный стиль программирования, порой автоматически, переносится и на Си и на С++. С годами приходит критическое осмысление, расширяется кругозор, приходит опыт, но по моему разумению хорошему программисту жесткая дисциплина строго типизированных языков часто мешает.

Артур


О жабе. Я не вникал в тонкости устройства языка (не знаю я этого и слова "класс" не понимаю, мое развитие остановилось на ассемблере, фортране-77 и начатках паскаля). Но внешне в пульте для ДУ он выглядит на месте. И еще одно применение - которое, вроде, уже начинают реализовывать - систему управления сетями (типа ДУ, только поумнее). Сегодня берется некая универсальная система управления (OpenView, например), которая в силу своей универсальности не может ничего, и в нее загружаются наборы описаний на каждый тип железки в сети. А чтобы было красиво, грузятся еще и специальные управляющие программы, который каждый производитель лепит, как ему нравится и все это становится кошмарным зоопарком. Иногда еще и несовместимым друг с другом. Так вот, предлагается на каждой железке держать не только управляющего агента (как сейчас), который реагирует на запросы и общается с системой управления и программами на ней, но и собственно программу управления самой железкой. На жабе, естественно. И при установке железки в сеть скидывать эту программу на станцию управления. Должно получится удобно. Только как бы не придумали скидывать программу каждый раз при обращении к железке - с них (абстрактных таких "них") станется. Тогда на сетях можно будет ставить крест. По крайней мере с точки зрения управляемости.

Зануда


Артур,

Взгляни на http://developer.intel.com/design/strong/index.htm (Intel купил права на процессор у DEC - первый случай в истории Intel). Там взгляни на SA-110.

ARM - это в некотором смысле RISC процессор, но он отличается от "стандартных" RISC очень красивой и нетривиальной системой команд. За счет "RISC-овости" им удалось втиснуть StrongARM в 2.1млн транзисторов; производится он на устаревшей 0.35um технологии.

Подробности архитектуры (включая систему команд), ссылки на продукты, где он применяется, а также сведения про другие ARM-процессоры можешь найти на http://www.arm.com.

Сотрудник MS


Артур,
я, наверное, несколько неаккуратно выразилась. Надо было сказать "все равно на каком ОО-языке писать". Про Фортран в этот момент и не думалось совсем. Хотя, например, на Си ничего не стоит писать красиво и объектно, никакие пойнтеры не помешают. Фортран тоже особо навредить не может, что на него все набросились - неужели из-за goto? А я вот при писании на фортране почти никогда goto и не использовала, лучше рутинку написать всегда. Зато привыкаешь, что I,J 0 счетчики цикла, а X,Y - плавающие цисла. Что плохого?
Про студентов, переходящих с Паскаля на Си. Да, чистых сишников из них может уже не выйти. А нужно ли? Хороший паскалец будет больше использовать ,например, типизацию, ничего вредного тут не вижу. А если у студентов получалось плохо, то это может просто говорить о том, что программирование - не для них. Ни на Си, ни на Паскале.

Марина


Марина, и у меня к Фортрану нет никаких претензий. Славный язык. Практически всех уже пережил. По моим данным готовится стандарт не то Fortran 2000, не то Fortran 2005. А может оба. Причем один точно для параллельных вычислений. Ну а где "чистые" вычисления, там Фортран всех переживет.
Про межязыковой переход. Может и не нужно, но юношеский максимализм, едрить его... Я думаю, что если бы это был бы не Си, а Жаба или Ада или Пролог (с учетом задач, разумеется :-)) эффект был бы тот же. Агрессивное неприятие. Не поголовное, разумеется! Но... Есть экзепляры... И, что характерно, по идее из них получатся хорошие программисты. И им самим будет смешно смотреть на себя лет через пять.

Сотрудник MS, спасибо! Завтра пренепременно схожу по указанным ссылкам.
А сегодя домой пора.
Всем доброй ночи (наступит же она, когда-нибудь)!

Артур


РД, Зануда, я не понял, а чем жаба так замечательна, что ее в пульт
ДУ засовывать или в этот самый OpenView? Что в ней появилось
ПРИНЦИПИАЛЬНО НОВОГО, чего раньше не было, но такого, что позволяет
ее применить таким способом (и именно ее и больше ничего).
Спросите у администраторов больших сетей, хотят ли они, чтобы
при подключении к сети нового устройства, тут же во ВСЕ станции
мониторинга вдувалась САМА КАКАЯ-ТО программа. Ах, нет, конечно,
не во все, а только в те, которые понимают эту новую технологию.
Раньше надо было файл с описанием вдуть вручную на каждую станцию,
а теперь надо не во все. Вот, блин, облегчение. Особенно удобно то,
что это будет интерпретируемый язык, это особенно полезно для
мониторинга сети.

Толик


Толик, по порядку.

Я не сомневаюсь, что есть карманные компьютеры, на которых работает Win и грузится Ворд. И также не сомневаюсь в существовании laptop'ов, к-рые с точки зрения софта от desctop'ов вообще не отличаются. Но сколько весит laptop и сколько без подзарядки работает ? А зачем он столько весит ? А именно чтобы Word грузился.

А может весить на порядок меньше и работать на порядок дольше, если будет на два порядка медленнее. А для этого софт д.б. на два порядка быстрее. Т.е. в отличие от desctop'ов здесь есть смысл в написании эффективного софта. Что будет на самом деле - не знаю, я же сказал, надежда.

О Jav'е в пульте - как написано в статье (ссылка где-то внизу), ребятам захотелось что-нибудь "как С++, но попроще". Ну вот и получилось... как всегда. Но сама идея - "чтобы управлять неизвестным устройством, спросим у него, что оно делает и как им управлять" - мне очень понравилась.

РД


Толик,
про управление сетями я знаю не понаслышке. Правда, я не столько сети администрирую, сколько строю. И системы управления в них тоже ставлю. Вот что мы имеем на текущий момент:
а) зоопарк самих систем - OpenView (HP-OV), Sunnetmanager, IBM NetView (сделана из OpenView), Spectrum а еще появилась CA TNG (The Next Generation) и SNMPc сбоку бегает.
б) все это еще и живет на самых разных платформах - HP OV - на HP-UX, Solaris, NT, Win 3.11/95. Spectrum - Solaris и NT. И так далее.
г) одни - открытые, то есть имеют опубликованные API и производители железа могут сами писать управляющие приклады к ним для своих коробок (HP OV, Sunnetmanager, NetView, SNMPc). Другие - закрытые, производитель железа должен пойти на поклон к хозяину софта, а тот, авось, его коробки поддержит (TNG, Spectrum)
д) каждый производитель старается писать приклады под все, но не успевает. Даже под HP OV, как самую распространенную, как правило, есть не под все платформы, да еще разнобой с версиями. Скажем, производиель А поддерживает версию 4 HP-OV на всех платформах, да еще какой-нибудь SNMPc для комплекта, а производитель B - версию 5 HP-OV для HP-UX, версию 4 ее же для Sun, да еще NetView. А производитель C вообще договорился с Cabletron, лепит все для Spectrum, ну и для комплекта HP-OV древней версии на Sun, а остальное видал в гробу.
е) управляющие приклады каждый пишет по своему, да еще норовит улучшить функциональность исходно йсистемы управления путем, допустим, добавки внешней базы данных.

Итог: есть сеть, собранная на разнородном железе (от производителей А,В,С, ... Ы, ...), надо выбрать систему управления, сообразуясь еще и с предпочтениями заказчика. А заказчик не хочет связываться с Unix, ему давай NT. Или Unix, но только Solaris, а HP-UX он боится (или просто Solaris у него уже есть). Ну и начинается. На NT не поддержано управление вон тем железом, а на Solaris все поддержано, но с такой древней версией, что скоро 2000-й год и будет фиаско, а OpenView дорогой, давайте Sunnetmanager, а из под него вот этот модем, хоть тресни - не управляется, а вот для тех маршрутизаторов вышла новая версия софта с нужными функциями, а управляющие приклады их не понимают, и надо апгрейдится, а для этого надо сменить версию OpenView, а другое железо, которое в сети тоже есть, этого не дает, потому что для него под новую версию приклады еще не сделали - ну и так далее. И интерфейсы у всех управляющих приклад разные - кто во что горазд.

Предлагаемая альтернатива - унифицировать управляющие приложения, по смыслу это на 90% скрипты, а на 10% - интерфейс, так и сделать их на едином интерпретируемом языке. С унифицированным для всех интерфейсом, +/- особенности каждого типа железа, что тоже на таком языке написать можно. Интерфейсная часть там не сложнее интернетовских апплетов.
И не бегать высунув язык с кипой сидюков от машины к машине, переставляя версии этих самых приложений и самих систем управления, а загружать управляющие приложения из самих железок, сразу соответствующие текущему софту в железках и их возможностям. Ну, заодно, и новые описания SNMP-переменных и проч. - это уже не штука. Какая мне разница, ставить управляющие приклады с отдельных сидюков или затащить их из памяти управляемой железки? Второе даже быстрее, если делать это один раз. А почему жаба? А мне все равно. На сегодня, вроде, такое можно сделать на жабе. Если можно на чем-то еще - да ради бога. Я здесь - пользователь. Надо, чтобы работало и было удобно. И чтобы на всех платформах, на всех операционках и с минимумом геморроя.

Зануда


РД, идея хорошая и правильная, полностью согласен. Лна мне тоже
нравится. Вот только Жаба здесь не при чем. (C++, конечно,
тоже не годится).
Зануда, ты расписал в красках проблемы управления сетью.
Повторяю вопрос, который я задавал прошлый раз по отношению
к пульту ДУ.
Что ПРИНЦИПИАЛЬНОГО НОВОГО дает Жаба как язык для управления сетью,
чего не дает ни один другой язык? Почему ИМЕННО на Жабе это все
удастся унифицировать на 90%. Чем не подходит все остальное для
этой задачи? Ну, приладят еще и Жабу ко всему этому многообразию,
тебе легче станет? Я всячески за унификацию таких вещей.
Но я за использование пригодных для этого средств.

Толик


РД, нет здесь никакого смысла для написания быстрого софта.
Когда-то это было нужно для станционарных компьютеров.
Сейчас -- это в большинстве случаев не нужно.
И все эти лаптопы легчают и убыстряются очень быстрыми темпами.
И скоро они будут очень легки и быстры. Эти самые PalmSize -- еще
не совсем полноценный компьютер, но станет он через некоторое
время таким же мощным как современный лаптоп и даже еще круче.
На том все стимулы и кончаться.
В общем вывод такой -- ты оптимист в этом вопросе.

Толик


Толик,
принципиально новое - полная аппаратная независимость и возможность подкачки модулей из разных мест (один из телевизора, другой - из стиральной машины). Java как язык высокого уровня здесь совершенно не причем, вполне пойдет и Бейсик (а что, кстати ? Интерпретаторов - навалом, интерпретатор для Радио86РК (i8080)- 8К вместе с редактором). Цитирую Зануду : "На сегодня, вроде, такое можно сделать на жабе. Если можно на чем-то еще - да ради бога."

РД


РД, все правильно, ты вот и сам про бейсик вспомнил. При всех
его (бейсика) недостатках, у него есть одно явное достоинство --
он является тем, чем и является. И не изображает из себя ничего.
А Жаба -- это по сути бейсик и есть. Только претендует на что-то
великое.
Все эти сказки про аппаратную независимость мы (я имею в виду
программистов) слышали уже неоднократно. Как показала практика
все попытки добиться этого жесткой стандартизацией библиотек
и типов не к чему не приводит. Программа может быть
аппаратно-независимой, а может быть хорошей, но не одновременно.
Если рассматривать ее (Жабу) просто как альтернативу какому-нибудь
языку скриптов, то это можно. Но именно рассмотреть, чем она лучше.

Ладно, что-то действительно ВМ стал Жабой накрываться. Я постараюсь
воздержаться в ближайшее время от реплик на этут тему. Тем более,
я вполне понял позиции присутствующих здесь и свою как-то изложил.

Толик


РД, Толик:

Предлагаю создать новый язык "Пейсик".
Поскольку компилятор с "Пейсика" очень кудряв, а так же по размеру превышает любые разумные нормы по занимаемому объему в "Памяти", на "Пейсюки", т.е. компьютеры, для которых будет создан реально загружаемый компилятор или интерпретатор, будет поставлен "Обрезаный Пейсик", т.е. его сокращенная версия. Таки предлагается вносить поправки, дополнения и определения за стандарт языка.

МоржМиша


MorzhMisha,

Dlya udobstva napisaniya i chteniya programm na Pejsike,
pisat' nuzhno budet sprava nalevo. I zapretit'
upotreblyat' glasnye v nazvaniyah peremennyh.

YKK


Африканец, ты просто титан, я бы даже сказал -- зеркало жабской революции. Снимаю шляпу перед твоим могучим творением о Жабе и Околожабстве.

Действительно, всё правда -- и шухер вокруг явно предназначенного для учебных целей языка и абсолютная непродуманность конструкций и встроенных классов, и ничем не обоснованный переход от AWT к SWINGу и всё остальное. Одной из причин этого является, по-моему, то, что JavaSoft занимется чистым теоретизированием в отрыве от реального пользователя -- денюжки они получают не столько от продаж своего "продукта" сколько из кармана Sun. Типичная ситуация в которой работали отраслевые НИИ в советское время, если кто помнит. А руководством Sun движет больше зависть к БГ, чем идеи создания удобного и эффективного языка программирования. Ради того, чтобы досадить Микрософту, они готовы агитировать всех программировать даже на санскрите.

Пишу, потому что у самого наболело -- ради идеи изначальной многоплатформенности начальство приказало пересесть с С++ на жабу. И что, думаете, есть она эта поддержка разных платформ на жабе? Из восьми требуемых нам платформ жаба с грехом пополам работает только на трёх! Я уж не говорю про эффективность -- какое там... И самое смешное, что единственной платформой, на которой практически нет никаких проблем является Windows. Такое впечатление, что ребята из JavaSofta сами работают только на NT!

Африканец, ещё раз спасибо за трактат! Сейчас сверстаю, распечатаю и завтра положу на стол начальству -- пусть почитают. Впрочем, они уже сами не рады этой жабе -- да что делать, больше половины реки уже переплыли...

Заезжий иностранец


Африканец, однако твоя статья мне больше нравится.

Я иногда читаюзнаю наши журналы типа ComputerWоrld или PCWeek. И задаваюсь вопросом - те ребята про разбор что-то слышали или только про новые технологии? Я бы им и бакалавра не дал! Прикладному программисту не следует рассказывать системному о принципах построения ОС и тем паче языков.

Хотя бы пара пунктов.
>В Джаве, как и ранее в Турбо-паскале, кто помнит, ветви заведомо неисполняемые, в код не включаются. Вообще-то это называлось dead code elimination и любой мало-мальски уважающий себя оптимизирующий компилятор делал это. Неужели все забыли про оптимизирующие преобразования программ? Если такие вопросы выносятся на уровень определения языка, а не разработки компиляторов, то я ничего не понимаю. Надеюсь, это все же не определено в Java. Я же не призываю всех писать на Хаскелле. А он мне нравится ооочень сильно.

>А переполнение целого - какие последствия может принести, если только по этому целому не индексировать?
Мягко говоря, может просто неправильно работать программа. А кого это волнует, если не вешается система?

>Джава - это не язык, это куда как большая штука. Это и среда исполнения, и виртуальный компутер.
Боже, так вот почему я так думаю. Зачем игры computer scientisoв выносить на полки магазинов? А чем хуже концепция микроядра в качестве основы ОС?

Сергей 'Ф