четверг, 5 ноября 2009 г.

[comp.prog.flame] Примеры Java приложений для десктопа

Благодаря ссылкам ув.тов.Skynin, удалось слегка расширить свое представление о том, как Java используется в десктопных приложениях. Вот эти ссылки:

Что можно сказать – я был не прав. Хотя сам я Java-приложения не использую, но должен признать, что они вполне себе живут и здравствуют.

Пару-тройку скриншотов для демонстрации:

(IVAS is an intelligent virtual agent system – на платформе NetBeans)

(The Bioclipse project is aimed at creating a Java-based, open source, visual platform for chemo- and bioinformatics based on the Eclipse RCP).

(EasyMonitoring® is a 4D visualisation platform that makes easier to supervise and analyse complex systems in 3D and in real time.)

Хочется сказать, что Java, на мой взгляд, является отличным примером действенности принципа Worse Is Better. Далеко не самый лучший язык программирования, но какое распространение! И какие результаты!

Сдается мне, что не являясь языком для фриков, Java стал отличной платформой для разработки рабочего софта. Очень большие сомнения у меня существуют, что нынешние адепты функционального программирования когда-нибудь напишут на своих любимых Haskell-ях с OCaml-ами приложения, которые хотя бы выглядеть будут так, как вот эта тройка. Поскольку Haskell/OCaml сейчас востребован либо фриками, либо учеными, которым бесконечные списки, синтаксический анализ и потактовое моделирование аппаратуры гораздо важнее и интереснее, чем разработка удобного и полезного рядовым пользователям ПО. А вот Java-программистам – наоборот, за что им респект и уважуха! :)))

PS. Имхо, C++ники в этом плане гораздо ближе к Haskell-истам. Вряд ли бы C++ получил бы такое широкое применение, если бы не “пьянящее чувство победы”, которое программисты испытывают, когда их C++ная программа работает быстро и надежно ;)

22 комментария:

Aleksey Dobrunov комментирует...

думаю тебе будет интересно Haskell vs С в условиях, приближенных к боевым
http://users.livejournal.com/_adept_/99574.html ,

eao197 комментирует...

Нет, не будет :) Очередная пенисометрия на основании того, что Language Shootout не нравится тов.adept-у.

Для того, чтобы посмотреть на Haskell vs C (Java, C#, Scala, ...) нужно всего-то подождать лет пять-десять. И все само станет на свои места.

Пока же мне кажется, что Haskell-исты (OCaml-щики и даже Scala-исты, равно как и Ruby-исты) успешно работают вот в таких условиях: http://garrrrr.livejournal.com/55293.html
Т.е. один-два талантливых и очень неглупых программиста находят удобный для себя язык, оказываются в условиях, где нет препятствий к его применению и в одиночку делают работу 3-5 обычных, среднестатических программистов. (Имхо, список примеров промышленного использования Haskell-я это подтверждает: http://www.haskell.org/haskellwiki/Haskell_in_industry).

До тех пор, пока на стороне Haskell-я будут выступать монстры вроде thesz, сравнивать Haskell с чем-то еще нет смысла. Интереснее ситуация станет, когда Haskell-ем массово придется заниматься людям вроде меня. А еще интереснее станет, когда Haskell действительно придет в массы (все-таки, хоть я и не thesz, но я и не самый плохой программист -- гораздо больше людей программируют хуже меня).

Skynin комментирует...

Спасибо за ссылку на garrrrr.livejournal.com Слежу за видными ФПшниками блогосферы, теперь "процесс прений" понятней...

Проблема ведь, кому рассказать на чем, кем и как делалось:
Новая идеология «Скорой помощи»
Скорая помощь становится действительности скорой (есть видео)
засмеют... Того и не рассказываю нигде, тут вот решился ссылки привести только :)
Одно только достоинство - Оно Работает.

И тем кто на этом работает и для кого оно сделано - глубоко все равно до разборок XXX vs YYY в среде айтишников.

Rustam комментирует...

Я бы разделил Хаскель и Окамл. Они совершенно разные, отличий не меньше чем у C++ и явы. На Окамл уже написано больше реальных приложений, ну и на прямом потомке (и диалекте) Окамла - F# будет думаю написано немало приложений. А хаскель по моему еще очень долго будет скорее площадкой для экспериментов, чем реально используемым языком.

Skynin комментирует...

А хаскель по моему
Позволю себе скопипастить пару строчек (после поста garrrrr. мне они стали понятней):

6) Из хорошо пишущих на Хаскелле, большинство - снобы и фрики.
7) Хаскелль как язык не стоит своего времени на освоение. Чтобы понять, что именно происходит когда читаются конфиги - нужно понять монады, а чтобы их понять - нужно освоить теорию категорий. Не мои слова, а хорошо знающего Хаскелль человека (он может отписаться в комментах, и раскрыть своё инкогнито).

Не учите Хаскелль, это чёртова головоломка. Читайте SICP, учите Ocaml и Erlang - за ними будущее. А Хаскелль пусть гниёт в институтах.
источник

