LINUX.ORG.RU

Gosu — язык программирования для JVM

 gosu, ,


0

2

Страховая компания Guidewire открыла исходники своего скриптового языка программирования для платформы JVM — Gosu. Код открыт под лицензией Apache 2.0.

Изначально Gosu был задуман в 2002 году для создания внутрикорпоративного ПО в компании Guidewire Software и назывался GScript.

Для постепенного изучения языка компанией поддерживается сайт lazygosu.org.

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

★★★★★

Проверено: anonymous_incognito ()
Последнее исправление: Dendy (всего исправлений: 3)

Страховые компании вместо страхования делают жаба-костыли? А еще все удивляются - чего это кризис

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

> А BeanShell им не хватило? Или опять изобретение велосипеда без изучения того, что уже есть на рынке?

Ну и где в BeanShell фичи сабжа? Ты то сам изучил, что есть на рынке?

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

> А вот зачем нужны недоязычки - я не понимаю.

Ты о жабе что ли?

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

А я работаю! ;-) Хотелось бы для начала внести 2 ппоправки: 1) Guidewire не страховая компания, а компания-разработчик ПО для страховых компаний. Причём не всяких, а занимающихся страховануием в сфере P&C (property and casualty), т.е. всё кроме жизни и здоровья. 2) Официальный сайт языка - http://gosu-lang.org/ А lazygosu - это как раз для «лентяев»

Ну и по теме... Я сам на Java работаю с 2000-го года и очень сильно думал на предложением от Guidewire, в основном из-за вот этого (теперь уже горячё любимого Gosu). Язык очень даже хорошь, в нём много того, чего Java не хватает, например, closures, type inference и многое другое. Gosu компилируется в байт-код.

Enjoy! :-)

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

По поводу «стрАховой компании» смотри мой пост выше.

А по поводу кризиса... В Северной Америке за последние 3 года общая сумма страховых платежей (Gross Written Premium) неуклонно уменьшается. Эта тенденция (уменьшение GWP) наблюдается впервые с 30-х годов ХХ-го века. Несмотря на всякие там кризисы и тенденции, Guidewire является очень стабильной, растущей и прибыльной компанией!

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

А вот зачем нужны недоязычки - я не понимаю.

Ибо основной язык платформы откровенно говененький. Вот народ и скрашивает себе жизнь.

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

в 2000 - возможно, но зачем и кому оно сейчас нужно при наличии groovy(++) и scala?
или как раз никому не нужно, поэтому и решили открыть?

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

Вы в каждом втором посте упоминаете groovy++. У вас есть реальный опыт использования groovy++? Судя по всему, оно еще очень и очень сырое

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

Я не уверен, когда упомянутые выше языки/технологии стали доступны и на сколько они готовы к использованию (и готовы ли вообще). Но скорее всего это случилось не так уж давно. К тому времени у нас было несколько десятков клиентов, а перевод их на абсолютно другую платформу был бы просто невозможен - от части потому, что никому (клиентам) не захочется платить за переделку того, что уже работает, да и вообще, страховые компании предпочитают софт, которым они пользуются, не трогать. Так вот, вместо того, чтобы пересаживаться на другой велосипед, мы решили подправить свой. Подправляли-подправляли, да и выправили! :-) Со временем Gosu вобрал в себя много всякого хорошего от других языков.

Кстати, однин из наших клиентов - Росгосстрах.

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

Необходимо отрезать яйца ржавой пилой каждому недоношенному ничтожеству, которое имеет наглость про что бы то ни было говорить «не нужно». А таких на lor каждый второй.

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

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

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

К тому времени у нас было несколько десятков клиентов, а перевод их на абсолютно другую платформу был бы просто невозможен


Удивительно. Тут на ЛОРе никто не отписывается об использовании groovy или scala в продакшене, а тут нА тебе, нашелся реликтовый никому не известный язык и тут же - success story

Кстати, однин из наших клиентов - Росгосстрах.


Ага, я видел http://www.guidewire.com/our_customers

от части потому, что никому (клиентам) не захочется платить за переделку того, что уже работает,


есть еще один подобный язык из глубины веков, mumps.

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

>Вы в каждом втором посте упоминаете groovy++. У вас есть реальный опыт использования groovy++? Судя по всему, оно еще очень и очень сырое

сырость я и не отрицал, собственно

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

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

вот я и говорю - 5 лет назад gosu вполне мог занять какую-нибудь полезную нишу, но нафига(кому?) он нужен сейчас-то?

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

> нашелся реликтовый никому не известный язык и тут же - success story

