LINUX.ORG.RU

Во-первых, не нужно. Есть Groovy/Scala/Clojure/JRuby и так далее.

Во-вторых, называть свои продукты на букву «K» — дурной тон, ибо возникают ассоциации с KDE.

CARS ★★★★ ()

Reified generics!!!

Ололо. Я думаю, они еще и превосходную поддержку запилят. Будет интересно.

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

как будто на scala нельзя написать ни одного скрипта без использования Existential types. с каких пор это showstopper?

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

Видимо, есть достаточно много товарищей, кому жабы мало, а скалы слишком много.

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

>Во-первых, не нужно.

Плюсую.

>Во-вторых, называть свои продукты на букву «K» — дурной тон, ибо возникают ассоциации с KDE.

Минусую: Project Kotlin was born in Saint Petersburg, Russia, where one of the main JetBrains' development offices is located. Kotlin is the name of an island situated nearby Saint Petersburg, in the Gulf of Finland, with a beautiful town of Kronstadt build upon the island.

P.S. Остров Котлин.

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

> What Kotlin has that Scala has not

Automatic casts


Какой-то недо-pattern matching

Static extension functions


Достигается неявными преобразованиями. Да и вообще сомнительная фича

Inline functions


Забота компилятора, я об этом вообще думать не должен

String templates


Наглая ложь. Есть это в Scala. «Hello, %s!».format(«world»)

First-class delegation


Опять же достигается неявными преобразованиями.

Modules


Есть packages, objects и package objects

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

теперь понятно, почему так преуспела конторка iBM -)

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

для меня тоже лучше.

+

Inline functions

Забота компилятора, я об этом вообще думать не должен


любители high performance и high load смотрят на тебя с негодованием!

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

>На JVM? Но как?

Ничего сложного тут нет.

if (l is CoolList<String>)

компилится в что-то вроде

if (l instanceOf List && l.$typeinfo.parameter[0].isClass(String.class)) ....

естественно с теми кто это $typeinfo не вкомпилил халявы не будет.

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

>Хоть синтаксис вменяемый, и то радует.

class object : A(1)

private var a = 1
get() {
return 5
}

?

сомнительно.

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

На алгебраические типы смотреть нельзя без содрогания, по сравнениию с «аналогами». Деконструкторы ихние..... Они даже Maybe не осилели.

У меня есть подозрения что сами они скалу знают по туториалам окторые начали читать уже после того как их собственный «индустриальный» язык был наполовину готов - потому и выглядят штуки которые они там вычитали как будто их скотчем примотали.

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

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

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

а - это у них аннотации - ну тогда не все так плохо.

r ★★★★★ ()

Extension functions это хорошо. Анонимные функции + extentions рулят.
Хотя сделали бы уж C# для Java и не мучились. Даже без LINQ

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

На алгебраические типы смотреть нельзя без содрогания

а что с ними не так

просто я не асилил, tl;dr

вроде обычные типы с автобоксингом?

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

Перегрузка операторов страшна для поддержки, так как приходится держать весь контекст перегрузки в голове. А поддержка — это не разработчик — за всем уследить не может по причине заметно меньшего количества мозговых извилин.

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

Проверяемые исключения важны для контрактного программирования, чтобы не возникало необходимости читать сорцы/декомпилённые/, когда берётся код из другого источника в блобах без/с минимумом документации.

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

>есть какой-нибудь годный ман, «как написать свой язык для JVM»?
конечно нет.
из свободного есть PRE/TGE которое нацелено на Parrot

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

важны для контрактного программирования,

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

Ей богу, лучше бы в javaдоках писали какие исключения могут броситься, а умные IDE делали соответствующие проверки и *предупреждали*.

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

> конечно нет.

почему? т.е., почему «конечно»?

из свободного есть PRE/TGE которое нацелено на Parrot


Чото не гуглится. Есть ссыль?

TGE - это случаем не генератор парсеров?

С тем же успехом можно юзать антлр или буст, но цимес-то не в этом

цимес в прямом формировании жава-байткода

погуглил, ничего круче Cafebabe не нагуглилось :( Т.е. сгенерить дерево, а потом перегнать кофием в байткод

интересно было бы именно гид по формированию байткода

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

блин. ну зачем же себе так ногу отстреливать

namezys ★★★★ ()

Надо их засудить. Котлин это остров на котором Кронштадт находится. Это НАШЕ!

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

цимес в прямом формировании жава-байткода

интересно было бы именно гид по формированию байткода

ASM смотрел?

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

>ASM смотрел?

+100500, и у него же в build.properties ещё куча аналогичного (и не очень) софта

А вообще доки по JVM почти достаточно...

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

есть какой-нибудь годный ман, «как написать свой язык для JVM»?


Компилируй в байткод хоть бейсик. По байткоду докоф всяких хоть завались.

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

>почему? т.е., почему «конечно»?
Иначе языков было-бы больше :)

Чото не гуглится. Есть ссыль?

http://en.wikipedia.org/wiki/Parrot_virtual_machine#Compiler_tools
http://parrot.org/
http://docs.parrot.org/parrot/devel/html/docs/book/pct/ch03_compiler_tools.po...

кратко: http://www.lohutok.net/talks/compiler_tools.pdf

grim ★★☆☆ ()

Зачем нужна недоскала? Тут куча людей джаву не может осилить, а те, кто осилил и хотят большего, они и скалу вполне осилят.

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

> любители high performance и high load смотрят на тебя с негодованием!

Это всё и без инлайнов вполне себе пишется.

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