eao197 комментирует...

2Rustam: может ты и прав. У меня сложилось впечатление, что OCaml -- это какая-то своя устоявшаяся экосистема. Язык старый, применяется где-то в области computer science (вроде как анализаторы C/C++ кода мне попадались, написанные на OCaml). Никуда больше особо не лезет. Из-за этого в той же http://caml.inria.fr/cgi-bin/hump.en.cgi проектов всего ничего. А вот F# как-то сразу большое внимание к себе привлек. Что вызывает определенное уважение.

Haskell же сейчас в каком-то ореоле эдакой "серебрянной пули". Что-то такое неведомое, гловоломное, сакральное. И, по уверениям своих адептов, несет истинное избавление от грешных страданий темного императива... :) Мало кто его знает, но все о нем наслышаны. Почти как о Кришне :))

Rustam комментирует...

Ну судя по rsdn большинство хаскелистов к фрикам и снобам отнести тяжело. Вроде вполне вменяемы.

eao197 комментирует...

Судя по RSDN-у большинство хаскелистов зарабатывают себе на жизнь программированием на Java/.NET, либо вообще шифруются так, что не поймешь, чем они занимаются (то ли студенты, то ли аспиранты, то ли преподаватели).

Rustam комментирует...

Да насчет OCaml'а ты в общем прав. А Хаскель да на rsdn уже подхватил эстафету от немерлистов :)

eao197 комментирует...

На LOR-е хаскалисты уже вытеснили Lisp-овцев :)

Skynin комментирует...

Ну судя по rsdn большинство хаскелистов к фрикам и снобам отнести тяжело.
Как раз наоборот :) По стилистике, примерам, аргументации и прочем один в один психотип "красноглазых линуксоидов" (все вы тупые виндузятники/императивщики) (за рееееедким исключением)
1. Куча свободного времени (ни девушки-жены и тем более детей, ни ответственной работы а потому = с вечным дедлайном)
2. Отсутствие житейско-программерского опыта, а потому видение не дальше рядового кодера, и как положено - "всякая уборщица лучше всего менеджмента знает как и что нужно"
3. Жгучее и задорное желание создания догмы (единственно верной на все случаи жизни. частный случай такой догмы - серебрянная пуля), ибо как и положено молодому человеку - многообразие и алогичность жизни пугают до панически закрываемых глаз на очевидное, банальное, то что под носом.
4. Претензии на богемность и исключительность, вызванные самоощущением еще несостоявшихся, не нашедших своего уважаемого другими места в жизни.
5. Наивная но глубокая надежда на то что в их то жизни рутины не будет, а будут заниматься Творчеством и только им.
и т.д. это то что сходу формулировал.

eao197 комментирует...

2Skynin: ну это вы со зла.

Точно знаю, что Lazy Cjow Rhrr не попадает под ваше описание (хотя он не хаскелист, но функциональщик).

Булат Зиганшин и Сергей Зефиров, похоже, постарше меня будут. Сергей, вроде как не женат, здесь попадание.

Дмитрий Антонюк (lomeo) так же не производит впечатления очень молодого человека. К тому же он один из самых вменяемых хаскелистов из виденных мной.

На счет deniok-а и palm mute не знаю. Но думаю, что вы все-таки ошибаетесь. Поведение на интернет-форумах зачастую очень сильно отличается от поведения в жизни.

Skynin комментирует...

2Skynin: ну это вы со зла.
С какого такого зла :) Просто вне тусовки, программерско-социальный лифтинг практически завершен, а потому эти убунты против сусей, и немерли против хаскелей - забавны :)

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

Возраст же... знаете, бородатые байкеры - такие же тусовщики, и по тем же причинам что и 20летние :)

6. ФПшники и линуксоиды - это мутации. Признак приспособляемости вида (в данном случае вид - программирование как отрасль). Но сами они этого не понимают (и не принимают, отсюда защитная реакция в виде богемности), потому нелепы их "С++/Java/императивщина умрет. "Умрут" как раз они, и только некоторые полезные свойства эволюция добавит в плюсы и джавы.

7. Их маргинальность заключена в самом посыле - перекроить, перевернуть мир. То есть они хотят облагодетельствовать мир - не понимая его и не принимая его (они заявляют о способности понимать сложные концепции, но не в состоянии понять почему "1Сы" с джавами рулят, как только вариантами "теории заговора" и "тупизной". Но как же они собираются тупым объяснять про монады???). Исход как у хиппи - либо ты станешь яппи, либо бомжом. Ну, или молодящимся байкером :)

8а. Как следствие - они ассоциальны, и неспособны к кооперации. Революционер скорей наваяет свой ЯП, чем скромно впишет свое имя в виде части системной библиотеки к существующему ЯП.
8б. Второе следствие - активная агитация для увеличения числа сторонников. Кроме желания поделиться лучшим, здесь желание выйти из маргинального состояния, "стать как все", то есть за искренним(искреннее != истинное) индивидуализмом стоит тот же стайный инстинкт, тот же конформизм который изобличается у других.

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