Зачем же сразу «реликтивый»? Язык прошёл свой эволюционный путь. В какой-то момент компания и группа разработчиков решила, что в нём есть достаточно преимуществ по отнушеную к другим. Он не сырой, а довольно устоявшийся, провереный на практике. И для того, чтоб то, что нравится нам самим, стало известным для других, его и «открыли».

Может быть прежде чем судить по вывеске, надо бы попробовать и посмотреть что к чему? Я никому не навязываю собственного мнения и не заставляю переходить на Gosu. Но в конструктивной беседе с удовольствием приму участие. А кроме флейма в данном топике пока ничего конструктивного не наблюдается.

Вот ещё пару «сателлитных» проектов: http://ronin-web.org/ http://vark.github.com/

Enjoy! :-)

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

> вот я и говорю - 5 лет назад gosu вполне мог занять какую-нибудь полезную нишу, но нафига(кому?) он нужен сейчас-то?

Перефразируя классика: «Было бы что выпить, а повод мы всегда найдём!» ... Был бы продукт, а применение найдётся!

smoked_caramel
()

Karapuz! (Извините, не знаю, как Вас по-отчеству)

Будьте добры, поменяйте всё-таки первые 3 слова на «Guidewire, разработчик ПО для страховых компаний, открыла...» А то уж очень неправильно получается.

Спасибо!

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

это я тебя послал - а ты и не понял.

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

поменяйте всё-таки первые 3 слова


только модераторы могут

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

> А кроме флейма в данном топике пока ничего конструктивного не наблюдается.

Вы новенький? Это же ЛОР.

Ладно, конструктивно:

1. Как насчёт ADT, tuples и pattern matching по ним?

2. Все переменные мутабельны что ли?

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

> 5 лет назад gosu вполне мог занять какую-нибудь полезную нишу, но нафига(кому?) он нужен сейчас-то?

Ниша - статически типизированный язык для Java-платформы. Гораздо удобнее жабы. Проще скалы, хотя и беднее. Стабильнее Groovy++.

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

> Вы новенький?

Да.

Это же ЛОР.

Ясно. Хотя, ничего не ясно... :-)

Как насчёт ADT, tuples и pattern matching по ним?

Нет, нет, нет

Все переменные мутабельны что ли?

Что конкретно Вы имеете ввиду? Пример?

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

> Что конкретно Вы имеете ввиду? Пример?

Имею в виду аналог final в жабе для филдов/параметров/локальных переменных.

В скале есть val для неизменяемых переменных и var для изменяемых. У вас везде в исходниках var.

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

> Конечно есть: http://gosu-lang.org/doc/wwhelp/wwhimpl/api.htm?&context=gosu&src=classes&top...

final модификатор существует для типов, пропертей, локальных переменных, аргументов функций.

Т.е. как в Java. Имхо это плохо, т.к. добавляет лишних буков, и в результате им никто не пользуется. Скаловский val лучше.

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

Ну, о вкусах не спорят. Я, например, как раз предпочитаю больше вербозности, т.к. тот же final намного легче увидеть сразу из-за существенно разной длины строк, а вот var и val быстро-визуально не отличишь. Можно, конечно, IDE настроить, чтоб показывал разными цветами...

Я, кстати, к собственно группе разработчиков никакого отношения не имею, а все лишь внутренний пользователь. Хотя версия Gosu, которую мы используем, имеет несколько дополнительных аспектов (о которых вдаваться в подробности нет смысла).

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

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

Я бы предпочел final по умолчанию и mutable для изменяемых переменных.

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

> Я бы предпочел final по умолчанию и mutable для изменяемых переменных.

А ещё лучше в программах пользоваться только константами, и менять их значения через прямой доступ к памяти.

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

Нет, жабараб, об Algebraic Data Types. Твои ущербные Abstract DT в любом сраном бэсике есть.

Ванга says> Сейчас будет типичная ситуация: жабаотброс не осилит, и в лучших традициях завопит «нинужна!!!»

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

> Сначала я не очень понял, об чём речь... Но если об Abstract Data Types, то конечно «да».

Т.к. я написал ADT и *pattern matching* по ним, нетрудно догадаться, что речь идёт об алгебраических типах данных.

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

> «mutable».length() > «final».length() Где смысл?

Смысл в том, что чем меньше мутабельных переменных, тем лучше. Соответсвенно, их видно за километр.

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

> Нет, жабараб, об Algebraic Data Types. Твои ущербные Abstract DT в любом сраном бэсике есть.

Лавры vsl покоя не дают?

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

> речь идёт об алгебраических типах данных

Значит мой первоначальный ответ был верным - нет.

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