LINUX.ORG.RU

Sun готовит второе пришествие Java


0

0

'Новый курс в области лицензирования нацелен на то, чтобы предоставить разработчикам больше возможностей по использованию исходного кода Java...Если лицензионные ограничения будут ослаблены, это может облегчить использование Java с программным обеспечением open source, особенно Linux, отметил аналитик RedMonk Стивен Огрейди. ""Разрыв между коммерческими и некоммерческими приложениями все больше сужается, так что движение в направлении общего ослабления лицензионных ограничений не удивительно""

Теперь Sun работает над отдельной инициативой по пересмотру коммерческой лицензии Java. ""JRL - некоммерческое упрощение SCSL, и теперь мы оцениваем, как упростить SCSL для коммерческих целей - Хотелось бы, чтобы коммерческая лицензия со временем вовсе исчезла, как хвост у человека, потому что мы чувствуем, что она слишком переусложнена""'

>>> Подробности

anonymous

Проверено: Demetrio ()

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

>Мне тоже показалось очень многое знакомым в Avalon. Там даже есть аналог ant под названием MSBuild :)

Это не аналог - это намного больше - советую тебе заглянуть туда. Ант это просто конфиг - МСБилд - это даже больще язык. Немного другой подход.

:)

-- boshik

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

>Были Java appletы, которые пришли и вытеснили Flash apps. Если XAML будет так же сложно программировать как и Java applets, то XAML останется незамеченным

Ты пробовал программитьаплеты - че там сложного. Основная проблема у них ывстала только с тем что ЖВМ не везде была. У МС с этим проблем меньше на много :)

-- boshik

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

>Button (Button.Background (LinearGradientBrush (LinearGradientBrush.GradientStops (GradientStopCollection (GradientStop :Color "Red" :Offset "0") (GradientStop :Color "Magenta" :Offset "0.25") (GradientStop :Color "Blue" :Offset "0.5") (GradientStop :Color="White" Offset="1"))))) "Click me!") Декларативно? Декларативно!

По-моему ни разу не декларативно

>Догадываешься, как новые теги добавлять?

Мля 10-лет программирую - чес. слово не понимаю как? (особенно из твоего примера)

-- boshik

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

Метапрограммирование для Java (вполне полноценное) есть в Jatha. К счастью, уж для него то поддержки в рантайме не требуется.

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

Oracle уже со своим UIX-ом обкакакались с теми же амбициями.

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

Очередной быдлёнышь, жертва маркетоидов... :(

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

>Ант это просто конфиг - МСБилд - это даже больще язык. Немного другой подход.

После недавнящнего траханья с Ant я пришел к выводу, что Ant - это очень извращенный LISP :))))) Макросы есть (где-то на уровне syntax-rules в Scheme, функции есть (antcall и таски)). Правда, скопинг пропертей - очень кривой. Либо глобальный, либо динамический - при antcall (причем нигде в общем-то это не разъясняется).

Но метапрограммирование все же какое-то есть. Например, вот сборка плагина Eclipse (инструкция Ant-a), реально состоит из кучи действий и работает с кучей каталогов (которые захардкожены в макрос):

<build.plugin name="com.example.eclipse.plugin"/>

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

Таска build.plugin написана на самом Ant-е, без привлечения Java.

В MSBuild таких фич я не заметил. Более того, именно MSBuild выглядит для меня просто конфигом :)

P.S. Просто об этои мало кто задумываются - пишут гигантские конфиги с кучей дублирование.

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

>По-моему ни разу не декларативно

Ага! Вот они, стереотипы в чистом виде! Это один-в-один XAML, переписанный в стиле LISP (вернее Scheme, так как LISP я хуже знаю).

>Мля 10-лет программирую - чес. слово не понимаю как? (особенно из твоего примера)

Поскольку это LISP, то это просто будет макрос. Есть подозрение, что и тут достаточно удобны и эффективны будут Scheme-овские syntax-rules (а вообще я все две макросистемы знаю - defmacro, syntax-rules и syntax-case :) ). Никаких громких слов "добавление новых тегов".

Чем это лучше новых тегов, описанных, например, на .NET? Гораздо проще.

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

В принципе, конечно, можно для этого использовать и XSLT.

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

>Ант это просто конфиг - МСБилд - это даже больще язык. Немного другой подход.

