@kotlin_lang

Страница 567 из 982
Quantum Harmonizer
01.03.2018
19:55:15
это вообще я дописал, если не ошибаюсь, ибо достали этим вопросом)

Nameless
01.03.2018
19:55:44
Artem
01.03.2018
19:55:50
Ну тогда в общем-то вопрос исчерпан. Спасибо

Quantum Harmonizer
01.03.2018
19:55:51
Google
Nameless
01.03.2018
19:56:13
я извращенец - я хочу что бы новый инстанс создался этого синглотона а старый умер

в плейн синглотоне это изи

instance = null и поехали, при след обращении новый создатся

Quantum Harmonizer
01.03.2018
19:57:13
бред, тебе здесь не нужен синглтон

Like
01.03.2018
19:57:17
а эта точна синглтон?

Nameless
01.03.2018
19:57:28
мутировавший слегка

Quantum Harmonizer
01.03.2018
19:57:41
в плейн синглотоне это изи
plain singleton — это у которого private static final INSTANCE, его не сбросить.

Nameless
01.03.2018
19:57:49
Стоп. А чем плоха ленивая инициализация синглтона?
программист становится ленивым и мало фич делает

Quantum Harmonizer
01.03.2018
19:57:54
Стоп. А чем плоха ленивая инициализация синглтона?
Ленивая инициализация замечательна, но неуместна здесь.

Artem
01.03.2018
19:58:14
Nameless
01.03.2018
19:58:19
plain singleton — это у которого private static final INSTANCE, его не сбросить.
ну я скорее про private static instance который создается при первом обращении (ленивый)

Google
Nameless
01.03.2018
19:59:08
Quantum Harmonizer
01.03.2018
19:59:14
переключаем на котлин и мотаем вниз http://javanese.online/%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F/%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BD%D1%8B%D0%B5_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B/singleton/

Artem
01.03.2018
20:00:30
Это значит, что «ручная» ленивая инициализация синглтона бесполезна. Спасибо, понял

Quantum Harmonizer
01.03.2018
20:01:43
Artem
01.03.2018
20:01:52
Этот человек и есть @Harmonizr вроде бы)

Nameless
01.03.2018
20:01:57
> У синглтона нет ни зависимостей, ни состояния, в противном случае он не должен быть синглтоном. Ленивую и безопасную инициализацию обеспечивает загрузчик классов. вот зачем нужен синглтон без состояния это вообще вопрос

Nameless
01.03.2018
20:02:35
да и зачем нужен синглтон если нельзя сбросить его состояние уничтожением инстанса?

проще статик методов накидать

что кстати котлин активно пропагандирует

если не ошибаюсь офк

Nameless
01.03.2018
20:03:28
ну в котлине же можно писать методы без класса? я не ошибаюсь?

а они и являются аналогами статик методов из джавы

Quantum Harmonizer
01.03.2018
20:03:57
а, это да

Nameless
01.03.2018
20:04:19
конечно могу ошибаться, на котлине полтора года не пишу

Anton
01.03.2018
20:04:26
чет я не заметил что котлин это активно пропагандирует))

Nameless
01.03.2018
20:04:37
ну вот таки да, котлин сложный и многогранный язык

Google
Nameless
01.03.2018
20:04:41
куда сложнее джавки

Anton
01.03.2018
20:04:50
уу щас начнется

Nameless
01.03.2018
20:04:54
ну выразительнее и тд если вам угодно

ну не сейчас 11 вечера, я так конечно накинул, но надеюсь народ спит

Anton
01.03.2018
20:05:33
а чем сложнее джавки?

Nameless
01.03.2018
20:05:53
синтаксис сложнее, семантик разных гораздо больше, очевидно же

Anton
01.03.2018
20:06:10
синтаксиси наоборот проще по моему)

удобнее

Nameless
01.03.2018
20:06:20
о неет, это заблуждение

удобнее - это один критерий, который не особо коррелирует с простотой

Anton
01.03.2018
20:07:12
ну что например сложнее синтаксически

Nameless
01.03.2018
20:07:25
к примеру ифы

