
Alexandr
09.08.2018
10:29:20

Роман
09.08.2018
10:29:24
да
очепятка

Alexandr
09.08.2018
10:30:07
слишком разные языки что бы java в js колбасить

Google

Роман
09.08.2018
10:30:17
да в какой js

Alexandr
09.08.2018
10:30:22
хотя jb смогли же kotlin подтянуть

Роман
09.08.2018
10:30:24
wasm это не js
но работает поверх js пока что

Alexandr
09.08.2018
10:30:52

Роман
09.08.2018
10:31:05
да, webassembly
WebAssembly — эффективный низкоуровневый байт-код, предназначенный для исполнения в браузере.
это не js

Alexandr
09.08.2018
10:31:25

Роман
09.08.2018
10:31:46
ты путаешь

Alexandr
09.08.2018
10:31:57
что путаю?

Роман
09.08.2018
10:32:01
как js может компилится в wasm, если wasm работает поверх js

Alexandr
09.08.2018
10:32:43
не, в браузерах впиливается поддержка wasm как бинарного формата для веба, а js компилится в него

Google

Роман
09.08.2018
10:33:08
конечно, это сделать можно, но сейчас бессмысленно
когда завезут вот тогда огонь

Alexandr
09.08.2018
10:33:43
это понятно что в мире браузерный зоопарк

Vladimir
09.08.2018
10:34:37

Alexandr
09.08.2018
10:35:34

Oleg
09.08.2018
10:54:19
SVM наверное когда-нибудль сможет конпелять в WASM (но сейчас он не может компилять даже в Windows :)

Anton
09.08.2018
10:55:48
Разве? В WASM компилятся нативные языки, но никак не JS.
не только, подразумевается, что в wasm можно будет компилить любой язык и даже реализовывать на нём целые рантаймы, рождая при это до селе невиданых чудищ и мутантов.
мс, например. уже начали свеого франкештейна делать
https://github.com/aspnet/Blazor

Роман
09.08.2018
10:57:32
поэтому я и глаголю мутить сразу на java
в wasm компилить и всё

Anton
09.08.2018
10:58:34

Роман
09.08.2018
10:58:56
wasm же
он решит все проблемы
будет ровно такой же выхлоп как после js
скомпиленного в wasm
чем это хуже?

Anton
09.08.2018
11:01:20

Роман
09.08.2018
11:01:55
ват?

Anton
09.08.2018
11:02:14
ват?
ну зачем тебе жава в васм?

Роман
09.08.2018
11:02:49
потому что мне нравится java и гораздо удобнее js'a
особенно я не терплю яп где нет статической типизации

Google

Vladimir
09.08.2018
11:03:14

Роман
09.08.2018
11:03:19
это жесть просто
всё понимаю, фп, ооп, разные подходы к разработке кучу методологий

Anton
09.08.2018
11:03:51

Роман
09.08.2018
11:03:59
но отсутсвие статической типизации это я понять не могу
ты можешь писать под любые либы
без каких-либо проблем
ты про kotlin, scala, groovy не слышал что ли?

Vladimir
09.08.2018
11:05:05

Роман
09.08.2018
11:05:29
смотри видосик под конец

Anton
09.08.2018
11:05:40

Роман
09.08.2018
11:05:47
там про typescript

Vladimir
09.08.2018
11:06:10

Роман
09.08.2018
11:06:19
там нет статической типизации

Anton
09.08.2018
11:06:26

Роман
09.08.2018
11:06:32
несмотря на то, что она вроде бы "есть"

Vladimir
09.08.2018
11:06:55
И что?

Google

Роман
09.08.2018
11:07:15
И что?
не влезай в разговор если не знаешь о чём он
какие самые частые ошибки у вас случаются?

Andrey
09.08.2018
11:08:49
Ой, уж лучше на JS писать, чем с такой системой типов как в Java