Что-то я протормозил. Вообще-то, конфигурационный файл - это тоже язык :)

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

> А работать и так можно только в виндовс, Линукс можно только изучать, сетевые > протоколы там, gcc, shell programming, kernel поковырять, но для работы люди > грузят виндовс.

Ага. А так же нельзя работать в MacOS, в Solaris и во всем остальном. А мы дома и на работе вместо развлечений и работы "изучаем сетевые протоколы там, gcc, shell programming...". Не смешите людей! На сегодняшний день линукс в большинстве случаев на много больше подходит для работы и развлечений, чем виндовс. Наш отдел уже второй год дома и на работе работает в линуксе, и совершенно не пользуется виндой. Половина всей организации (а скоро будет вся) работает на соляре. Мало того, недавно привезли два мака для полиграфии. Так что эти разговоры про панацею в лице виндовс от обычной компьютерной неграмотности (и от того, что люди ведутся на PR майкрософт).

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

>язык java довольно непоследователен и нелогичен

Не затруднит ли вас подтвердить свои слова фактами?

>язык C# довольно интересен

Чем, на ваш взгяд, он интереснее чем JAVA?

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

2boshik

> Это не аналог - это намного больше - советую тебе заглянуть туда. Ант это просто конфиг - МСБилд - это даже больще язык. Немного другой подход. :)

Я тоже советую тебе не придираться к деталям :)

Что MSBuild реализует несколько другой подход - мне известно. Но очевидно, что MSBuild имеет очень много общего с Ant.

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

> Чем это лучше новых тегов, описанных, например, на .NET? Гораздо проще.

Несопоставимая расширяемость. Например, тег может означать, что вот в этом месте будет полноценный графический редактор, или просмоторщик pdf... Аналогия с HTML была очень поверхностой, лишь чтобы показать идею на знакомой многим технологии.

Можно привести еще одну аналогию с J2EE.

XAML-файл - это JSP-страница, а .NET-класс - это JavaServlet-класс. Предметом сходства является то, что JSP-страница компилируется в JavaServlet. Таким же образом XAML-файл компилируется в .NET-класс.

Более того, в JSP можно определять свои собственные теги. Подобным образом можно задавать новые теги и для XAML.

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

Гм, сей тест показывает что C# отстает от JAVA 1.5.0. И что VC++ обгоняет JAVA (что не удивительно).

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

Угу, уже вторая Жаба-технология такого рода. Ещё есть одно извращеньице кошерной направленности - JSP custom tags.

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

Я слегка некорректно выразился. Несомненно, я не отрицаю полезность написания "тяжелых" тегов. Но часто нужно именно легкое метапрограммирование - по аналогии с моим примером касательно Ant-а. Где нужно просто зафиксировать некоторые параметры, заточить тег под конкретные частные условия.

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

Стили? Какие?

В принципе, можно XSLT использовать, но у него тоже ограниченные возможности (например, в случае Ant-а нужны различные манипуляции со строчками).

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

Стили практически с тем же смыслом, что и стили CSS для DHTML.

Задается для определенного тега (.NET класса) набор свойств с некоторыми значениями по-умолчанию. Когда накладывается стиль на тег (фактически на экземпляр .NET-класса), то соотвественно перечисленные свойства меняют свои значения.

Примеры можно посмотреть здесь (поиск по тегу <Style>):

http://msdn.microsoft.com/library/en-us/dnintlong/html/longhornch03.asp

Кстати, тот пример на лиспе очень похож на XAML, только форматирование другое :)

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

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

>Кстати, тот пример на лиспе очень похож на XAML, только форматирование другое :)

Это XAML и был, с LISP-овым синтаксисом :) Реально таких LISP-макросов не существует.

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

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

Вот, на счет этого ничего не могу сказать. Может быть, и можно задать такие вычисления...

> Это XAML и был, с LISP-овым синтаксисом :) Реально таких LISP-макросов не существует.

:)

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

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

Вспомнил. Там есть "триггеры", по которым можно переключать стили. Наверное, этого достаточно для большинства случаев.

dave ★★★★★
()

Ээээ, зачем поскипали?!

Интересно же было. В данном случае ценной инфы было много больше чем мата :). Можно было бы заменить на многоточия!

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

