LINUX.ORG.RU

JVM-based языки. Кто умеет такой синтаксис?


0

1

Какие из JVM-based языков умеют смешивать стили массивов? Скажем, задать хэш в подобном виде:

hash = ['item1', 'item2' => 'subst1', 1234];

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

★★★★★

Охохонюшки. А зачем такое нужно не подскажете? Вообще если смотреть - то груви. Он щас самы поддерживаеимый, простой и вместе с тем фичастый язык для JVM.

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

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

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

>А зачем такое нужно не подскажете?

Люблю компактный и наглядный синтаксис :)

Вообще если смотреть - то груви.


А пошустрее ничего нет? А то даже Quercus будет в разы быстрее...

Хотя посмотрю, как с ним дела сейчас стали. Год назад было ещё всё плохо :)

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

>там все интерпретировалось всегда и жутко тормозило.

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

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

>А пошустрее ничего нет?

Groovy++ - там опциональная статическая типизация дает существенный прирост производительности.

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

>Хренасе наглядный - смешивать хешмапы и массивы =)

Код-обработчик такой записи пишется один раз. А вот сами записи такого вида у меня используются часто. И дико бесит, если нужно писать ['item1': 'item1']

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

Что-то, у меня не получается задать подобный формат. Запись вида collection = [«x», «y», «z» : «t»] вызывает ошибку компиляции.

А офсайт Groovy сейчас висит.

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

>Люблю компактный и наглядный синтаксис :)
>А пошустрее ничего нет?

Если не-JVM-based то, то в Euphoria элементы массива могут быть динамической смесью различных типов: ряды (sequence), гибкие массивы, ...

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

Сначала надо понять как по-английски называется то, что хочет ОП. Потом погуглить это. Я ничего пока не нагуглил

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

>ломающий груви об колено - это Scala

Смотря в чем. Скала скоро просто лопнет от синтаксических конструкций. А груви - просто и умеренно фичаст.

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

> collection = [«x», «y», «z» : «t»]

Можешь написать обработчик который будет разруливать конструкцию вида [«x», «y», {«z»:«t»}]. Почти также лаконично, без всяких извращений.

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

Скала скоро просто лопнет от синтаксических конструкций


Не лопнет. Ключевых слов в ней что-то 40, в C# >74, в Java чот-то около 50

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

>Ключевых слов в ней что-то 40

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

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

Люблю компактный и наглядный синтаксис :)

Надеюсь проект не опенсорсный, а то поиск помощников будет сложнее чем поиск партнера для лица нетрадиционной ориентации ;) чтоб любили «такой» синтаксис :)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

>Надеюсь проект не опенсорсный, а то поиск помощников будет сложнее

Безусловно опенсорсный. Но как опенсорс связан с поиском помощников? :)

...

Предложи более удобный синтаксис для частного случая описания привязок полей ORM с избеганием дублирования записей? То есть я, конечно, понимаю, что Java-программерам семь копипаст - не дублирование, но нужно же и к хорошему привыкать :D

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

> Предложи более удобный синтаксис для частного случая описания привязок полей ORM с избеганием дублирования записей?

(bind-orm-field (item1 item2) («subst1» 1234))

а дальше как макрос bind-orm-field реализуешь, так он и будет работать.

JVM-based

Clojure?

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

> То есть я, конечно, понимаю, что Java-программерам семь копипаст - не дублирование,

гы-гы-гы. да, так оно и есть :-)

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