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

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

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

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


Содержание

Сообщения в этом обсуждении
"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 14:00 
Неужели жаваскрит смогут заменить на что-то нормальное!

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 14:44 
Легко, как только это что-то "нормальное" полноценно заработает в самых популярных 10 браузерах без трансляций в вебассемблы и прочий блоатварь

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено User , 07-Окт-23 15:46 
Ты точку пропустил - в 1.0 браузере достаточно. 97281

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 22:24 
Браузер какой-то несчётный. Его нельзя посчитать в целых числах :)

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 22:18 
Не трынди, вебассембля - кошер.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 00:45 
Согласен, наконец-то можно заобфусицировать весь код!

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 14:10 
только в hello worldы умеет? Чем это лучше, чем Haxe?

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 14:22 
Нет, не только hello worldы.

>благодаря трансляции в родные для этих языков модули, предоставляющие тот же самый API

На самлм же деле эта штука генерит обёртки. А оригинальный JavaScript код исполняется виртуальной машиной в отдельром процессе.


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 14:35 
https://aws.github.io/jsii/specification/1-introduction/

компиляция: код на TypeScript -> спецификация API на JSON -> обёртки на языках

Выполнение: обёртки -> IPC -> ядро -> оригинальный модуль на
JS


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено penetrator , 07-Окт-23 17:51 
ацкая хрень? вот это жесть

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 15:20 
Тем что это Nih от Amazon?

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено FF , 07-Окт-23 14:23 
Мне надо наоборот, из нормальных языков в альтернативно логические

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 16:14 
Альтернативно одарённые постоянно придумывают как всё переписать на новый лад, чтобы потом никто не разобрался.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 20:05 
Зарплата сама по себе не поднимется.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено FF , 07-Окт-23 14:26 
А где кстати этот, ну, который шестерёнка в системе cо знаком Rеристрации в центре нее..

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 14:43 
Присмотрись внимательно, все перечисленные языки с GC (это такая штука для автоматического управления памятью).
В отличии от той самой шестеренки.

Возможно это наведет тебя на мысль, что трансляция из языка с автоматическим управлением памятью в язык с ручной задача гораздо более высокого уровня.


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 14:47 
Нет никакой трансляции. Просто не очень востребованы низкоуровневые языки в амазоновском serverless облаке.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 15:19 
Откуда ты этот бредовый винегрет берешь? Ты ни про сабж ничего не знаешь ни про GC. Иногда лучше жевать это твой случай.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено FF , 07-Окт-23 16:36 
А кроме коллектора больше нечего вытащить из коллектора?

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено FF , 07-Окт-23 16:40 
Не тебе

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 21:36 
С юмором, как я вижу, у местных напряженка
Ну и ладно

Если кому инетересно, вои причина почему Раст не добавили
https://github.com/aws/jsii/issues/1684


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 00:51 
>Rust doesn't support inheritance and overriding methods.
>Implementing a usable workaround for this would be quite complicated and according to all the AWS CDK examples I have seen the only use of inheritance is done when setting up an App or Stack. And this seems to be more by convention and not due to any real advantage.
>While Rust itself is an extremely flexible and powerful language, its idiomatic way of doing things is quite strict and requires reformulating the vast majority of problems that are being ported from other languages. That's what needs to happen here. It's not complicated to write Rust code once you know how something will work... it's just figuring out how something needs to work that is the hard part.

Хвалебные оды язычку не помогли, когда произошло столкновение с жестокой реальностью. Там уже кто-то три года код пишет (или уже не пишет).


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 00:55 
Какой громкий пук!
Наверное в списке есть С или С++? а не, тоже нету, та що ж такое.
И даже стандарты ISO не помогли.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено FF , 07-Окт-23 16:38 
Ну вот видишь, оно уже сложнее перечисленных, наxой оно нужно?

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено FF , 07-Окт-23 16:39 
В программировании высокий уровень это как раз абстракция как этот сабж.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 17:41 
А когда будет наш отечественный аналог?

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 20:03 
Как только появится экономическое обоснование сразу же появится.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 20:11 
А процессоры для гражданских (не военных,  не секретных технологий) на своей архитектуре у вас уже есть? Спецификация как-то открыта чтоб под них делать языки программирования?

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Golangdev , 07-Окт-23 18:47 
> библиотеки классов, которые могут использоваться

но ты, %USERNAME% ими в реальности пользоваться не сможешь.


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено ЗоринОС топ , 07-Окт-23 20:40 
Наконец-то что-то нормальное. Завтра напишу на нём софтину

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноньимъ , 07-Окт-23 22:04 
Ничего не понимаю.
Зачем кому-то тайпскрипт и вообще всю это жабаскриптятину во что-то транслировать?

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 22:14 
То что ты ничего не понимаешь сомнений не вызывает, это давно нам ясно. Но то что ты не способен прочитать описание по ссылке - весьма феерично.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Вы забыли заполнить поле Name , 08-Окт-23 00:04 
Раньше компилили в js, теперь из ts. О времена, о нравы!

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 16:03 
Ну и теперь предлагают транслировать в TS, там это один из вариантов.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 20:00 
В TS есть типы, вот и вся суть. Оно все-равно вероятнее всего транслируется в JS и оттуда нодой выполняется внутри библиотеки или извне. Если бы это был реально полноценный транслятор в другие языки, то ажиотаж был бы другой — они бы выпустили свой движок JS (или TS), а он есть? Я о таком не слышал.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 20:04 
Да и если делать полноценный транслятор, то все-таки лучше на C++ с технологией swig. Тогда будет поддержка ну очень многих языков.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноньимъ , 09-Окт-23 01:38 
Просто в TS, как мне кажется, ну ничего нет такого чего нет в других яп.
Вся его ценность, как мне кажется, исключительно в том что это более лучший js который в js транслируется.
То есть за пределами вебнятены, как мне кажется, оно нафиг ненужно.