Поцчему это не угодила? Как раз наоборот - радуюсь, что даже в убогом Java-мирке появляются намёки на правильные вещи (в данном случае - макры).

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

2anonymous про непримитивность GC в OCaml - компактификиции там как раз нет при minor-е. И уровня только два. Но даже так он рвёт JVM, как Бобик тапочки... Нетривиальности там начинаются на том, что на каждый тред по минор-области... ;)

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

>В данном случае ценной инфы было много больше чем мата :). Можно было бы заменить на многоточия!

А мата-то там и вообще не было. Почитай внимательно

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

>(Button (Button.Background (LinearGradientBrush
>(LinearGradientBrush.GradientStops (GradientStopCollection
>(GradientStop :Color "Red" :Offset "0")
>(GradientStop :Color "Magenta" :Offset "0.25")
>(GradientStop :Color "Blue" :Offset "0.5")
>(GradientStop :Color="White" Offset="1"))))) "Click me!")

Какой это Лисп с :Color="White" ??? ;-)
Должно быть хотя бы:
(Button :background
(LinearGradientBrush
:gradientstops
((GradientStop :color :red :offset 0)
(GradientStop :color :magenta :offset 0.25)
(GradientStop :color :blue :offset 0.5)
(GradientStop :color :white :offset 1))))

Кстати вполне можно подобное в рабочем коде увидеть в приложениях под CLIM или CAPI.

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

Блин, форматирование сбилось:

(Button :background 
    (LinearGradientBrush 
            :gradientstops 
                 ((GradientStop :color :red :offset 0)
                  (GradientStop :color :magenta :offset 0.25)
                  (GradientStop :color :blue :offset 0.5)
                  (GradientStop :color :white :offset 1))))

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

>Поцчему это не угодила? Как раз наоборот - радуюсь, что даже в убогом Java-мирке появляются намёки на правильные вещи (в данном случае - макры).

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

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

Вот реальный пример описания приложения на Common Lisp Interface Manager:

(define-application-frame bitmap-editor ()
    ((rows :initarg :rows :initform 8)
     (cell-size :initarg :cell-size :initform 10)
     (columns :initarg :columns :initform 8)
     (array :initarg :array :initform nil)
     (current-color :initarg :current-color :initform 1)
     (colors :initarg :colors
	     :initform (list +white+ +black+)))
  (:command-table (t :inherit-from (accept-values)))
  (:panes
    (palette :accept-values
	     :width :compute 
	     :scroll-bars :vertical
	     :display-function '(accept-values-pane-displayer 
				  :displayer display-palette))
    (edit-pane :application
	       :scroll-bars :none
	       :width :compute :height :compute
               :max-height +fill+
	       :initial-cursor-visibility nil
               :display-function 'display-grid-and-cells
               :display-after-commands nil)
    (pattern-pane :application
		  :scroll-bars nil
		  :width :compute :height :compute
                  :max-height +fill+ :max-width +fill+
		  :initial-cursor-visibility nil
                  :display-function 'display-pattern
                  :display-after-commands nil))
  (:layouts 
    (default (horizontally ()
	       (vertically () palette :fill)
               edit-pane
               pattern-pane))))

Похоже Microsoft наконец изобрела Лисп, да еще в самой извращенной форме ;-)

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

> и что сия абра-кадабра значит?

Если ее перевести в XML представление, то получится тот же XAML.

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

>2anonymous про непримитивность GC в OCaml - компактификиции там как раз нет при minor-е.

При copiyng-е (т.е. сборке yung generation) в жабе и .net-е компакта тоже нет. Компакт делается только при сборке old generation.

>Нетривиальности там начинаются на том, что на каждый тред по минор-области... ;)

Это классика. В в жабе и .net-е, да и в любом нормальном аллокаторе pool-ы так же per-thread - чтобы избежать блокировок при выделении памяти.

>Но даже так он рвёт JVM, как Бобик тапочки...

А вот это загадка... если это так на самом деле.

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

Несомненно есть сходство с таким лиспом...

Но одна из задач XAML - отделить формочко-клепание от непосредственно реализации самой логики программы. То есть, XAML - для дизайнеров. Они привыкли к идеологически близкому DHTML/CSS, поэтому переход на XAML будет выглядеть естественным.

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