Anton
01.03.2018
20:07:32
а че с ними?)

мы может на разных котлинах пишем))

Nameless
01.03.2018
20:07:56
они возвращают значение, с if else какие то нюансы есть

уже сейчас не помню

Anton
01.03.2018
20:08:23
ну я бы не сказал что это как то на сложность влияет) наоборот сразу асайнить можно)

Nameless
01.03.2018
20:08:38
ну ок, всякие безумные ключевые слова вроде crossinline suspend и т.д.

Quantum Harmonizer
01.03.2018
20:08:40
синтакчисески котлин действительно многообразнее, больше мест, где молодец сделает выразительный код, а быдлокодер — лапшу

та же перегрузка операторов, за которую некоторые хейтят плюсы и скалу

Google
Anton
01.03.2018
20:09:20
ну суспенд простая штука а кроссинлайн я если честно и не юзал ниразу

Nameless
01.03.2018
20:12:55


Artem
01.03.2018
20:13:09
А правильно ли заменить это: if (allowedNotifications != null) { for (a in allowedNotifications!!.indices) { if (allowedNotifications!![a] == id) { allowDuringAnimation = true break } } } на это: allowedNotifications?.run { this.indices .asSequence() .find { this[it] == id } ?.run { allowDuringAnimation = true } }

ой, табы поехали

Artem
01.03.2018
20:14:22
Александр
01.03.2018
20:14:43
Нормальный скример

Admin
ERROR: S client not available

Nameless
01.03.2018
20:15:05
правильно узнал
ну так не надо его мучать, он и так хорошо работает : )

Artem
01.03.2018
20:16:10
мучить-не мучить пофиг. Мне интересно норм ли написать так, как я написал)

Nameless
01.03.2018
20:16:18
и надо понимать что работа оригинальная работа с массивами по индексу будет быстрее работать чем сахар из котлина (вопрос на сколько, оставляю открытым)

Artem
01.03.2018
20:18:50
Действительно, может и так. Лучше оставлю первый вариант

Nameless
01.03.2018
20:19:19
А ассемблерная вставка еще быстрее.
на котлине можно ассемблерные вставки делать на уровне приложения?

Google
Nameless
01.03.2018
20:19:28
тогда было бы быстрее

Gleb
01.03.2018
20:20:19
С через JNI можно

Kirill
01.03.2018
20:20:21
не
тебе как минимум надо убрать this. asSequence вроде лишний и вообще переписать надо

Quantum Harmonizer
01.03.2018
20:20:48
на котлине можно ассемблерные вставки делать на уровне приложения?
на JVM это не имеет смысла по целому ряду причин

Artem
01.03.2018
20:20:49
Смысла особого вообще нет переписывать иначе, как я подумал

Nameless
01.03.2018
20:21:21
на JVM это не имеет смысла по целому ряду причин
я понимаю, я ответил на троллирование, троллированием

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

Artem
01.03.2018
20:21:56
Хм, а почему !==? if (Thread.currentThread() !== App.applicationHandler.looper.thread) чет такое впервые встретил в котлине((( напомнило жс

Kirill
01.03.2018
20:22:20
reference equality

аналог == в джаве

Artem
01.03.2018
20:22:46
а != просто equals?

Nameless
01.03.2018
20:23:08
надо в котлин макросы завести, ух тогда заживем

а != просто equals?
!equals(...) что то такое

Artem
01.03.2018
20:23:57
Quantum Harmonizer
01.03.2018
20:24:04
надо в котлин макросы завести, ух тогда заживем
не надо, inline-функции отлично справляются

Artem
01.03.2018
20:24:42
reference equality
=== and !== (identity checks)

Nameless
01.03.2018
20:24:47
не надо, inline-функции отлично справляются
они досих-пор ломают дебаг? в плане хождения по оператаром и стектрейсам?

Nameless
01.03.2018
20:25:05
нет
радует

еще вопрос: когда мы сможем написать на kotlin native библиотечку, в которую сможем удобно обращаться из iOS\Android ?

Kirill
01.03.2018
20:26:11
скоро (с)

Страница 567 из 982