Вы не в церкви, вас не обманут
Dec. 27th, 2018 11:25 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)

Священник Андрей Крашенинников удивил прихожан необычными просьбами, как только прибыл на служение в город Болотное Новосибирской области. Он попросил денег, чтобы перевести туда свою семью, затем – детскую кроватку, коляску, холодильник, плиту и, наконец, – автомобиль и курсы вождения. Поведение священнослужителя осудили как прихожане, так и епархия. В епархии пообещали провести дисциплинарную проверку.
https://echo.msk.ru/blog/statia_iz_regiona/2341353-echo/
no subject
Date: 2018-12-27 08:46 pm (UTC)no subject
Date: 2018-12-27 08:48 pm (UTC)no subject
Date: 2018-12-27 10:30 pm (UTC)no subject
Date: 2018-12-27 11:19 pm (UTC)> Да уже хер знает, что правильно использовать: насрали десяток несовместимых друг с другом инструментов
Меньше обращать внимание на этих энтузиастов. С тех пор как появились virtual environments, вообще нихуя больше не надо. Запилю хоть 100500 environments, если будет надо. Блядь, ну цена 1GB disk space нынче - это ниачем, меньше чем цена за час работы говнокодера. У нас хуйзнает сколько legacy code (моего и не моего), который все еще нужен и продолжает работать, но никто его уже переделывать не будет - нет
сырья и кадроввремени на это. Да, на Python27 еще. И некоторые хуйни, блядь, на бляцком Twisted. Блядь, как я ненавижу ебаный Twisted и ебаных кумаров, его создателей. Как же хорошо, блядь, что Twisted больше не нужен.no subject
Date: 2018-12-28 06:00 am (UTC)no subject
Date: 2018-12-28 12:15 pm (UTC)примерно с момента asyncio, да
no subject
Date: 2018-12-28 08:56 am (UTC)Напомнило анекдот:
- В темном переулке пять здоровенных негров насилуют девушку. Как ее спасти?
- Бросить им баскетбольный мячик.
no subject
Date: 2018-12-28 12:15 pm (UTC)Если бы он про руби или перл спросил, было бы так же?
no subject
Date: 2018-12-28 12:30 pm (UTC)no subject
Date: 2018-12-28 12:47 pm (UTC)>иногда
мне казалось что ты программер же, не?
no subject
Date: 2018-12-28 12:54 pm (UTC)(блядь, как я его ненавижу!)
no subject
Date: 2018-12-28 12:57 pm (UTC)no subject
Date: 2018-12-28 01:02 pm (UTC)no subject
Date: 2018-12-28 01:16 pm (UTC)Вот с ходу
* nullable типы (как Maybe) если где-то может быть null, то компилятор заставит тебя это проверить и не будет NPE
fun getUser(): User? {} //возвращает null или User
val user = getUser() //вывод типов, кстати
user.getName() // не скомпилируется, так как может быть NPE
if (user != null) {
user.getName() //так скомпилируется
}
и еще
val foo = getSomething()
if (foo is Apple) {
foo.insertWorm() //компилятор уже знает что тут foo это Apple
}
паттерн матчинг
val result = getResult()
when(result) {
is Ok -> {тут компилятор знает что result это ok}
is Fail -> ...
}
Причем если использовать sealed классы или енумы, то компилятор заставит тебя проверить все варианты)
Есть датаклассы
data class User(val name:String)
Вот тебе класс с конструктором, геттером, hashCode и equals.
Есть делегирование.
class ServiceProxy(realSerivce: Service): Serivce by realService {
override fun someFun() {///}
}
Тут ServiceProxy параметризируется экземпляром Service и автоматом делегирует в него все вызовы кроме тех что явно override .
Есть корутины для async/await, чтобы писать асинхронный код без лапши.
Есть extendion methods, чтобы расширять классы.
Есть топ левел функции.
В стримах джавовых фильтровать по типу нельзя, а в котлине можно
val people = objects.filterIsInstance().filter {it.age > 18}.toList()
// people это лист совершеннолетних Human
Все по умолчанию закрыто и readonly, что правильно.
Ну и дофига всего по мелочи (пропертис например).
Можешь пройти kotlin koans: https://play.kotlinlang.org/koans/overview , обычно этого достаточно чтобы понять в чем фишка)))
no subject
Date: 2018-12-28 01:28 pm (UTC)no subject
Date: 2018-12-28 03:31 pm (UTC)даже экзамплы из скалы. тьфу, блеать
no subject
Date: 2018-12-28 03:34 pm (UTC)а если у тебя мамкины программисты (а 90% из них мамкины) то придется терпеть императивщину;)