Ну, а насчет того, чтобы реализовывать и логику программы на лисп-пободном языке [да хоть на самом XML], то здесь шансы невелики... Лисп - довольно старый язык. Им пользуются до сих пор, но в данном случае речь идет об очень многочисленной и разношерстной братии Windows-программеров, а разработчики M$ не похожи на самоубийц.

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

>Несомненно есть сходство с таким лиспом... >Но одна из задач XAML - отделить формочко-клепание от >непосредственно реализации самой логики программы. То есть, XAML - >для дизайнеров. Они привыкли к идеологически близкому DHTML/CSS, >поэтому переход на XAML будет выглядеть естественным.

На Лиспе это происходит очень плавно, так как язык и синтаксис едины ;-)

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

Ха-ха-ха. Могу себе представить толпы дизайнеров, клепающие XML вручную в Блокноте ;-) Так им и надо.

>Ну, а насчет того, чтобы реализовывать и логику программы на лисп- >пободном языке [да хоть на самом XML], то здесь шансы невелики...

Прикол что-ли. Зачем мне лисп-подобный язык. Я прямо пишу на Лиспе и зачем мне нужен XML, кроме как для связи с другими программами ?

>Лисп - довольно старый язык. Им пользуются до сих пор, но в данном >случае речь идет об очень многочисленной и разношерстной братии >Windows-программеров, а разработчики M$ не похожи на самоубийц.

Ну так ясно, что M$ должна была выдумать какую-то красивую упаковку для "новой" технологии. Никто и не подумает, что это практически Лисп и есть (покоцаный до нельзя).

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

>Ну и зачем этот галимый бред со скобочками, когда есть нормальный xml?

Ну и зачем мне этот галимый бред с треугольными скобочками, слэшами, всякими значками типа '=', когда есть нормальный Лисп ?

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

Хотя и данная тема уже отошла на второй план в списке новостей ЛОРа, отвечу на твой пост.

> На Лиспе это происходит очень плавно, так как язык и синтаксис едины ;-)

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

Кстати, по похожей причине придумали JSP как довесок к Java-сервлетам. JSP - для дизайнеров, а сервлеты - для программеров.

В случае лиспа скорее всего получим мешанину и путаницу, и будет непонятно, кто за что отвечает. Здесь надо брать в расчет самых обыкновенных рядовых программистов. Если ты даешь им возможность сделать что-то не так, то будь уверен, они обязательно это сделают...

> Ха-ха-ха. Могу себе представить толпы дизайнеров, клепающие XML вручную в Блокноте ;-) Так им и надо.

По-разному бывает... Хотя есть замечательные средства от той же Macromedia.

> Прикол что-ли. Зачем мне лисп-подобный язык. Я прямо пишу на Лиспе и зачем мне нужен XML, кроме как для связи с другими программами ?

А разве лисп - не лисп-подобный язык? Это было простое логическое обобщение - сказывается мое математическое образование :)

> Ну так ясно, что M$ должна была выдумать какую-то красивую упаковку для "новой" технологии. Никто и не подумает, что это практически Лисп и есть (покоцаный до нельзя).

Думаю, M$ вообще не заботят такие мысли. Они просто сводят воедино разные технологии и преподносят их в таком виде, что-бы как можно большее число людей могло или _захотело_ ими воспользоваться. Вот, уж в этом они кровно заинтересованы, ибо это - бизнес...

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

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

И это можно сделать! Зачем дизайнерам давать полный LISP (все макросы и функции разрабатываемой системы)? Можно дать лишь некоторое ограниченное множество макросов/функций. Оставить чисто декларативные "фичи" для описания собственно интерфейса. При этом всегда будет возможность приоткрыть краник и дать еще функциональности :)

Более того, можно вообще им типа визуальную среду сделать. Тогда им пофиг будет, что там внутри (до определенного момента).

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

Можно, конечно. Но человеку свойствено принимать иррациональные решения.

Например, огромное количество программеров обожает VB.NET. Почему они любят его, а не тот же лисп - фиг знает. Здесь многое зависит от личных вкусов и предпочтений, а также от распространенных стереотипов.

Коснемся святую святых (теперь можно, когда новость ушла в архив): "почему в качестве основного языка программирования в юниксах до сих пор используется C?"

Как правило, С-программы компилируются [значительно] дольше, чем Pascal-программы. Тот же компилятор Delphi - это просто метеор какой-то. Более того, получаемый на выходе код вполне сопоставим по качеству, а оба языка сопоставимы по богатству возможностей.

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

Наверное, в силу того же иррационализма не распространен Лисп настолько, насколько он того заслуживает. Проще говоря, этот замечательный язык сейчас не востребован.

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

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

И для этого обязательно создавать отдельный дизайнерский формат файла ? ;-) Дизайнер вообще может не видеть ни одной скобочки, работать себе в редакторе и все.

>Кстати, по похожей причине придумали JSP как довесок к Java->сервлетам. JSP - для дизайнеров, а сервлеты - для программеров

Вы IMHO ошибаетесь. Дело в том, что Java не имеет таких средств как Лисп, чтобы связать шаблоны страниц и логику программы плавно и красиво без костылей.

>А разве лисп - не лисп-подобный язык? Это было простое логическое >обобщение - сказывается мое математическое образование :)

Так то оно так, но именно Common Lisp уже имеет множество хороших реализаций, поэтому Lisp-like звучит скорее как упоминание о чем-то альтернативном. Хотя написали же специальный Лисп для 3D игр на приставках (http://www.franz.com/success/customer_apps/animation_graphics/naughtydog.lhtml) .

>Думаю, M$ вообще не заботят такие мысли. Они просто сводят воедино >разные технологии и преподносят их в таком виде, что-бы как можно >большее число людей могло или _захотело_ ими воспользоваться. Вот, >уж в этом они кровно заинтересованы, ибо это - бизнес...

IMHO есть люди, которым MS преподносит явный shit и они его едят, думая, что это невиданной вкусности блюдо и ничего лучше нет. Все же вокруг тоже его едят. А кто-то вынужден им пользоваться, потому что некуда деваться.

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

>Например, огромное количество программеров обожает VB.NET. Почему 
>они любят его, а не тот же лисп - фиг знает. Здесь многое зависит от 
>личных вкусов и предпочтений, а также от распространенных 
>стереотипов.

Этих вообще трудно назвать программерами. Нормальному программеру свойственно искать более удобный инструмент (язык). Возможно у VB много библиотек и прочей инфраструктуры типа книг и тьюториалов, но IMHO просвященный программер не выберет VB как language of choice.

>Теперь просто представим, что большинство программ под линукс было 
>бы написано на Delphi. Тогда установка с нуля такого дистрибутива 
>как Gentoo ускорилась бы в разы без ощутимой потери качества... 
>Очевидное противоречие. 

А кому эта скорость так мешает, чтобы переходить на Delphi под Линуксом ?

>Наверное, в силу того же иррационализма не распространен Лисп 
>настолько, насколько он того заслуживает. Проще говоря, этот 
>замечательный язык сейчас не востребован.

Да скорее подставили его с AI и свалили все неудачи. Посмотрите сами, упоминать Лисп сейчас чуть ли не неприлично, никакой другой язык таких эмоций не вызывает. Насчет не востребованности - эти слишком сильно сказано, так как на нем сейчас пишут и он сейчас на подъеме (судя по количеству сообщений в comp.lang.lisp и морю новичков каждый день). Наша контора пишет на Лиспе (отслеживание объектов в реальном времени, видеограмметрия и т.д.), будут и другие, кто не хочет идти на поводу у MS и учить "новые" языки и технологии каждый день.

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

Сорри. Формат не тот выбрал. Повторюсь...

>Например, огромное количество программеров обожает VB.NET. Почему >они любят его, а не тот же лисп - фиг знает. Здесь многое зависит от >личных вкусов и предпочтений, а также от распространенных >стереотипов.

Этих вообще трудно назвать программерами. Нормальному программеру свойственно искать более удобный инструмент (язык). Возможно у VB много библиотек и прочей инфраструктуры типа книг и тьюториалов, но IMHO просвященный программер не выберет VB как language of choice.

>Теперь просто представим, что большинство программ под линукс было >бы написано на Delphi. Тогда установка с нуля такого дистрибутива >как Gentoo ускорилась бы в разы без ощутимой потери качества... >Очевидное противоречие.

А кому эта скорость так мешает, чтобы переходить на Delphi под Линуксом ?

>Наверное, в силу того же иррационализма не распространен Лисп >настолько, насколько он того заслуживает. Проще говоря, этот >замечательный язык сейчас не востребован.

Да скорее подставили его с AI и свалили все неудачи. Посмотрите сами, упоминать Лисп сейчас чуть ли не неприлично, никакой другой язык таких эмоций не вызывает. Насчет не востребованности - эти слишком сильно сказано, так как на нем сейчас пишут и он сейчас на подъеме (судя по количеству сообщений в comp.lang.lisp и морю новичков каждый день). Наша контора пишет на Лиспе (отслеживание объектов в реальном времени, видеограмметрия и т.д.), будут и другие, кто не хочет идти на поводу у MS и учить "новые" языки и технологии каждый день.

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

> Вы IMHO ошибаетесь. Дело в том, что Java не имеет таких средств как Лисп, чтобы связать шаблоны страниц и логику программы плавно и красиво без костылей.

В данном случае это было не столько мое мнение. Раньше приходилось иметь дело в J2EE, и подобную идею вычитал в одной из электронных книг или туториале - уже не помню.

> IMHO есть люди, которым MS преподносит явный shit и они его едят, думая, что это невиданной вкусности блюдо и ничего лучше нет. Все же вокруг тоже его едят. А кто-то вынужден им пользоваться, потому что некуда деваться.

Преподносят, потому что многие люди сами того хотят.

Честно говоря, меня немного коробит, когда читаешь в MSDN что-нибудь по C#, и там одни сравнения с C++. При этом ни одного слова о Java. Как будто и не было в природе никакой Java, а сразу придумали C#...

Хотя с другой стороны, именно C# мне позволяет сейчас зарабатывать деньги. Даже скажу больше, там [в .NET] много хороших вещей. Вообще, я старась больше думать о самой задаче, а средства разработки - дело второстепенное. Правда, считается, что и сами средства разработки сильно влияют на те задачи, что мы пытаемся решать.

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

> А кому эта скорость так мешает, чтобы переходить на Delphi под Линуксом ?

Я просто хотел показать на примере, что технические критерии выбора - далеко не самые главные. Наверное, тогда у меня получилось немного заумно :)