Anton
09.08.2018
11:09:00
Ладно, расскажи мне о прелестях работы под js
да какие прелести, пиши обдуманный код, покрывай тестами, ревью, схемы пользуй, можешь какие-то часть вообще flow покрыть. делов то, динамическим языкам много десятков лет, если бы это было так ужасно, то они бы умирали как кобол, но нет.

Vladimir
09.08.2018
11:09:04

Роман
09.08.2018
11:09:28

Oleg
09.08.2018
11:09:50
ну живут и страдают
отчаянно поддерживаю, Java (или любой другой язык с сильным статическим анализом) очень нужен

Роман
09.08.2018
11:09:52
и про производительность, я ещё не слова не сказал

Anton
09.08.2018
11:10:19

Admin
ERROR: S client not available

Роман
09.08.2018
11:10:27
да какие прелести, пиши обдуманный код, покрывай тестами, ревью, схемы пользуй, можешь какие-то часть вообще flow покрыть. делов то, динамическим языкам много десятков лет, если бы это было так ужасно, то они бы умирали как кобол, но нет.
проблема в том, что js доминирует на этом поле
ничего против них не имею если у меня есть выбор и свобода
а тут этого нет
кодь на js и всё тут
хоть убейся

Anton
09.08.2018
11:11:27
а, пагодь ты про фронт ща?

Oleg
09.08.2018
11:11:30
да какие прелести, пиши обдуманный код, покрывай тестами, ревью, схемы пользуй, можешь какие-то часть вообще flow покрыть. делов то, динамическим языкам много десятков лет, если бы это было так ужасно, то они бы умирали как кобол, но нет.
дело в том, что одна из основных ценностей - не думать
есть еще куча важных вещей, о чем стоит думать, кроме как о процессе кодирования
о задаче, например. Как насчет того, чтобы думать о задаче. А о коде позаботится компьютер

Vladimir
09.08.2018
11:11:31

Роман
09.08.2018
11:12:14
ещё раз повторяю я скинул то, как устроен js под капотом

Google

Oleg
09.08.2018
11:12:18
JS заставляет писать продуманный код. Любой непродуманный код в JS мгновенно превращается в ад адский. Это плохо!

Роман
09.08.2018
11:12:21
не знать этого когда кодишь под этот язык
ну такое

Anton
09.08.2018
11:12:38

Роман
09.08.2018
11:17:50
крч я холиварю на js потому что он меня не удовлетваряет и при это не оставляет выбора
кроме как кодить на нём
Тогда при чём тут JIT?
ну и про jit я тебе скинул про то, что у typescript нифига нет статической типизации, он создаёт видимость её существования и всё, не более того
это как в java закинуть в idea ошибку на отсутствие @override

Vladimir
09.08.2018
11:20:13
ещё раз повторяю я скинул то, как устроен js под капотом
Ок, спасибо, почитаю на досуге. Но я ожидал нормального объяснения, как это относится к разговору о типизации и Java на фронте, а не какой-то непонятный наезд.
По мне так Java в WASM - это на уровне ваадина в электроне - лютый изврат.


Oleg
09.08.2018
11:20:16
тебе везде придется думать. нет идеального инстурмента, где-то тебе меньше думать про стабильность кода за счёт крутой системы типов, зато придется думать про конкаренси т.к. в вм у тебя нет корутин, итд
имхо будущее в следующем
1) Писать без IDE нельзя. IDE становится частью языка
2) В IDE встроен ИИ, вначале это будет тупо нейросеть с захардкожеными алгоритмами.
3) Код пишется в том виде, что больше удобен пользователю. Например, это REPL, не обязательно файл.
4) Но при этом IDE/язык/ИИ не позволяет писать неправильный код
5) Код, написанный пользователем - можно рассматривать как поток ивентов в event sourcing
6) То что попадет в реальную кодовую базу (в компиляцию) - это не то, что написал пользователь, а результат процессинга пользотвательского кода с помощью ИИ
7) Способ физического хранения ивентов и финального кода неважен. Возможно код будет "на лету" превращаться и сохраняться в кодовую базу в "правильном" виде. Возможно, материализовываться из ивентов только на момнет компиляции. В первом случае, в IDE пользователь сможет смотреть как свой код (ивенты), так и результат транскомпиляции.
8) В целом, это можно назвать AI-assisted code-as-event sourcing & CQRS, где IDE работает как human-machine-interface (и в будущем сможет быть заменена каким-нибудь имплантом в мозг, экзокортексом)


