
Никита?❄️
07.07.2018
19:50:57
ну то есть в kotlin/js такой код возможен (вроде):
var a = 5
a = "b"
a = 7.0

Bogdan
07.07.2018
19:51:31

Никита?❄️
07.07.2018
19:51:41
такое возможно только в kotlin/js, и если такого не делать - то любая платформа возможна

Igor
07.07.2018
19:52:01

Google

Bogdan
07.07.2018
19:52:03

Quantum Harmonizer
07.07.2018
19:52:21

Bogdan
07.07.2018
19:52:22

Никита?❄️
07.07.2018
19:52:22

Sander
07.07.2018
19:52:27
если писать Kotlin Native, и юзать либы - C , C++, можно ведь скомпилить в машинный код?

Никита?❄️
07.07.2018
19:52:45

Bogdan
07.07.2018
19:53:09

Никита?❄️
07.07.2018
19:53:16

Sander
07.07.2018
19:53:17

Quantum Harmonizer
07.07.2018
19:54:05

Bogdan
07.07.2018
19:54:09
нет идеального интрумента\системы

Google

Igor
07.07.2018
19:55:07

Никита?❄️
07.07.2018
19:55:41
машинного кода не будет никогда

Boris
07.07.2018
19:55:53
Да, извините, я конечно имел ввиду, что можно на жвм запустить, на ноде нет

Sander
07.07.2018
19:56:20
компилятор байткода в машинный код

Bogdan
07.07.2018
19:56:22

Sander
07.07.2018
19:57:00
у Rustlang тоже LLVM, там бинарник на выхлопе

Bogdan
07.07.2018
19:57:19

Sander
07.07.2018
19:57:22
в golang, не помню честно - но вроде тоже

Никита?❄️
07.07.2018
19:57:32
интересно, будет ли у Unity/Unreal engine поддержка котлеты когда-нибудь

Bogdan
07.07.2018
19:58:33
JB хотят двигатся в том направлении

Sander
07.07.2018
19:58:52
JetBrains вообще молодцы

Bogdan
07.07.2018
19:58:57
имею ввиду в геймдейв

Sander
07.07.2018
19:58:58
только webstorm все равно тормозит

Quantum Harmonizer
07.07.2018
19:59:15

Bogdan
07.07.2018
19:59:32

Sander
07.07.2018
19:59:53
да мы пользуемся ) я на vscode хотел, но все его юзают и мне приходится
в общем Kotlin это круто

Google

Bogdan
07.07.2018
20:00:48

Никита?❄️
07.07.2018
20:00:52

Sander
07.07.2018
20:01:51
я его взял вначале просто потому что, не вижу норм языков на котором можно писать ООП,
пыху я бы не стал, вообще хотел убрать ее из резюме,
ну начал изучать и охренел от крутости
?

Boris
07.07.2018
20:23:37

Egor
08.07.2018
01:20:28

Quantum Harmonizer
08.07.2018
01:25:17
как бы мультипарадигменный язык :)
Но больше ООП, конечно.

Alexandr
08.07.2018
09:02:58

Alexander
08.07.2018
09:23:13
та вроде нет, только свой gc
Нет там никакого gc. LLVM просто оптимизирует код в IR и компилирует в машинное представление. В Kotlin native пока счетчик ссылок собственный.

Quantum Harmonizer
08.07.2018
09:26:30

Alexander
08.07.2018
09:26:51
конечно именно ради этого
Настройка и запусе программы под JVM на порядок проще, чем под node.js. Инструментов для тонкой настройки VM довольно мало, но я не знаю, где эта тонкая настройка вообще может быть нужна. Единственный минус в том, что JVM будет по определению резервировать больше памяти.
Я тут обнаружил, что между счетчиком ссылок и GC тоже холивар есть. Есть сторонники того и того

Quantum Harmonizer
08.07.2018
09:27:32

Alexander
08.07.2018
09:29:21
Без понятия. Я как-то попрбовал настроить и плюнул. Не понятно зачем. Я не уверен, что я прав, но JVM обычно по определению резервирует довольно много, V8 вроде по природе своей гораздо ближе к системе, так что я думаю, что к памяти оно более экономично относится... надо посмотреть

Quantum Harmonizer
08.07.2018
09:31:44
Я просто локально гоняю веб-сервис на девятке с -Xss180K -Xms16M -Xmx32M. Но сколько жрёт по факту — не в курсе.

Alexander
08.07.2018
09:35:20
Тут есть два пункта: память на тред и память на объекты в треде. По первому пункту ява всегда проигрывала однотредной ноде, но это лечится корутинами. А вот тот факт, что объекты в яве спроектированы так, чтобы не экономить память, не лечится.
Правда сейчас вроде в десятке оптимизированные строки, это может очень сильно все урезать

Quantum Harmonizer
08.07.2018
09:35:57
по первому пункту нода вынуждена стартовать по отдельной VM на поток :)

Google

Alexander
08.07.2018
09:38:31
Ну если вы посмотрите на обычные структуры данных в яве и то, как они работают, видно, что если заморочиться, то можно сделать экономнее. Многие плюсоиды так и делают, что я считаю довольно глупым занятием. Плюс отсутсвие ручного управления памятю гарантирует, что общая аллоцированная память будет всегда сильно больше, чем общая использованная, от чего у тех же плюсоидов припадок начинается.
Правда в JS тот же самый GC, так что и проблемы должны быть те же самые.

Va
08.07.2018
09:40:01

Bogdan
08.07.2018
09:40:10

Quantum Harmonizer
08.07.2018
09:40:25
Ну если вы посмотрите на обычные структуры данных в яве и то, как они работают, видно, что если заморочиться, то можно сделать экономнее. Многие плюсоиды так и делают, что я считаю довольно глупым занятием. Плюс отсутсвие ручного управления памятю гарантирует, что общая аллоцированная память будет всегда сильно больше, чем общая использованная, от чего у тех же плюсоидов припадок начинается.
> обычные структуры данных в яве и то, как они работают
ну HashMap — да, а ArrayList вроде норм. главное всякие Linked* не использовать.
> гарантирует, что общая аллоцированная память будет всегда сильно больше
Не гарантирует, сборщик мусора не дремлет

Alexander
08.07.2018
09:41:34

Bogdan
08.07.2018
09:43:56

eugene
08.07.2018
09:44:06

Quantum Harmonizer
08.07.2018
09:44:58

Alexander
08.07.2018
09:44:59

eugene
08.07.2018
09:45:27

Quantum Harmonizer
08.07.2018
09:45:28

Alexander
08.07.2018
09:46:09

Quantum Harmonizer
08.07.2018
09:46:17
я имею в виду процедурный стиль, как в C
функциональный != процедурный, это две разных вселенных. Процедурно, как в Си, к сожлению, никто писать не запретит. Именно поэтому Котлин нельзя назвать труъ функциональным языком.

Bogdan
08.07.2018
09:46:33

eugene
08.07.2018
09:46:56

Bogdan
08.07.2018
09:47:44
я пока не видел крупных проектов, а для маленьких реально много, это одна из причин почему javaGUI не зашло

Alexander
08.07.2018
09:47:51
Так они и есть мазохисты. Го классный язык в том смысле, что на нем может писать кто угодно. Но если ты не кто угодно, то будешь, как любит говорить один мой приятель, страдать.

Quantum Harmonizer
08.07.2018
09:47:59

Google

eugene
08.07.2018
09:48:32

Bogdan
08.07.2018
09:49:04

Alexander
08.07.2018
09:49:17
Люди и на PHP еще пишут.

Quantum Harmonizer
08.07.2018
09:49:25

Bogdan
08.07.2018
09:49:33

eugene
08.07.2018
09:49:42

Quantum Harmonizer
08.07.2018
09:50:03

Bogdan
08.07.2018
09:50:32

Quantum Harmonizer
08.07.2018
09:50:45

Bogdan
08.07.2018
09:50:58

Quantum Harmonizer
08.07.2018
09:51:20

Bogdan
08.07.2018
09:51:29
-Xmx
ну вот и пошли настройки на старте, а хотелось на старте

Quantum Harmonizer
08.07.2018
09:51:35
хотя хз, кто и зачем пользуется приложениям на электроне

Bogdan
08.07.2018
09:52:04

Alexander
08.07.2018
09:52:35
соотношения используемой\выделеной
Это не всегда правда, он выделяет виртуальную память, а не реальную. Сколько он реально использует, довольно трудно понять. Но у меня вот есть проблема с тем, что довольно накладно держать несколько инстансов JVM одновременно

Quantum Harmonizer
08.07.2018
09:54:17
IDEA, Gradle, запущенный рабочий проект, ещё всякие инструменты — вроде уживаются