> Да скорее подставили его с AI и свалили все неудачи. Посмотрите сами, упоминать Лисп сейчас чуть ли не неприлично, никакой другой язык таких эмоций не вызывает. Насчет не востребованности - эти слишком сильно сказано, так как на нем сейчас пишут и он сейчас на подъеме (судя по количеству сообщений в comp.lang.lisp и морю новичков каждый день). Наша контора пишет на Лиспе (отслеживание объектов в реальном времени, видеограмметрия и т.д.), будут и другие, кто не хочет идти на поводу у MS и учить "новые" языки и технологии каждый день.

Конечно, ИИ-прошлое сыграло свою роль. Создан определенный стереотип, который трудно переломить.

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

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

Например, на сайте CodeProject (http://codeproject.com) проскальзывают реплики типа: "VB.NET лучше C#, потому что на VB.NET можно создавать глобальные методы". Причем такое мнение - распространенное :)

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

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

А какой из языков функционального программирования сейчас наиболее интересный или самый популярный? Хотел бы узнать по-больше.

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

> А какой из языков функционального программирования сейчас наиболее
> интересный или самый популярный? Хотел бы узнать по-больше.

http://en.wikipedia.org/wiki/Functional_programming

http://en.wikipedia.org/wiki/Category:Functional_languages

и в частности:

http://en.wikipedia.org/wiki/Ocaml

http://en.wikipedia.org/wiki/Haskell_programming_language

http://en.wikipedia.org/wiki/Clean_programming_language

http://en.wikipedia.org/wiki/Nemerle

Ну и разумеется лисп и Scheme можно записать в ФП, все что надо там
есть, хотя там в целом более императивный уклон (особенно в CL). Если
их не брать, то самый практичный, пожалуй, O'Caml (см. также F#). Еще
очень интересная штука Nemerle - во-первых, там привычный многим C-
подобный синтаксис, во-вторых, полноценная интеграция с .NET (можно
Mono) - т.е. можно использовать Gtk#, ADO.NET, ASP.NET, и прочие
готовые блюда. При этом функциональность собственно языка весьма на
уровне, есть и first-class functions, и макросы...

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