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

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

Плюсанул если бы мог.
Спасибо, теперь могу:)
Спасибо огромное.

Но есть замечание. Очень плохое качество звука… ((
Признаем :( мероприятие некоммерческое и не удалось вложиться в качественную запись, оцифровку и монтаж.
На следующих встречах постараемся решить эту проблему.
Когда следующая встреча?
Планируем проводить их раз в пол года. Стало быть, следующая будет осенью.
О, наконец-то!:)
На сколько Kotlin готов для использования в продакшне? У меня есть желание попробовать обкатать на собственном проекте что-то отличное от Java, не динамическое и что бегает под JVM. Scala конечно хороша, но вот интеграция с Java'шными либами… те еще костыли в общем нужно вставлять. Kotlin выглядит отличной альтернативой в плане синтаксиса. Есть у кого подобный опыт?
А в чем конкретно заключается проблемма интеграции с Java'шными либами?
Может поделитесь опытом или ссылкой где об этом почитать.
В своей работе ни разу не наткнулись на какие-нибудь подобные проблеммы. Может нам просто везет пока? :)
да проблема заключается как правило в то, что это либо превращается в жетский говнокод и костыли на стыке языков либо нужно писать больше кода, что тоже не айс.

В качестве классического примера могу привести:
конвертацию Java коллекций в Scala'шные. Да, я знаю об implicit импорте, но все равно это не айс. Особенно когда они размазаные повсюду и потом ищи баги.

Помимо того добавим сюда тот факт, что на прямую мы не можем использовать Scala'шный Option и поэтому в POJO нам приходится изворачиваться и писать что-то в роде:

import java.math.{BingInteger => JBigInt}
import java.lang.{Long => JLong}

class Pojo {
   var id: JBigInt = _
   var name: String = _
   var count: JLong = _
}


вместо желаемого:
class Pojo {
 var id: Option[BigInt] = _
 var name: Option[String] = _
 var count: Option[Long] = _
}


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

Добавим тот факт, что очень часто либы возвращают null и тогда весь код обрастает таким говном, как

import java.lang.{Long => JLong}

...
val s : JLong = javalib.getSomething()
if(s!=null){
...
}


и т.д. и т.п.

В общем превращается в лишнюю боль в заднице, хотя выглядит все клево.

А писать велосипеды мне нравится, только вот это долго и не продуктивно. И вместо того, что бы сделать сервис замечаешь, что за 2 дня сделал… обертку над Java'шной либой.
p.s. не можем использовать POJO нормальный в случае того же hibernate
Ну. Видимо у всего есть цена.
Мы в основном используем нативные скалавские библиотеки (akka, squeryl, scalatra) и практически не имеем подобных проблеммы. Используем джавайский protobuf и там да, приходится заботится о конвертации коллекций, но, как вы уже сказали, имплисит спасает.

Для многих библиотек уже есть удобные скалавские обертки, а если для чего-то еще нет — это хороший повод ее сделать :). хотя бы just for fun.
Хотя с hibernate я думаю это будет не просто.
ну наверное у меня в какой-то степени еще сказывается Java головного мозга, которая мешает мне полностью отказаться от использования всего Java'шного а просто сесть и начать писать на Scala. Но пока что не получилось сесть и просто начать писать. Постоянно натыкаюсь на какие-то грабли, которы отталкивают/заставляют задуматься еще раз над тем, что может быть не все так уж и плохо у Java, хоть и развивается она более, чем консервативно :(
НЛО прилетело и опубликовало эту надпись здесь
Не совсем понял вопрос. Если просто нужны файлы с видео, можете скачать с youtube. Например, с помощью videosaver.ru/
НЛО прилетело и опубликовало эту надпись здесь
Скажите куда выложить — я выложу. Там 4 видео менее 300 МБ.
Включаете HTML5 в youtube ставите качество которое устроит, тыкаете правой кнопкой, и говорите «скачать».
Вместо включения html5 пожно пользоваться чем-то типа click-to-flash, Youtube уже некоторое время имеет fallback на html5
А расшифровок случайно нет? В первую очередь интересует доклад о Kotlin.
Нет, к сожалению.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий