URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 124763
[ Назад ]

Исходное сообщение
"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из TypeScript"

Отправлено opennews , 10-Июл-21 21:30 
Компания Amazon опубликовала компилятор jsii 1.31, представляющий собой модификацию компилятора TypeScript, позволяющую извлечь из компилируемых модулей информацию об API  и сгенерировать универсальное представление данного API для обращения к JavaScript-классам из приложений на различных языках программирования. Код проекта написан на TypeScript и  распространяется под лицензией Apache 2.0...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=55466


Содержание

Сообщения в этом обсуждении
"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 10-Июл-21 21:51 
Мне бы не помешало наоборот. Из Го и Си генерить TypeScript или сразу JS, ибо в последнем вообще беспредел мозга.

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 10-Июл-21 21:54 
Хотя если перевод API, то скорее их действительно никто не понимает.

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 10-Июл-21 22:25 
Их конструкции на ts не переводятся так просто.
С common lisp ещё попроси :)
А вот ts штука примитивная, хоть во что и без проблем.

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 01:08 
Это тс примитивный?
Посмотрю я, как ты транспилируешь зависимые типы в любой язык, кроме хаскеля.
Ну и это ещё не учитывая, что тс включает в себя ecmascript со всеми прототипами.

Там, конечно же, поддерживается только подмножество языка.


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 05:52 
Мы же говорим о тюринг-полных языках?
Понятно, что они эквивалентны. По большому счету.
Вопрос в сложности перевода конструкций одного в конструкции другого.
Если взять пару ts и basic, то ситуация будет обратная: basic примитивный и легко укладывается в ts.
Ts в basic будет запихать гораздо сложнее.
Возможно всё, вопрос сложности.

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено лолшто , 10-Июл-21 22:28 
Я конеш хз что за кейс, но можно сгенерить WASM, а его уже дергать на [jt]s.

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 12:23 
Трудно кодить сразу на нескольких языках, особенно, когда в JS альтернативное мышление. Я вот не считаю шарящих в JS слабоумными, т.к. там наоборот надо сосредотачиваться и врубаться в конструкции конкретно, мне после Си и Го трудно осилить, да хоть даже после Java/C++ с учетом ООП.

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 10-Июл-21 22:43 
есть же Emscripten. Компилятор из борщехлебной сишечки в смузихлебный typescript

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Lex , 11-Июл-21 06:21 
Он васм генерирует, а не тс

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Lex , 11-Июл-21 06:29 
> или сразу JS, ибо в последнем вообще беспредел мозга

В последнем, как раз, все норм.
Беспредел - это делать на базе ЯП переусложненную кучу гомна, которая в итоге все равно превращается в что-то на исходном ЯП, решая «проблему», которой у нормальных людей нет( типизация ) и усугубляя серьезные проблемы( захламление синтаксиса усложняет поиск логических и алгоритмических ошибок и недоработок в коде. «Корректность» типов вселяет в проггеров ложную уверенность, что все дело только в правильности типизации и, если все сходится - все норм ).

По сути своей, тс - худшее, что произошло с жс.
Был ещё кофескрипт, но тот хотя бы нёс с собой новый и удобный функционал( часть которого в итоге включили в жс ) вместо откровенного замусоривания языка без внятных положительных итогов


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 09:05 
Вот вот. Настоящим программистам типизация ненужна. Она нужна только глупым вебмакакам которые не могут запомнить какие данные передают.

Мне например постоянно приходится прописывать jsdoc, javadoc, phpdoc чтобы понять как как работает чужой код, хотя настоящие программисты написали его без единого комментария, без документации и почти без тестов и уволились.
В java чуть легче так как строгая статическая типизация, но всё равно много чего передаются в виде Map<String,Object>


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 12:20 
Дело не столько в типизации, ибо всегда можно на JS проверить или сделать Number() и т.п. Просто JS позволяет столько всего, что трудно разобраться мыслящему на классических языках. Вот эти пробросы объектов через =>, код функций внутри кода функций и прочие эксклюзивные вещи.

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено лолшто , 12-Июл-21 00:33 
TS тоже стал жертвой беспредела. С появлением реакта и хайпа в веб среде вокруг ФП, куча паттернов пустила корни. Currying, partial application, higher order functions, мутировавшие в higher order components и куча прочего говна. TS отреагировал появлением utility types, которые проблему то мб и решают, но еще больше добавляют сложности и синтаксического шума. А бизнес на эти типы срать хотел, поэтому касты и any.

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Bx , 12-Июл-21 21:09 
Ну надо же, типы данных виноваты.
Как там посдедний пишет при смешивании пробелов с табами?

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 13-Июл-21 00:48 
Используй wasm

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено softkot , 14-Июл-21 18:44 
Go -> JS

На https://github.com/gopherjs/gopherjs прекрасно пишутся либы на go и потом подгружаются в любой js/html


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 10-Июл-21 22:08 
Не понял. Зачем транспонировать в медленный код из быстрого?

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено economist , 10-Июл-21 22:29 
Быстрый - Медленный
Мутный - Ясный
Незнакомый - Знакомый
Старый - Новый
Из Top10 - из Top3

Причин может быть много, у каждого - свои.


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 00:47 
свои - чужие
хорошие - плохие
добрые - злые
грязные - чистые
золотые - серебристые

А какая именно причина у создателя jsii?


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 01:01 
У них же там английским по белому написано.

Чтобы автоматически генерировать код AWS sdk на всех поддерживаемых языках из единой кодовой базы на одном языке.


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 01:11 
Просто я не восприимчив к тексту написанному на белом фоне

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено iv , 11-Июл-21 08:25 
Свобода - рабство
Мир - война
Незнание - сила

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено anonymous , 11-Июл-21 11:33 
Go сильно быстрее TypeScript.

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 11:41 
> Go сильно быстрее TypeScript.

Значит ли это, что го ощутимо быстрее додиеза с жабой? А раз нет, то как это работает? Не в синтетике?


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 12:08 
Простите, а как вы измерили скорость выполнения TypeScript?

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 12:47 
>Зачем транспонировать в медленный код из быстрого?

Чтоб в страничку влепить и в бровсере исполнять.


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Nikki Next , 11-Июл-21 04:50 
Можно перевести из Python в C++ через jsii?

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 12:51 
Для этого отдельный инструмент разарбатывается:
https://ru.wikipedia.org/wiki/Nuitka
https://nuitka.net/

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено n00by , 11-Июл-21 10:23 
array.push(array[i - 2] + array[i - 1]);

А зачем они хранят предыдущие значения? Сайты слишком быстро работают?


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Bx , 12-Июл-21 21:16 
Бобер, выдыхай! В массиве все значения хранятся, че бы и не запушить в массив последнее и предпоследнее значения?

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено n00by , 13-Июл-21 05:12 
return array[num];

Возвращают не всю последовательность Фибоначи, а только искомое.

При больших n пример не работает, или сборщик мусора догадается, что массив не используется и подчистит?


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 13-Июл-21 00:16 
А как надо?

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено n00by , 13-Июл-21 05:18 
В последовательности Фибоначчи первые два числа равны 0 и 1, а каждое последующее число равно сумме двух предыдущих чисел. То есть достаточно хранить 2 последних числа, соответственно и массива на 2 элемента. То есть как-то так, но лучше вообще без массива:

array[0] = array[1];
array[1] = array[0] + array[1];

Ну и возвращать array[1] а не array[num].


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 17-Июл-21 21:48 
Исправлю ваш баг.

> array[0] = array[1];

Здесь затирается array[0].

> array[1] = array[0] + array[1];

А здесь затёртый array[0] используется как ни в чём не бывало.


Лучше вот так, если хочется переменную сэкономить:

array[1] = array[1] + array[0];
array[0] = array[1] - array[0];


А ещё лучше не экономить, чтоб понятней было:

current  = array[0] + array[1];
array[0] = array[1];
array[1] = current;


"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено n00by , 18-Июл-21 09:06 
Спасибо! Это не баг, это лажа. :) Если без массива, то последний вариант должен был получиться сам собой. А до предпоследнего я бы сам не додумался.

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Sw00p aka Jerom , 11-Июл-21 14:23 
как там у них с оптимальностью или гамнокод с одного ЯП в гамнокод на другом ЯП переводит?

"Выпуск jsii 1.31, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 11-Июл-21 14:47 
> гамнокод с одного ЯП в гамнокод на другом ЯП переводит?

ещё и с преумножением оного.