
dimiii
12.06.2018
11:23:44
Котлин дал нам что-то новое в решении expression problem?

Igor
12.06.2018
11:43:59

dimiii
12.06.2018
11:46:19
Думаю стоит подождать тайп-классов
Ну хотя бы и так, хотя я надеюсь, что им удастся придумать что-то лучшее, что-то более выразительное, хотя бы чуть-чуть. Чем просто копировать достижения из начала 90х.

Google

Валерка
12.06.2018
11:49:59
Можно ли в рекурсивной функции выйти из всей рекурсии
Т.е. есть стек вызовов:
recursion() //***
recursion()
recursion()
recursionInvoker()
Можно ли из помеченного вызова сделать return сразу в recursionInvoker()?

Quantum Harmonizer
12.06.2018
11:51:39

Kirill
12.06.2018
11:51:51
Это уже не будет рекурсией тогда, по идее.

Алексей
12.06.2018
12:05:01
Throw
Оригинально, но каждый такой return будет недешево обходиться:)

1337
12.06.2018
12:05:46
рекурсия вообще недешевая

Kirill
12.06.2018
12:05:55
Почему?
Насколько я понимаю, смысл рекурсии в том чтобы пройти до дна, а потом вернуться через весь стек ко входу.

1337
12.06.2018
12:05:58
и нинужна в принципе

Алексей
12.06.2018
12:06:15

dimiii
12.06.2018
12:06:22

1337
12.06.2018
12:06:46
ну я от джавы отталкивался

Quantum Harmonizer
12.06.2018
12:06:53

1337
12.06.2018
12:06:54
там хвостовой нет

Google

Алексей
12.06.2018
12:07:23

Quantum Harmonizer
12.06.2018
12:07:32
там хвостовой нет
Хвостовая рекурсия решает чисто итеративные задачи, настоящая — рекурсивные.

1337
12.06.2018
12:08:00
числа фибоначи в проде считаете?

Kirill
12.06.2018
12:08:00

Алексей
12.06.2018
12:08:37

Quantum Harmonizer
12.06.2018
12:09:11

Алексей
12.06.2018
12:09:13
это не тот канон, о каком речь, но задача та же

1337
12.06.2018
12:12:02
а json/xml итеративно не вычисляются?
деревья это вообще вещь в себе

Алексей
12.06.2018
12:13:28

1337
12.06.2018
12:13:53
ну да, BFS тот же через очередь

Алексей
12.06.2018
12:14:03

Quantum Harmonizer
12.06.2018
12:14:33

Алексей
12.06.2018
12:14:45

1337
12.06.2018
12:15:12
рекурсия это для laba2.cpp, на проде никогда не видел чтобы из использовали, опасно же

Quantum Harmonizer
12.06.2018
12:16:32

Алексей
12.06.2018
12:17:43

Mikhail
12.06.2018
12:33:39

1337
12.06.2018
12:34:34
что регулярки?

Quantum Harmonizer
12.06.2018
12:36:56

Google

Mikhail
12.06.2018
12:44:00
Но, например, стоит задача удалить директорию. Как обойтись без рекурсии?

Руслан
12.06.2018
12:48:54

1337
12.06.2018
12:49:00
разве нет библиотечных функций?
зачем велосипеды городить за счет работодателя

Mikhail
12.06.2018
12:53:12

dimiii
12.06.2018
12:53:39
>Как обойтись без рекурсии?
корекурсия ) ,
>walkFileTree, зачем велосипеды городить
ну справедливости ради, вопрос стоял не о конкретной реализации, а о практической полезности рекурсии

Quantum Harmonizer
12.06.2018
12:53:48

dimiii
12.06.2018
12:53:59
корекурсивные

Руслан
12.06.2018
12:54:45
любая рекурсия заменяется итерацией. а раскурчивать графы через стек одно удовольствие

Quantum Harmonizer
12.06.2018
12:55:48
а, ну там есть свой стек, судя по коду :)
ну вот пропатчить ДОМ — это же рекурсивная по своей сути задача
LayoutInflater рекурсивыный, но это не показатель, потому что Android — вообще рассадник антипаттернов)

Oleg
12.06.2018
13:01:32

Quantum Harmonizer
12.06.2018
13:02:20

Alexander
12.06.2018
14:42:32
То же самое можно сказать про любую крупную систему
Обычно эти антипаттерны появдяются как рав в процессе поиска граблей в этих крупнух системах

Egor
12.06.2018
14:44:32
Нууу, нет. Будем честны, ни в одной системе нет настолько плохого АПИ, как в Андроиде, взять хотя бы количество синглтонов. Да там на каждый функционал свой синглтон, а что может быть хуже неявной передачи состояния? Когда каждую фичу приходится гуглить

Anton
12.06.2018
14:51:21
окей а ты бы как спроектировал апи?)

Google

Anton
12.06.2018
14:51:22
расскажи
и что значит "каждую фичу приходится гуглить"

Quantum Harmonizer
12.06.2018
14:53:48

Egor
12.06.2018
14:56:32
Ну вот например, самое банальное - захотелось мне на активити впихнуть фрагмент. Не знай я, как это устроено, я бы подумал, что за подобный функционал отвечает сама активити, но нет - мне нужно расчехлить FragmentManager, а откуда я это узнаю, кроме как из гугла? Самодокументируемый код - пффф. И то же самое про LayoutInflater и SharedPreferences, и если я подумаю, я вспомню ещё.

Quantum Harmonizer
12.06.2018
14:57:17
SharedPreferences, Bundle, Intent и прочие гетерогенные мапы в статических языках — фуфуфу

Sergey
12.06.2018
14:57:20
расскажи
Вот ненадо, в архитектурном чате уже занимались этим ? это был испанский стыд )

Quantum Harmonizer
12.06.2018
14:57:25
кстати, -> @pofftop

Egor
12.06.2018
14:57:31
Ну и я вообще молчу про то, что вы ВЫНУЖДЕНЫ юзать IDE, потому что вручную дописывать циферки в R - это, извините, выше человеческих сил

Quantum Harmonizer
12.06.2018
14:57:43

dimiii
12.06.2018
14:57:50

Anton
12.06.2018
14:58:39

Sergey
12.06.2018
14:58:48

Egor
12.06.2018
15:01:25

Anton
12.06.2018
15:02:21
пропертис? что за префсы в джаве?

Egor
12.06.2018
15:03:10

Quantum Harmonizer
12.06.2018
15:03:25

Anton
12.06.2018
15:03:41
спс

Vladimir
12.06.2018
15:09:05

Egor
12.06.2018
15:12:09
Да ладно, не так уж оно плохо, юзать можно ?

Vladimir
12.06.2018
15:13:56

Google

Quantum Harmonizer
12.06.2018
15:14:57

Alexander
12.06.2018
15:15:10
С чем сравнивать. В Андроиде полно очень клевых решений. Есть и неудачные, но кто же знал, что они будут неудачными, когда их делали... Это беда любого успешного проекта, даже самого языка Java. Как только что-то становится успешным и становится очень много пользователей, обратная совместимость не дает возможности исправить косяки.

Quantum Harmonizer
12.06.2018
15:15:28

Alexander
12.06.2018
15:17:17
Наследование контекстов

Quantum Harmonizer
12.06.2018
15:18:36

Alexander
12.06.2018
15:18:56
Я на андроиде в последний раз писал года три назад, там все уже начало сыпаться под своим весом, но вообще платформа на меня произвела очень хорошее впечатление.

Quantum Harmonizer
12.06.2018
15:19:52