Как стать автором
Обновить

Комментарии 52

Я не верю в будущее Kotlin'а
Часто слышу про будущее котлина, и не понимаю, что имеют ввиду. Котлин не заменит джаву, конечно, но как удобный и совместимый с джавой язык он будет жить и развиваться, как, например, груви. И люди, которых не устраивает джава как язык, будут иметь альтернативу. Думаю, всё у JetBrains получится — они делают отличные продукты, уверен, что и котлин получится не хуже.
Поздновато просто. Года 3 бы назад…
… как раз когда вышла Scala 2.8, а твиттер уже использовал 2.7, когда Clojure уже было 3 года, Groovy — 7 лет и так далее.

Ни чего не изменилось с тех пор особо. Разве что Java8 успеет раньше релиза Kotlin, но лямбды — не единственный плюс «альтернативных» языков.
Просто альтернатив очень много уже.
Вы так говорите, как будто это что-то плохое.
10 плохих альтернатив хуже, чем одна хорошая. JetBrains сейчас строят велосипед вместо того, чтобы вкладывать усилия в уже существующий язык с 12-летней историей.
Обычно хуже, да. Но как вы оценили «плохость» этих альтернатив? Скала безусловно хороший инструмент, но как и любое решение не подходит для всех случаев и предпочтений.
Покажите, ради интереса, хоть одну нишу или задачу, где Kotlin был бы предпочтительнее, чем Scala?
Например, разработка большой командой, где найти столько scala-программистов просто невозможно, а скорее всего и нет смысла. А достаточно простого языка, где имея приличные гайдлайны мог бы работать любой толковый «пхп-программист».
Сложность scala — это какой-то странный миф. Ни кто же не предлагает сразу писать как на Haskell.

Отличие между scala и kotlin по «фичам» лежит во многом в той области, которую рядовой разработчик в явном виде применять не должен.
Ни кто же не предлагает сразу писать как на Haskell

Может найтись человек в команде, который будет писать хардкорный FP-код на Скале. Тогда другим так или иначе придётся учить Скалу по полной, чтобы как-то понимать, что написано.
Если запретить подключать к проекту scalaz, shapeless и тому подобные вкусности, то ни чего жутко страшного такой человек не напишет.

Высокоуровневый FP-код можно и на котлине писать.
В любом случае Скала не за 2 дня учится. Kotlin можно осилить за 2 дня. Скалу — нет.
За 2 дня программировать не научиться. Даже просто концепции ФП (которые есть в котлине) не освоить.

Что касается скалы, то Programming in Scala я где-то за выходные и освоил, после чего мог программировать. Через пару недель уже помогал людям на stackoverflow. Но я-то был знаком с C# и LINQ.

Мне котлин на базовом уровне не показался сильно проще: он ни чуть не менее нагружен синтаксическими конструкциями.

Да, в скале есть куда углубляться, но люди вполне на ней пишут, не зная как работает `CanBuildFrom`.
Programming in Scala за выходные? 800 страниц?
Первую версию, она поменьше.

И не полностью: без Combinator Parsing и далее (не самая нужная на первое время часть). Также я к тому времени знал, что в первой части устаревшее описание коллекций, так что их тоже пропустил, прочитав про них в другом месте (скорее всего на docs.scala-lang.org/).

Это где-то 400 страниц + описание коллекций.

800 за 2 дня тоже не кажется чем-то невероятным.
Не знаю, как вы там книги по программированию читаете, по диагонали скорее всего, не вникая в суть каждой строчки. Лично я пытаюсь полученные знания усвоить. У меня параллельно открыта среда разработки, в которой я играюсь с вещами, о которых только что прочитал.
Много раз слышал о таком. У меня так не получается. Мне проще сначала прочитать полный курс полностью как художественную литературу, а потом уже приступить к применению знаний, попутно находя ответы на возникающие вопросы, но уже в других источниках. Иначе очень трудно себя загонять в рамки только того, что уже прочитал.

При чтении Programming in Scala у меня, кстати, тоже был открыт REPL на случай непонятных моментов, но им я мало пользовался.
Хорошо. Я соглашусь, что можно за 2 дня освоить основы Скалы, но только если до этого был опыт с ФП-языками типа Haskell или Clojure.
Если в наличии есть только «толковые пхп-программисты», то я бы такой проект и делал на php, используя skillset людей по назначению.