Конечно, есть куча подвариантов у каждого конкретного человека и вполне допускаю что ничего из сказанного не относится к XXX и YYY.

eao197 комментирует...

2Skynin: как говорил один персонаж, которого я иногда копирую: "Мощно задвинул, внушаить!"

Rustam комментирует...

Skynin чувствуется некоторая зависть к "революционерам" :)

Все-таки большинству ФП'шников интесно само ФП а не его "социальный статус", и они просто тихо пишут на своих любимых языках.

Skynin комментирует...

и они просто тихо пишут на своих любимых языках.
ВОТ! Ключевое слово тут - тихо.
Если бы тихо - без претенциозных выводов, без "а на хаскеле круче"! по поводу и без...
И - что пишут. Я толком и не понял, потому и подписался на RSS их блогов. А то что понял - далеко от насущных проблем как и 32тыс коннектов в секунду. (у кого встретил - а на Эрланге 100ты коннектов можно! и в уме сразу - "а зачем?")

Rustam комментирует...

Skynin ну так характер и темперамент у людей разный, некоторые тихо не могут :)
Ну и конечно сложные вещи психику деформируют, это и по хардкорным C++'истам видно :)

Пишут обычно всякую утилитную мелочь, на большее выбить у начальства согласие почти не реально. Ну и варианты для себя open source, фривары и шаравары.

Насчет эрланга, по моему он уже твердо встает на ноги и повторяет путь питона и руби. Язык конечно нишевый, но скорее широко, а не узко нишевый.

Skynin комментирует...

ну так характер и темперамент у людей разный, некоторые тихо не могут
Это конечно. Революции возглавляют минимум харизматичные личности. А частенько и гении.

на большее выбить у начальства согласие почти не реально
Прааально :) Как у одного ФПшника чирканул в блоге - "если вы (ФПшники) действительно ухватили Бога за бороду - то со временем станет начальниками, и измените отрасль. А если не станете, то либо не ухватили, либо не поняли что отрасли нужно, а не вам лично ...

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

Насчет эрланга, по моему он уже твердо встает на ноги
Мне думается так же, благодаря уникальным качествам. Но думается - на Эрланг ВМ стоило бы реализовать и другие синтаксические диалекты. Как то происходит с Java VM и CLR .NET

Quaker комментирует...

Думаю, что языкам программирования уделяют слишком много внимания. С ужасом наблюдаю, как на форумах/в блогах и т.д. начинаются священные войны/многостраничные срачи и т.д. в попытках найти несуществующий идеал. Еще более смешным выглядит объявление о создании еще одного нового и никому не нужного языка программирования (последний пример - Zimbu от Брана Мулинара). Проблема в том, что в языках программирования всё уже придумано. Изобрести что-то действительно новое и полезное крайне трудно. Меня всегда интересовал и интересует вопрос: какими соображениями руководствуются очередные велосипедисты при создании своих поделок? В общем, я считаю, что все это делается либо от избытка сил и времени, либо (что чаще) от банального незнания существующих технологий (узкого кругозора).

Quaker комментирует...

Я считаю, что в языках программирования гораздо важнее даже не сам язык, а большое количество готовых библиотек, кроссплатформенность, полноценная IDE с графическим интерфейсом, интеграцией с CVS/SVN и т.д. В общем, вспомогательные вещи, не имеющие к синтаксису языка прямого отношения. И к величайшему разочарования для жабоненавистников у Java все эти качества присутствуют. Более того, Java есть еще один козырь - хорошая приспособленность как под десктопные приложения, так и под web-приложения. В самом деле, много ли людей будут писать сайты на c++? А как Вам десктопные приложения на php? А вот позиции Java сильны по обоим направлениям. Плюс еще четко налаженный процесс спецификации и стандартизации (Java Specification Request, Technology Compatibility Kit).
Так что сколько бы плюсофилы/функциональщики ни поливали Java грязью, но реальной альтернативы Java (в качестве языка общего назначения для широкого спектра применений) я просто не вижу.

eao197 комментирует...

2breezsea: возможно, языкам программирования уделяют столько внимания, поскольку программисты постоянно имеют с ними дело. Типа все являются экспертами в языках программирования, вот и говорят о том, что знают :)

Что до изобретения нового... Ну и пусть себе изобретают. Вдруг что-то хорошее получится. :)

eao197 комментирует...

2Quaker: по поводу десктопа на Java я не разделяю вашей уверенности. Пока C++ здесь является серьезной альтернативой Java.

Что до инструментов/библиотек -- разделяю ваше мнение. Думаю, изобретатели новых языков (в том числе и автор D) просто недооценивают важность этих вещей. Хорошего языка мало, это всего лишь скелет, на который нужно наращивать мясо. На это требуется и много времени, и много ресурсов. Так что 99.9% новых языков просто обречены на вымирание вскоре после рождения.