@kotlin_lang

Страница 218 из 982
Жабра
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
Зачем вообще было делать IntArray?
джакодер правильно сказал

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
первый массив Integer , второй int
а в чем разница? обертка вокруг примитива?

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
Зачем вам литералы для массивов? Кто-то часто использует массивы?

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

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

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

Жабра
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
Бедный, бедный GC
Почему бедный и как это относится к литералам?

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")), а вот массивы объектов не особо полезны.

Cargeh
27.06.2017
10:03:47
Ну если по другому никак - то ок
var connection = database.connection; connection.use { ... }

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 ☠️ в обратную ошибку - если ты поставишь приват метод там, где нужен паблик. Я спрашиваю об обратном - анализируешь код и тебе идея говорит - чувак, тебе тут можно приват/интернал влепить

или не? Варнинги на интернал тоже приходят?

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

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

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

? 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
несколько?? например??
Возьми какой-нибудь Spring, где 3-4 аннотации - это норма.

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