Я с трудом себе представляю проект такого размера, чтобы переобучение большой команды php-программистов (даже не java) и дальнейшее написание и поддержание было бы сколько-то экономически оправдано.
Люди, которых не устраивала Java-как-язык, уже 10 лет (формально) или года 3-4 (реально) как имеют альтернативу и ей вполне себе пользуются. У альтернативы вполне себе есть фреймворки, которые не стыдно выставлять в production, есть пул людей, которые это уже знают, имеют опыт и готовы применять за вознаграждение, есть потребности со стороны рынка, в том числе российского. Есть в конце концов курсы и сертификации, не говоря уже о натурально сотнях книжек, при большом желании — даже на русском.

Что Kotlin, что Ceylon — как были, так, в общем, и остаются карманным языком для одной организации. Ни реальной, ни даже формальной жизни как-то не видно.

С точки зрения освоения языка — у меня большие сомнения в том, что формат спортивного программирования хорошо сочетается с изучением средств разработки и будет способствовать привлечению интереса…
Я [тоже?] фанат scala, но позвольте поправить:

Потребность со стороны российского рынка ничтожно мала, что печально.
Сертификация от Codility, мягко говоря, не внушает доверия. Если подробнее: там дается одна олимпиадная задача и качество кода не учитывается. Учитывается корректность результата и производительность.

А так да, регулярно обновляющиеся фреймворки, довольно много библиотек, исчерпывающая документация и готовое помочь сообщество.
Я не фанат, я все языки программирования ненавижу одинаково :)

Потребности сложно сравнивать. Мой критерий простой — когда на рынке есть несколько сотен вакансий — то, если не иметь особенных дополнительных аппетитов, работу найти можно. В конце концов, я прямо сейчас знаю 2-3-4 команды/проекта, которые активно нанимают Scala-программистов.

Сертификация от Codility — вы про ту демку говорите или про настоящую сертификацию? Настоящая — она проводится по заданиям той компании, которая нанимает (у каждой компании, как правило, они будут разные — хотя есть и возможность выбрать из пула готовых задачек у самой Codility). Дальше все сильно зависит от злостности конкретного нанимателя — обычно это 4-5 задачек, но я слышал и о том, что некоторые загоняли в Codility по 40-50 мелких вопросов с жестким лимитом типа «5 минут на вопрос, 2 часа на все вместе». Все результаты в любом случае отсылаются работодателю, как правило, топ 5-10 все равно отсматриваются вручную и после сертификации все равно делается интервью, на котором, в том числе, обсуждаются уже и вопросы качества кода.
когда на рынке есть несколько сотен вакансий

В Питере 3 компании ищут java-программистов указывая знание scala как дополнительный плюс.

Может в Москве и получше, но Москва — это еще не вся Россия.

Я про ту, за которую они медальку дают.
Не правильно вас понял.
А я где-то написал, что это единственная альтернатива? Я написал о том, что ребята делают отличную альтернативу, которая найдет своего (пусть и немногочисленного) разработчика. А на счет скала — так это аргумент кулика одного болота: зачем нужны альтернативы, если есть суперязык, который сам себе и на карусельке покататься и на балерин посмотреть?
есть предположение, которое соблазнительно проверить практикой: на Kotlin'e можно разрабатывать быстрее, чем на Java. В формате спортивного программирования это и можно проверить. А расписание специально составлено так, чтобы желающие освоить язык имели две недели на оттачивание навыков и реализацию желания.
на олимпиаде допускается только один язык (и это — Kotlin);

Хотите проверить — допустите Kotlin и Scala.
нет, в этот раз точно не будем. Мы ж не холивара ради.
А по Scala мы проводим тренинги.
Кроме тренингов вы еще обеспечиваете лучшую из имеющихся поддержку Scala в IDE.

Все помнят, знают, ценят.

Просто по вашему комментарию могло показаться, что формат спортивного программирования был выбран для такой проверки.
В реальности альтернативы будут выглядеть не «Kotlin vs Java», а «изучить и применить Kotlin vs применить уже известную Java» — и я *сильно* сомневаюсь, что в формате спортивного программирования необходимость внезапно изучать новый язык и особенности его фреймворка даст какие-то преимущества.