Вот если бы сделали для жс нормальный байт-код(привет веб ассемблер), и научили браузеры жевать TS на прямую, было бы наверное хорошо.
Можно бы было от JS отойти в сторону чего-то более вменяемого.

Но всеравно TS по отношению к JS это что-то вроде С++ и Си...
Нужно от конструкций в духе а = "текст" + 55 отказаться на уровне рантайма...
И классы меня не радуют в TS.

В веб ассемблере кстати надеюсь не только float есть?


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 09-Окт-23 21:48 
TS это разработка Майкрософт, а JS — язык по стандарту ECMA. Поэтому JS имеет множество движков, которые могут его исполнять. Технологии TS и Babel развивались одновременно. У них была задача обеспечить более сложные возможности JS чем были, сделать синтаксис ближе к С-подобному. Но тогда было множество разных движков, а сейчас рынок движется к монополии одного.
Напомни, какая сейчас лицензия у QT? И почему?

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 10-Окт-23 15:58 
> Нужно от конструкций в духе а = "текст" + 55 отказаться на уровне рантайма...

Выбор у тебя есть - пиши на языке типа хаскеля и радуйся, в чем проблема?


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноньимъ , 10-Окт-23 16:28 
>> Нужно от конструкций в духе а = "текст" + 55 отказаться на уровне рантайма...
> Выбор у тебя есть - пиши на языке типа хаскеля и радуйся,
> в чем проблема?

В том что браузер не понимает ничего кроме жава скрипта?


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 07-Окт-23 22:27 
Ещё добавить трансляцию в C++ и трансляцию из JS, тогда можно перетранслировать Electron.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 16:18 
А разве сам код из TS оно полностью транслирует в родной для других? Я думал только обертку делает над скриптами.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 16:24 
https://aws.github.io/jsii/overview/runtime-architecture/ нода инсайд

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 00:52 
А функция NewGreeter() в Go какова?

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 15:54 
Ты генерируешь скрипт с классом NewGreeter в Go, который является оберткой над классом в TS. Сам код TS вероятнее всего выполняется на ноде.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 09-Окт-23 14:30 
ахах, гугл хочет поиметь всё)))

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 09-Окт-23 21:32 
Нет, это выпустило Amazon вроде как. Как-раз наоборот, они где-то добавили возможность писать на TS (JS) не разрабатывая свой движок используя их технологию. Такие технологии уже существуют, например тут вспомнили Electron, я помню использовал другую похожую технологию. Сомневаюсь что им Google навязывал свой V8. Просто как-то так исторически сложилось.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 05:45 
Ну понятно — инструмент для веб-разработчиков. С одной стороны удобно для генерации DTO при разработке от front к back. С другой стороны существуют уже более современные технологии и эта разработка вышла уже устаревшей.

p.s. господа, а какой смысл писать хоть что-то гадостное формируя при этом умную мину? комплексы?


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 16:00 
Да, можно ещё плагины или просто скрипты какие писать на TS для ПО. Для игр это тоже вроде не в новинку. Не все знают Lua, но многие знают TS и JS. Для видео/аудио обработки порой необходима кастомизация. Для облачных сервисов порой необходим особый скрипт.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноньимъ , 09-Окт-23 01:48 
Ценность луа в том что она простая как пробка, маленькая, быстрая, и легко встраиваемая/расширяемая.

Тащить монстра V8 или что-то в таком духе чтобы добавить скрипты к аппликухе?
Да ещё ужасный с любой стороны вообще js?

> Не все знают Lua, но многие знают TS и JS

Скриптовый язык должен быть простым и осиливающимся за один вечер если не пару часов, не считая особенностей предметной области, которые основу и составляют встроенных скриптов.
Пытаться же угодить одноизвилинным гуманоидам в любой области плохая идея.


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 09-Окт-23 21:26 
> Тащить монстра V8 или что-то в таком духе чтобы добавить скрипты к аппликухе?

Да ещё ужасный с любой стороны вообще js?

Вы все правильно поняли. Мне тоже кажется маловероятным необходимости такого сценария. DTO генерировать — самое лучшее применение для этой технологии. Впрочем люди разные, может кому придёт хорошая идея.


"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Аноним , 08-Окт-23 16:10 
Автор, добавь пожалуйста перевод предложения между примером и представлением: "This allows users of that target language to use Greeter like any other native type".
В переводе означает что это позволяет пользователям таких языков как C#, Go, Python и Java использовать класс Greeter как любой другой родной класс для этого языка.

"Выпуск jsii 1.90, генератора кода C#, Go, Java и Python из T..."
Отправлено Анонимчик , 08-Окт-23 21:52 
Питоновский код худо-бедно работает, но стоит импортировать threading в вызывающем коде - всё умирает.