По впечатлениям:
1) Он НЕДОДЕЛАН. Использовать можно, но периодически натыкаюсь на недоделки.
2) Несмотря на это, писать на нём удобнее и приятнее, чем на Java.
3) Поддержка в IDEA — просто феноменальна для нового языка. Автокомплит, навигация, рефакторинги — работают без проблем.
3) Интероперабельность с Java — прекрасная. У меня в проекте клиентское приложение на Kotlin + SWING, серверное — на Java, общаются с помощью сериализованных Java-объектов. Всё работает без запинки.
4) Писать в чисто функциональном стиле пока нельзя — decomposer'ы не реализованы, вывод типов в fold/map'ах иногда глючит.
5) Nullable-ссылки — классная вещь. Но не полная — реально нужно расширять стандартную библиотеку Java.
Учитывая, что развитие обычной Java сдохло (Java 8 будет через полтора года с мизерными изменениями — WTF?), то Котлин — наше фсьо.
Здравствуйте, Аноним, Вы писали:
C>>то Котлин — наше фсьо. А>way? scala?
Scala не взлетела.
Sapienti sat!
Re[3]: Kotlin - статус
От:
Аноним
Дата:
26.05.12 07:50
Оценка:
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
C>>>то Котлин — наше фсьо. А>>way? scala? C>Scala не взлетела.
А по-моему, скала взлетела еще как. Просто джетбрэйнс уперлись в то, что для скалы очень тяжело сделать IDE, и решили слепить свой язык. Т.к. они достаточно популярны, то распиарить свой новый язык им не составило труда.
Здравствуйте, Аноним, Вы писали:
C>>Scala не взлетела.
А>А по-моему, скала взлетела еще как. Просто джетбрэйнс уперлись в то, что для скалы очень тяжело сделать IDE, и решили слепить свой язык.
Тяжело или нет, но сделали же, использую Idea для Scala, всё работает. В эклипсе по слухам тоже уже отличная поддержка.
Здравствуйте, Cyberax, Вы писали:
C>Сегодня написал 10000-ную строку на Котлине
C>По впечатлениям: C>1) Он НЕДОДЕЛАН. Использовать можно, но периодически натыкаюсь на недоделки.
Я по мотивам недавнего отзыва от тебя пытался перенести один closure проект на Котлин. После ряда багов в языке (не работал forEach для ArrayList в M1 релизе) как-то интерес поугас, что-то не особо хочется постоянно искать затычки и обходные пути для самых стандартных конструкций.
В общем на мой взгляд — вещь перспективная, но ну ее пока в топку, как появится 1.0 тогда и можно пробовать, а пока все же слишком рано.
Здравствуйте, A13x, Вы писали:
C>>Сегодня написал 10000-ную строку на Котлине C>>По впечатлениям: C>>1) Он НЕДОДЕЛАН. Использовать можно, но периодически натыкаюсь на недоделки. A>Я по мотивам недавнего отзыва от тебя пытался перенести один closure проект на Котлин. После ряда багов в языке (не работал forEach для ArrayList в M1 релизе) как-то интерес поугас, что-то не особо хочется постоянно искать затычки и обходные пути для самых стандартных конструкций.
Ага. Постоянно такое — я им там штук 5 багов нашёл только в управляющих конструкциях.
A>В общем на мой взгляд — вещь перспективная, но ну ее пока в топку, как появится 1.0 тогда и можно пробовать, а пока все же слишком рано.
Ну у меня там низкоприоритетный проект — я как раз для экспериментов его использую. Что-то серьёзное пока рано делать.
Здравствуйте, Аноним, Вы писали:
C>>Scala не взлетела. А>А по-моему, скала взлетела еще как.
Куда? Несмотря на аццкий PR для неё — почти ноль эффекта.
А>Просто джетбрэйнс уперлись в то, что для скалы очень тяжело сделать IDE, и решили слепить свой язык. Т.к. они достаточно популярны, то распиарить свой новый язык им не составило труда.
И правильно. Их язык, даже недоделаный, лучше Скалы.
Блин, в Скале до недавних пор тормозил банальный for-цикл раз в 5 по сравнению с аналогичным while.
Здравствуйте, Аноним, Вы писали:
C>>>>то Котлин — наше фсьо. А>>>way? scala? C>>Scala не взлетела. А>проекты делаются, комьюнити большое, библиотек море, какой взлет нужен?
Проектов немного, коммьюните не особо большое. Учитывая, что языку уже скоро 10 лет — это не взлёт.
Sapienti sat!
Re: Kotlin - статус
От:
Аноним
Дата:
26.05.12 17:12
Оценка:
на фига пиарить недоделанный язык?
нестабилизирован api, баги везде, даже внутри jetbrains пользуют его не все потому, что ещё не взлетел...
может ещё и не взлетит, или взлетит как mps — полтора клиента.
фу!
Здравствуйте, Cyberax, Вы писали:
C>По впечатлениям:
Не очень понимаю смысла этого языка. Практически все фичи, которые есть, являются просто синтаксическим сахаром. На Java можно писать в не худшем стиле, при этом будет лишь незначительно длиннее. В той же Scala есть макросы, есть оптимизация хвостовой рекурсии, есть паттерн матчинг. На нее еще имеет смысл переходить, ибо язык отличается очень значительно и он крайне мощный.
И еще одна вещь меня интересует. А какой статус у их MPS? В принципе, убойная вещь должна была быть. Причем по идее она должна была занять нишу Kotlin (то есть добавление синтаксического сахара в Java и не только), если б Kotlin качественно реализовали как просто DSL к Java, ИМХО это бы прибавила ему популярности. Не взлетела даже во внутренних проектах? Если так, то очень жаль, мне идея очень и очень понравилась.
Здравствуйте, Cyberax, Вы писали:
C>Ну у меня там низкоприоритетный проект — я как раз для экспериментов его использую. Что-то серьёзное пока рано делать.
А как же ты эти самые баги обходишь? Всякие воркараунды делаешь?
+ Еще несколько напрягает отсутствие (до сих пор, уже как полгода) поддержки maven 2. Для себя сделал небольшой костыль, но все равно неприятно.
И было бы еще любопытно узнать, когда планируется допилить язык для промышленного применения, на официальном блоге что-то не нашел, может плохо искал.
Первое. К сожалению, я не слушал доклад по Котлину на второй конференции Scala Devs. Поэтому передам мнение другого — Kotlin язык, который JetBrains делает просто для престижа и, возможно, для себя. Пускать его во внешний мир не особо планируется.
Почитайте планы по версиям языка — это мнение совпадает с ними. Точной даты выхода Kotlin никто не называется. А выкладывать в production ПО на нестабильном языке откровенная авантюра (мягко говоря).
Второй момент. В своей презентации про Котлин Андрей Бреслав делает логическую ошибку. Он говорит, что JetBrains уже делала много компиляторов (для каждого поддерживаемого языка они пишут компилятор), поэтому вроде как написать язык для них не проблема и опыта в этой сфере деятельности хватает. Но! Одно дело писать компиляторы для готовых языков, другое дело — создавать сам язык. Одерски как раз умеет создавать сам язык, поэтому Scala получилась на удивление стройной и элегантной. Взлетит Котлин или нет — посмотрим. Но Scala уже взлетела, вопрос в том, насколько высоко и не обгонит ли ее Ceylon/Kotlin.
Третий момент. У Scala есть:
а). коммьюнити;
б). стэк технологий typesafe;
в). коммерческая поддержка.
Существуют мейнстреймовые решения, написанные на Scala — Akka. Поддержка со стороны Spring Framework, myBatis и других библиотек. Все этого на данный момент у Котлин нет и не предвидится — энтузиасты перешли на Scala. А не энтузиасты ничего делать не буду. Я вижу лишь один источник коммьюинити для Kotlin — фанаты JetBrains. А таких вне Питера и этого форума не так уж и много.
Всего этого у Котлина пока нет. Есть лишь поддержка IDE . Но этого мало, тем более, IDE Scala тоже не так уж и плохи.
Если вам так уже не нравится Scala и Java, посмотри на Ceylon. У них хотя бы внятные планы по развитию продукта.
Здравствуйте, A13x, Вы писали:
A>Так он же вроде бы вполне себе развивается. A>В отличии от того же котлина есть roadmap:
Развиваться то развивается. Непонятно только, зачем они делали Котлин как отдельный язык, когда все те же фичи (и гораздо более) можно было получить средствами простой DSL к Java. Заодно отработать реальное применение и возможно заполучив довольно большое Community. Блин, был же я на конференции по Scala тогда, а вопрос задать не догадался.
Здравствуйте, elmal, Вы писали:
E>Здравствуйте, A13x, Вы писали:
A>>Так он же вроде бы вполне себе развивается. A>>В отличии от того же котлина есть roadmap: E>Развиваться то развивается. Непонятно только, зачем они делали Котлин как отдельный язык, когда все те же фичи (и гораздо более) можно было получить средствами простой DSL к Java. Заодно отработать реальное применение и возможно заполучив довольно большое Community. Блин, был же я на конференции по Scala тогда, а вопрос задать не догадался.
Кстати, а удавалось уже использовать MPS хоть в каком-либо виде? Если да — то как впечатления?
Я правильно понял, что это обобщенный фреймворк для DSL? Давно уже о нем слышу от разных людей, но все руки не доходят всерьез взяться...
Не совсем ясны границы фреймворка — насколько гибким можно сделать результирующий DSL, насколько гибкими можно написать генераторы (можно ли к примеру генерировать С-шный или яваскриптовый код) и т.п.
Ни котёл ни скалка не нужны, сколько лет уже той же скалке? Правильно много и до сих пор на ней даже веб фрэймворка ни одного ни создали, только несколько библиотек сомнительного качества, ту же самую библиотеку lift по полной опустили ниже плинтуса, и даже ниже чем это вообще может быть здесь http://www.javatalks.ru/ftopic31083-60.php, просто написав аналогичный пример на java который требует столько же кода и но при этом пригоден для верстки и сопровождения, то есть на всех этих модных говноязыках даже библиотеку трудно создать, что же касается веб фреймворков то скорее всего ни на скалке ни на котле они никогда не появяться ибо фреймворк для таких языков что-то недостижимое, пожалуй только groovy это удалось, но опять же только как паразиту на уже написанных на java Spring и Hibernate.
Здравствуйте, elmal, Вы писали:
C>>По впечатлениям: E>Не очень понимаю смысла этого языка. Практически все фичи, которые есть, являются просто синтаксическим сахаром. На Java можно писать в не худшем стиле, при этом будет лишь незначительно длиннее. В той же Scala есть макросы, есть оптимизация хвостовой рекурсии, есть паттерн матчинг. На нее еще имеет смысл переходить, ибо язык отличается очень значительно и он крайне мощный.
В Котлине будут inline-функции и оптимизация хвостовой рекурсии (пока недоделано). Есть pattern matching, причём более удобный, чем в Скале. При этом — упор на интероперабельность с Java.
А, ещё в Котлине есть настоящие generic'и.
E>И еще одна вещь меня интересует. А какой статус у их MPS? В принципе, убойная вещь должна была быть. Причем по идее она должна была занять нишу Kotlin (то есть добавление синтаксического сахара в Java и не только), если б Kotlin качественно реализовали как просто DSL к Java, ИМХО это бы прибавила ему популярности. Не взлетела даже во внутренних проектах? Если так, то очень жаль, мне идея очень и очень понравилась.
Они на MPS написали Youtrack, т.е. оно может использоваться. Но я сколько ни пытался — так и не понял с какой стороны к нему подходить.
Здравствуйте, A13x, Вы писали:
C>>Ну у меня там низкоприоритетный проект — я как раз для экспериментов его использую. Что-то серьёзное пока рано делать. A>А как же ты эти самые баги обходишь? Всякие воркараунды делаешь?
Убираю умные конструкции и заменяю рабоче-крестьянскими циклами. Если ошибка в библиотеке — просто делаю свою исправленную функцию/класс и засылаю патч им.
A>+ Еще несколько напрягает отсутствие (до сих пор, уже как полгода) поддержки maven 2. Для себя сделал небольшой костыль, но все равно неприятно.
У меня проект собирается maven'ом.
A>И было бы еще любопытно узнать, когда планируется допилить язык для промышленного применения, на официальном блоге что-то не нашел, может плохо искал.
Как только допилят В багтрекере у них 2000 багов, работы реально много. По моим прикидкам — где-то через год возможна версия 1.0.