Роман
09.08.2018
11:20:51

Vladimir
09.08.2018
11:21:42

Роман
09.08.2018
11:22:22
скинь сообщение где ты это спросил и скинь моё сообщение, как минимум половина ответа

Vladimir
09.08.2018
11:23:58


Роман
09.08.2018
11:24:06
Ты не правильно понял мой вопрос "и что?", ну это ладно.
Статическая типизация даёт самый простой машинный код. Поэтому она удобна для языков, дающих исполняемые файлы ОС или JIT-компилируемые промежуточные коды.
Многие ошибки исключаются уже на стадии компиляции.
Поэтому статическая типизация хороша для написания сложного, но быстрого кода.
В интегрированной среде разработки осуществимо более релевантное автодополнение, особенно если типизация — сильная статическая: множество вариантов можно отбросить как не подходящие по типу.
Чем больше и сложнее проект, тем большее преимущество дает статическая типизация, и наоборот.
Недостатки
Статическая типизация позволяет уже при компиляции заметить простые ошибки «по недосмотру». Для динамической типизации требуется как минимум выполнить данный участок кода.
В объектно-ориентированных языках не действует, либо действует с ограничениями, автодополнение: трудно или невозможно понять, к какому типу относится переменная, и вывести набор её полей и методов. [источник не указан 315 дней]
Развитая статическая система типов (такая как Хиндли-Милнер) играет значительную роль в самодокументировании программы[1]; динамическая типизация по определению не проявляет этого свойства, что затрудняет разработку структурно сложных программ.
Снижение производительности из-за трат процессорного времени на динамическую проверку типа, и излишние расходы памяти на переменные, которые могут хранить «что угодно». К тому же большинство языков с динамической типизацией интерпретируемые, а не компилируемые.


Vladimir
09.08.2018
11:35:01
Статическая типизация даёт самый простой машинный код. Поэтому она удобна для языков, дающих исполняемые файлы ОС или JIT-компилируемые промежуточные коды.
Многие ошибки исключаются уже на стадии компиляции.
Поэтому статическая типизация хороша для написания сложного, но быстрого кода.
В интегрированной среде разработки осуществимо более релевантное автодополнение, особенно если типизация — сильная статическая: множество вариантов можно отбросить как не подходящие по типу.
Чем больше и сложнее проект, тем большее преимущество дает статическая типизация, и наоборот.
Недостатки
Статическая типизация позволяет уже при компиляции заметить простые ошибки «по недосмотру». Для динамической типизации требуется как минимум выполнить данный участок кода.
В объектно-ориентированных языках не действует, либо действует с ограничениями, автодополнение: трудно или невозможно понять, к какому типу относится переменная, и вывести набор её полей и методов. [источник не указан 315 дней]
Развитая статическая система типов (такая как Хиндли-Милнер) играет значительную роль в самодокументировании программы[1]; динамическая типизация по определению не проявляет этого свойства, что затрудняет разработку структурно сложных программ.
Снижение производительности из-за трат процессорного времени на динамическую проверку типа, и излишние расходы памяти на переменные, которые могут хранить «что угодно». К тому же большинство языков с динамической типизацией интерпретируемые, а не компилируемые.
Для кода, написанного на ЯП со статической типизацией и конвертированного в JS, из перечисленного здесь характерна только более низкая производительность.


Роман
09.08.2018
11:40:07
зачем его конвертировать в js?
v8 просто скопилирует в байткод

Vladimir
09.08.2018
11:41:27

Роман
09.08.2018
11:41:46
wasm

Vladimir
09.08.2018
11:41:56