
Alexey
14.06.2018
21:43:52
а можно пример костылей?

Volodymyr
14.06.2018
21:43:53
Ок, понял. В принципе, я к этому и был склонен. Спасибо.

eugene
14.06.2018
21:43:56
по поводу нюансов платформы, то это надо тогда ещё отдельно платформу наверно изучать?

Google

Alexander
14.06.2018
21:46:07
почему нет? а официальная документация?
Ну поэтому вопрос, что человек уже знает. Если ничего - по доке учиться сложно.
Если что-то знает - можно по kotlin koans и доке, но есть шанс подорваться на нюансах платформы java. Наверное небольшой (не пробовал), но есть.

German
14.06.2018
21:47:01
Я плюсую к проблеме
Вот тоже начал учить котлин
Но раньше писал на шарпе и есть опыт джавы

Volodymyr
14.06.2018
21:48:18
Просто, очень много знакомых Андроид девов именно переходят с Джавы на Котлин. А вот что бы кто- то сказал или написал, что начал изучать или изучал Котлин сразу без опыта в других языках - вообще ни одного. Потому стало интересно.

eugene
14.06.2018
21:49:10

Volodymyr
14.06.2018
21:49:47
Ну, а сейчас же начало второй половины 2018года
Пиндос... 2018...

eugene
14.06.2018
21:51:03

Ilya
14.06.2018
21:51:15
android сам написан на java и банально для того, чтобы посмотреть сорцы чего угодно, нужно ее знать. Ну никак без нее, глупо обсуждать вообще

German
14.06.2018
21:51:45
Мне кажется джава отойдет на второй план перед котлином в будущем

eugene
14.06.2018
21:52:19

Volodymyr
14.06.2018
21:52:19
Возможно глупо обсуждать знающим, а не знающим - нет)))

Google

Ilya
14.06.2018
21:52:27
гугл не станет никогда рефакторить андроид на котлин)
отойдет, но всегда останется

German
14.06.2018
21:53:26
На Фортране тоже есть проекты)

eugene
14.06.2018
21:53:51
на этой странице: https://developer.android.com/reference/ сказано: Developing with Kotlin?
Check out the Kotlin reference

German
14.06.2018
21:56:12
А тут все учат котлин ради андроид?

eugene
14.06.2018
21:56:50

German
14.06.2018
21:57:18
Я просто вижу применение в создании кросс-десктоп
Веб не особо кажется пойдет

Alexander
14.06.2018
21:58:41

eugene
14.06.2018
21:58:42

Quantum Harmonizer
14.06.2018
21:59:25

German
14.06.2018
22:00:07
Кроссплатформенный десктоп приложения

eugene
14.06.2018
22:00:54

German
14.06.2018
22:01:12
Зачем натив?

eugene
14.06.2018
22:01:31

German
14.06.2018
22:01:35
Можно jar десктоп запилить
И запускать везде

Quantum Harmonizer
14.06.2018
22:16:00

1337
14.06.2018
22:45:40
десктоп электрон же

Google

Quantum Harmonizer
14.06.2018
22:46:07
Электрон не нужен, пока есть браузер

Egor
14.06.2018
23:19:04
Поток от этого блокироваться не перестанет, если, конечно, речь не о корутинках. Но делать while(true) { wotk(); sleep(весомый отрезок времени) } -- так себе идея, если в системе есть планировщик. Ибо корутинки всё ещё будут жить на потоках аппы, которые ведром могут оказаться прибиты, а планировщик переподнимет аппу, чтобы выполнить код, даже если та мертва. Ну и плюс планировщик в курсе об энергосбережении, что плюс для юзера.
Минуточку, а причём здесь поток? Речь шла во-первых о переполнении стека вызовов, а во-вторых - разве Handler все делает в основном потоке?

Andrew
15.06.2018
05:11:40

Geronimo
15.06.2018
05:41:07
Спят админы видимо?

Artyom
15.06.2018
05:42:38
@Harmonizr

Андрей
15.06.2018
08:14:30
сорян, но опять вопрос про tailrec
есть примерно такое
tailrec fun recursion2(a:Int):Int = if (a==1) 1 else a* recursion2(a-1)
пишет recursive call is not a tail call
окей, как это переписать, чтоб был tail call?

1337
15.06.2018
08:15:47
рекурсию вообще надо удалить из языка, это пережиток уровня goto

Жабра
15.06.2018
08:16:10

Konstantine
15.06.2018
08:16:16

Anna
15.06.2018
08:16:32

1337
15.06.2018
08:16:39

Жабра
15.06.2018
08:17:28
зачем?
Потому что рекурсия используется в фп

Андрей
15.06.2018
08:17:29

Anna
15.06.2018
08:17:44
tailrec fun recursion2(a:Int, acc:Int):Int = if (a==1) acc else recursion2(a-1, a*acc)
как-то так

Андрей
15.06.2018
08:18:20

Google

Konstantine
15.06.2018
08:18:30

Андрей
15.06.2018
08:18:31

1337
15.06.2018
08:18:44
ну goto тоже в ооп использовался, тем не менее люди, использующие его в проде кроме как клоунами не назваются

Жабра
15.06.2018
08:18:47

Алексей
15.06.2018
08:18:50

Андрей
15.06.2018
08:18:57

1337
15.06.2018
08:19:25

Konstantine
15.06.2018
08:19:31

Алексей
15.06.2018
08:19:53
Обсуждали же уже

Андрей
15.06.2018
08:19:55
обоснуй ©

1337
15.06.2018
08:20:21
тому що bigО

Алексей
15.06.2018
08:20:27

Konstantine
15.06.2018
08:20:28
почему?
Слишком жирная задача для рекурсии

Алексей
15.06.2018
08:20:42
особенно с учетом большого стэка до тебя в продакшне

1337
15.06.2018
08:21:00
это детект студента второгоо курса

Алексей
15.06.2018
08:21:16
Другой вопрос, что существуют операции, которые действительно проще и правильнее делать через рекурсию

1337
15.06.2018
08:21:21
(решение дерева с рекурсией)

Алексей
15.06.2018
08:21:33
Рекурсивный обход объекта, например (и нет, речь не о деревьях)

Google

Andrey
15.06.2018
08:21:40

1337
15.06.2018
08:22:36

Андрей
15.06.2018
08:22:39

1337
15.06.2018
08:22:55
можно стековерфлоу вызывать когда вздумается
код же копипастится

Aleksandr
15.06.2018
08:23:46
если конечно это не ast и компиляторы

1337
15.06.2018
08:24:03

Aleksandr
15.06.2018
08:24:19
сколько десятилетий назад?

Андрей
15.06.2018
08:24:25
обычно уровней вложенности не очень много

Алексей
15.06.2018
08:24:50
отличная дырка в security
Например, объект:
SomeClass(
…
val someChild: List<SomeClass> = emptyList()
)
Как проще будет реализовать рекурсивный обход если вы знаете, что вложенностей не может быть больше 5-6?:)
По уровням, не по количеству

1337
15.06.2018
08:25:06

Konstantine
15.06.2018
08:25:37
Я андроидовские бандлы проходил рекурсией.
Вроде все живы.

1337
15.06.2018
08:25:56
потом такие выебщики мучают нормальных людей всякими рекурсиями на собесах

Алексей
15.06.2018
08:26:03