Если уж сравнивать — то как минимум время «применения» и «изучения» должно быть одного порядка, т.е. разрабатываемый на Kotlin проект должен быть на несколько недель-месяцев, а быстрее-быстрее-быстрее-за-2-часа.
С удовольсткием наблюдаю за развитием Котлина. Язык неплохой, однако для его широкой популяризации необходимо, чтобы он и занял определенную практическую нишу. А для этого нужна демонстрация не самого языка, а решений реальных задач. Груви именно этим и взял — концентрация не на самом языке, а на вещах, которые при помощи него можно делать очень просто. Надо чем-то завлечь пользователей, например простотой и удобством, с одной стороны оставаясь совместимым с Java, с другой — предлагая свои, более удобные API, DSL-и и builder-ы, библиотеки, инфраструктуру и набор тулзов; плюс что-то, чего нет у других, напр. компиляция в JS. Чтобы хотелось иметь:
— STL — отчасти враппер для java API, отчасти набор полезных утилит и абстракций (Guava-like).
— Веб фреймворк (Kara — блеск!)
— ORM-библиотека. Хочется что-то вроде скаловского Squeryl.
— Простые в использовании средства работы с XML, type-safe меппинга объектов в XML (наподобие JAXB, XMLBeans, etc) и JSON, а также простая имплементация Restful и WS.
— Плагин для Eclipse!
Как раз сейчас пишу в свободное время github.com/cheptsov/Exposed :-)
Упс, от другого аккаунта запостил
Надо попросить, что ли, Kotlin на сравнялку языков добавить — мне даже стало интересно, что есть какое-то количество проектов, которые на нем пишутся…
Хорошо бы страничку со списком всех библиотек и тулов для kotlin
Плагин для Eclipse на подходе
Ты жесток. Надо было как-то помягче, что ли. :)
Пройду мимо холивара о будущем языка и скажу спасибо за организацию мероприятия, обещающего быть интересным!

> Подробное расписание — kotlin.jetbrains.org/challenge/schedule
Nice guys publish iсal. Реквестирую календарь, который можно импортировать.
Напишу немного не по теме.
Постепенно, незаметно, но на продукты данной фирмы перешли все мои знакомые, несколько компаний в которых я работал, и я сам (для домашнего использования).

Вот зачем приходить и писать: «Язык не нужен». Вы правда считаете, что отдел разработки неожиданно поймет всю бренность бытия и свалить жить на Гоа, и писать на хаскеле?

Я хочу сказать вам спасибо за ваши продукты.
И в первый день октября пожелать успехов.
Всем добра.
Добро — это хорошо. Но добро — ограниченный и плоховосполнимый ресурс. Поэтому его нужно направлять в правильное русло (Scala) и не тратить впустую.
было бы идеально, если бы JB вкладывалась в скалу, только слабо себе представляю как: использвание скалы вместо своего языка? Боюсь тогда бы качество их продуктов зависело бы от сторонней организации (Кто там скалу сейчас разрабатывает, все еще тот институт в Швейцарии?).

Если только jetbrains сделали бы партнером, включили бы в стостав основателей и т.д. (или как там это делается), чтобы они тоже могли ее разрабатывать или фиксить, тогда еще ладно. Все таки JB контора известная своим качеством в первую очередь, поэтому лишние стороннние баги им ни к чему.
Боюсь тогда бы качество их продуктов зависело бы от сторонней организации

А разве сейчас они не зависят от сторонних библиотек? Что у них там прям все библиотеки свои писанные?
речь не о либах а об языке, который они используют для написания своих продуктов. Раньше это была только жава, теперь на котлин переходят. Свой язык намного эффективней стороннего конечно.
Свой язык намного эффективней стороннего конечно

Эффективней в каком плане?
допиливают и оптимизируют язык под свои нужды, а не как этого хочет швейцарский институт )
Джаву они тоже допиливали и оптимизировали под свои нужды, а не как этого хочет Oracle?
нет конечно, но это причем здесь, вроде разговор про scala vs kotlin
— Помните, младшая сестра жаловалась, что никак не освоит Kotlin, потому что нет русской документации? Теперь все изменилось

Именно так. Я сказал ей что она дура, и пусть лучше учится гладить брюки… она послушала дельный совет и теперь ездит на Infinity!
респект минусяторам… сам уже понял что глупость написал с дискриминацией по половому признаку. Но про сестру это правда :)
Мне показалось или начало сдвинули на один день?
Есть грех, задержались немного по техническим причинам. Но сейчас уже все хорошо, можно заходить и решать задачки.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий