
Жабра
26.06.2017
22:41:28
Господи, как же меня бесит IntArray и Array<Int> в Котлине... И ещё это сраное создание матрицы. Почему надо было изобретать велосипед?

Михаил
26.06.2017
22:44:07
мб потому что есть дестракчеринг и можно без многовмерного массива работать с матрицами?

Жабра
26.06.2017
22:44:46
ладно, матрицы ладно.. Но IntArray и Array<Int>...

Михаил
26.06.2017
22:45:03
ну джаве же есть ByteArray)

Google

Михаил
26.06.2017
22:45:30
попутал. нету)

jacoder
26.06.2017
22:45:33
А как вы еще предлагаете различать массивы примитивных типов?

Жабра
26.06.2017
22:47:43
Зачем вообще было делать IntArray?

Sasha
26.06.2017
22:48:38
очередное творение из silicon valley)) https://dev.to/clarifai/not-kotdog-using-computer-vision-to-detect-hot-dogs-in-kotlin

Михаил
26.06.2017
22:49:07

jacoder
26.06.2017
22:49:35
Примитивных типов мало, поэтому сделали для каждого.
Если вас больле устроит такой ответ

Adam
26.06.2017
22:49:59
так Array<Int> нормально же. Хотчется Int[] ?

Жабра
26.06.2017
22:50:27
Нет. Не хочется. Просто не понимаю зачем идёт, по сути, дубляция

Михаил
26.06.2017
22:50:42
разница в том что Array<Int> и IntArray это разные массивы
первый массив Integer , второй int

Adam
26.06.2017
22:51:03
тут много дубляции в котлин

jacoder
26.06.2017
22:51:30
Я так понимаю человеку не нравится отсутствие джавового синтаксиса)

Google

Жабра
26.06.2017
22:51:53
Нет, мне спокойно и хорошо без Джава-синтаксиса.)

Михаил
26.06.2017
22:51:53
да кому вообще массивы нужны)

Жабра
26.06.2017
22:52:06
Ну мне.)

Михаил
26.06.2017
22:52:33
единственное что печалит это arrayOf вместо какого-нить { }

Жабра
26.06.2017
22:53:07
Ну, лично мне нормально.)
Зато ясно любому, кто не особо знаком с кодом на Джава и Котлине.)

Adam
26.06.2017
22:53:30

jacoder
26.06.2017
22:53:33
{} для анонимных функций же
Да

Михаил
26.06.2017
22:53:43
ну да

jacoder
26.06.2017
22:53:55
Integer.parseInt например
Могу ошибаться, но смысл такой

Михаил
26.06.2017
22:54:49

Quantum Harmonizer
26.06.2017
22:55:31
Единственная причина, по которой и Array<Int>, и IntArray существуют, заключается в том, что это разные типы.
...и они не взаимозаменяемы и не интероперабельны.

Adam
26.06.2017
22:56:17

Quantum Harmonizer
26.06.2017
22:56:57
Зачем вам литералы для массивов? Кто-то часто использует массивы?

Adam
26.06.2017
22:57:23

Михаил
26.06.2017
22:57:41
ток для вараргов

Google

Adam
26.06.2017
22:58:07
не ты мне говорил, что числа с пл точкой тоже редко используются?

Михаил
26.06.2017
22:58:12
и то только когда этого требует сторонние либы

jacoder
26.06.2017
23:02:55

Жабра
26.06.2017
23:52:56
Я так понимаю, параметрический полиморфизм реализуется в Джаве и Котлине за счёт дженериков?

Михаил
27.06.2017
00:00:31
да

Жабра
27.06.2017
00:04:27
А полиморфизм приведения типов работает только с объектами и числами, да? Ну, типо должен прийти Int, пришёл float, и он автоматом привёл. Так?

Михаил
27.06.2017
00:05:15
в котлине надо руками приводить
toInt(), toFloat() и тд

Жабра
27.06.2017
00:07:32
Ок, тогда только с объектами? То есть должен прийти Parent, но пришёл Child, наследуемый от Parent, и он автоматом приводится к Parent. Да?

Artem
27.06.2017
01:36:15

Alexander
27.06.2017
04:44:53
Тбдж

Quantum Harmonizer
27.06.2017
08:02:48

Quantum Harmonizer
27.06.2017
08:03:25

Adam
27.06.2017
08:03:50

jacoder
27.06.2017
09:53:00
Сборка объктов же, примитивные в стек кладутся, а кучу кто чистить будет?)

Quantum Harmonizer
27.06.2017
09:56:37

jacoder
27.06.2017
09:57:49
Поому что массивы примитивных в стеке лежат, и я считаю, что они нужны.

Cargeh
27.06.2017
09:58:52
Насколько это плохой стиль использовать кучу вложенных it.use? Или лучше в var вынести, чтобы понятнее было? Там JDBC коннекшены, стейтменты и резалты
something.use {
it.use {
it.use {
}
}
}

jacoder
27.06.2017
09:59:52
Если логически можно, в функцию

Quantum Harmonizer
27.06.2017
10:00:05

Google

jacoder
27.06.2017
10:00:29
Пардон.

Quantum Harmonizer
27.06.2017
10:01:13
Можно прийти к выводу, что нужны массивы примитивов (IntArray etc), зачастую нужны списки (listOf("some object")), а вот массивы объектов не особо полезны.

Руслан
27.06.2017
10:03:01
единственное, вложенные it - бэд практис

Cargeh
27.06.2017
10:03:47

Admin
ERROR: S client not available

Cargeh
27.06.2017
10:03:52

Dmitry
27.06.2017
11:10:52
Всем привет! А подскажите пожалуйста, можно ли каким то стат анализатором обнаружить в структуре андройд приложения классы и методы, которые могут существовать как internal/private, а ты их сделал пабликом по умолчанию, потому что не досмотрел? Никто такой проверки не заводил у себя?

Umren
27.06.2017
11:23:34
Идея же постоянно подсказывает и ворнинги ставит

? animufag ?
27.06.2017
11:24:19

Dmitry
27.06.2017
11:25:04
☠️ Umren ☠️ в обратную ошибку - если ты поставишь приват метод там, где нужен паблик. Я спрашиваю об обратном - анализируешь код и тебе идея говорит - чувак, тебе тут можно приват/интернал влепить
или не? Варнинги на интернал тоже приходят?

Quantum Harmonizer
27.06.2017
11:25:43

Umren
27.06.2017
11:26:08
Всмысле нужен паблик? Если твой паблик нигде не используется то зачем тон тебе?

Igor
27.06.2017
11:26:59
или не? Варнинги на интернал тоже приходят?
Вроде нет, да и сложно это проверить будет, если проект многомодульный или вдруг у тебя либа.
Надо было как в C# по умолчанию у классов сделать видимость internal ?.
Лично я стараюсь явно ставить internal, а уже потом убираю если код не компилируется))

Dmitry
27.06.2017
11:27:38
@autechre ну если у тебя куча классов и многослойная структура, ты сразу так и не заметишь что тебе нигде не нужен метод
@angmarr тоже вариант

? animufag ?
27.06.2017
11:29:55
Почему в специальном месте?
вне поколений. по сути массивы единственный источник больших объёмов памяти и их не выгодно постоянно перемещать. поэтому обычно делают специальный загон для массивов где Mark-Sweep/Mark-Compact

Quantum Harmonizer
27.06.2017
11:30:17

? animufag ?
27.06.2017
11:31:36
gc handbook. делал бакалаврскую работу, но в общем сам сборщик так и не доделал из-за бесконечного числа багов. просто обзорная работа вышла

Google

Quantum Harmonizer
27.06.2017
11:31:55

? animufag ?
27.06.2017
11:38:52
https://github.com/chewiebug/GCViewer вот такая вот есть штука, но она как бы не подтверждает мои слова, что кроме поколений и perm есть какое то ещё место в сборщике. можно в цикле посоздавать массивы разных размеров посмотреть что происходит

Quantum Harmonizer
27.06.2017
11:39:45

jacoder
27.06.2017
11:46:43

? animufag ?
27.06.2017
11:50:37
что. да хватит. не такое уж великое дело)
вообще говоря это единственная книга, которую можно нагуглить, и она в принципе единственная по теме. дальше наверное только исходники смотреть. https://en.wikipedia.org/wiki/Jikes_RVM вот эта штука наверное более менее читаема, тк для ресерча создавалась

Михаил
27.06.2017
12:15:56
кто-то в котлине пишет так аннотации?
в одну строку

Egor
27.06.2017
12:16:22
я, а в чем проблема??

Михаил
27.06.2017
12:16:46
интересно

Egor
27.06.2017
12:16:51
вообще по началу не любил такой стиль, а сейчас - строчку экономит

Anton
27.06.2017
12:17:22
а если несколько их

Михаил
27.06.2017
12:17:24
как оказалась это рекомендованый стайл

Anton
27.06.2017
12:17:36
неудобно имхо когда несколько аннотаций

Egor
27.06.2017
12:19:59
несколько?? например??

Gregory
27.06.2017
12:20:59