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

Исходное сообщение
"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"

Отправлено opennews , 05-Дек-13 10:59 
Доступен (https://pypi.python.org/pypi/pythonium/0.4.7) новый выпуск проекта Pythonium 0.4.7, в рамках которого развивается компилятор, способный преобразовывать написанные с использованием языка Python 3 скрипты в представление на языке JavaScript, пригодное для выполнения в web-браузерах. Pythonium доступен в двух вариантах: Pythonium Compliant, полностью совместимый с CPython 3 и подходящий для трансляция существующих пректов для работы в Web, и Pythonium Veloce, предоставляющий средства для написания web-приложений на языке Python. Код Pythonium написан на языке Python и распространяется (https://github.com/pythonium/pythonium) под лицензией LGPLv2.1.


Pythonium Veloce полностью совместим с существующими JavaScript-библиотеками и позволяет добиться производительности обычных JavaScript-приложений. Для манипулирования html-объектами и доступа к браузерным технологиям в изначальном скрипте на языке Python можно использовать возможности библиотеки jQuery или напрямую вызывать JavaScript-блоки, для чего предлагается (https://github.com/pythonium/pythonium/tree/master/examples/...) использовать специальную функцию-враппер JS().


Например, можно указать в Python-скрипте "now = JS('new Date()')", после чего в Python-коде обращаться к созданному объекту напрямую "year = now.getFullYear()". Для преобразования Python-типов в объекты JavaScript подготовлена функция jstype, которую, например, можно использовать для привязки к объектам jQuery ("input = jQuery(jstype('[type="text"]'))"). Для создания объектов можно использовать функцию new(SomeObject, arg0, arg1), которая транслируется в JavaScript-аналог "new SomeObject(arg0, args1)". Поддерживается привязка callback-вызовов к поступлению событий (например, для обработки onClick), работа с массивами  JavaScript в циклах for, эмуляция from и import через библиотеку  requirejs (http://requirejs.org/) и наследования классов через библиотеку classy (http://classy.pocoo.org/).

URL: https://pypi.python.org/pypi/pythonium/0.4.7
Новость: https://www.opennet.ru/opennews/art.shtml?num=38588


Содержание

Сообщения в этом обсуждении
"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено sKotenok , 05-Дек-13 10:59 
Всего один вопрос, если есть хоть кто-то это дело ковырявший - как код дебажить? Ну и сюда же - как тесты писать?
Ну т.е. - будет ли как-то работать код в питонячей среде без трансляции в JS?

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено dxd , 05-Дек-13 11:21 
Пишут про полную совместимость с третьим питоном. Так что, видимо, отлаживаем с CPython, компилим, если не работает - пишем багрепорт.

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено бедный буратино , 05-Дек-13 11:44 
Ура! Мечты сбываются!

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 05-Дек-13 13:36 
Ты всю жизнь мечтал чесать правое ухо левой пяткой?

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Led , 05-Дек-13 14:15 
>Ты всю жизнь мечтал чесать правое ухо левой пяткой?

Это ты можешь об этом мечтать, а он он это всю жизнь делает.


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 06-Дек-13 04:39 
пустотрёпщики не по теме, бесят больше чем чайники

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 05-Дек-13 12:44 
JavaScript — ассемблер 21 века.

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Пиу , 05-Дек-13 13:20 
к сожалению

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено dxd , 05-Дек-13 13:30 
> JavaScript — ассемблер 21 века.

Обсуждали же в своё время идею функционального ассемблера. Вот, получите, распишитесь. И не жалуйтесь.


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 05-Дек-13 15:21 
1) JS - не ассемблер. Если вы с этим спорите, то вы не понимаете, что такое ассемблер.
2) JS можно назвать функциональным с бооольшой натяжкой. Упор в дизайне там делается совершенно не на то.
3) И уж тем более, JS - не функциональный ассемблер.

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено омнонимус , 05-Дек-13 19:56 
Твоя не мочь в ассоциации?

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 05-Дек-13 20:46 
Информатика - это точная наука, а не игра в ассоциации.

Ассемблер - это низкоуровневый язык, он должен отражать особенности архитектуры компьютера. Какие особенности какой архитектуры отражает JS?


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено dxd , 05-Дек-13 23:43 
> Информатика - это точная наука, а не игра в ассоциации.
> Ассемблер - это низкоуровневый язык, он должен отражать особенности архитектуры компьютера.
> Какие особенности какой архитектуры отражает JS?

Особенности архитектуры V8?


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 06-Дек-13 00:21 
Аргументируйте, пожалуйста, ссылкой на описание "архитектуры V8" и ответом на вопрос "каким образом и какие особенности архитектуры V8 отражает JavaScript?".

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено некто , 05-Дек-13 14:20 
21 век кругом один сплошной javascript, думая что это и есть ассемблер :) Главное чтобы не расплодилось такой гадости как ie6 и тому подобное, включая -webkit-* и UA-программинг. Хотя похоже на то, что сейчас никто всерьез с этой гадостью не считается...

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 05-Дек-13 15:24 
> JavaScript — ассемблер 21 века.

Повторяйте каждый раз, когда идете по дороге домой из школы: "JavaScript - это не ассемблер".


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Пиу , 05-Дек-13 16:05 
повторяйте по дороге из детского сада: "я знаю и понимаю, что такое сарказм"

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 05-Дек-13 19:08 
Вы его не знаете и не понимаете подавно. Хотя, судя по расстановке плюсиков, вы не один, кто считает формулу "сморозил чушь - скажи что сарказм" корректной.

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено dxd , 06-Дек-13 00:18 
Трудно объяснять людям, которые понимают сарказм, что они его не понимают, правда?

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 06-Дек-13 00:25 
> Трудно объяснять людям, которые понимают сарказм, что они его не понимают, правда?

Хорошо, если вы умнее, то объясните тогда мне, пожалуйста, где во фразе "JavaScript — ассемблер 21 века" сарказм. Объясните, на чем в данном конкретном случае он тут построен.


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено maliit , 05-Дек-13 12:58 
http://pyjs.org/Translator.html ещё сто лет назад нафигачили, на волне хайпа вокруг GWT. И чё? Поигралися и забросили. Гугол сам со своего GWT потихоньку слезает. Причины всё те же: протекающие абстракции и адовая отладка. Алсо, хайп вокруг JS рано или подно тоже пройдёт, потому что корпорации, в отличие от хипстеров, дано поняли, что разработка на этом убогоньком язычке с родовыми травмами обходится им неоправданно дорого. И не надо тут говорить про толпы быдлокодеров из бывших уёб-дезигнеров. Это дешёвая посадка на иглу, они вам за 10 баксов в час нахерачат первую дозу, но потом за поддержку и развитие этого говна вы будете платить совсем другие деньги и другим людям. В конце выживет что-то типа Asm.js или байт-кода типа PNaCl. Не то, чтоб мне это очень нравилось, просто жизнь такая.

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено a , 05-Дек-13 13:24 
да не переживайте так, все будет хорошо

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 05-Дек-13 14:42 
>>они вам за 10 баксов в час н а х ер а ч ат первую дозу, но потом за поддержку и развитие этого го в на вы будете платить совсем другие деньги и другим людям

А на СИ вам напишут за 100 баксов в час за 10 часов идеальную программу, которая будет всегда хорошо работать, а дорабатываться за 10 баксов в час эник ейщиком.


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено slowpoke , 05-Дек-13 13:37 
лучше бы для PHP компилятор в LLVM нормальный сделали

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Led , 05-Дек-13 14:14 
>лучше бы для PHP компилятор в LLVM нормальный сделали

Для этого сначала нужно сделать нормальный PHP и нормальный LLVM.


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 05-Дек-13 13:48 
"Все, что угодно, становится лучше, если добавить компиляцию в JS!"

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено некто , 05-Дек-13 14:35 
ребята, насчет отладки js:
используйте jshint or jslint + emacs + flymake + js2-mode например. И все будет гораздо проще. Занудство линтинга окупается с лихвой потом.

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено GoTLiuM , 05-Дек-13 17:20 
мне больше нравится brython:)

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Lain_13 , 05-Дек-13 17:22 
С каких пор трансляция кода на одном языке в код на другом языке именуется компиляцией? Или оно в AsmJS выгоняет? Так вроде ж нет.

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Xasd , 05-Дек-13 19:40 
> Или оно в AsmJS выгоняет

проект CPython на AsmJS уже давно есть :)

но правда лишь говновторая версия :(


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Я , 05-Дек-13 22:57 
А что по вашему означает компиляция?

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Lain_13 , 06-Дек-13 04:32 
> А что по вашему означает компиляция?

Ну, собственно, да. Ты прав. Просто обычно это означает преобразование в более низкоуровневый язык вроде ассемблера или в одну из разновидностей бинарных представлений вроде платформозависимого машинного кода или независимого байткода. В любом случае это преобразование из языка высокого уровня в язык низкого уровня. Я ещё могу понять преобразование в AsmJS — эта разновидность JS мало чем отличается от байткода, но не в сам же JS!


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Аноним , 05-Дек-13 18:31 
Я не понимаю, ЗАЧЕМ? Не лучше ли было плагин к тойже мозилке сделать?

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Xasd , 05-Дек-13 20:01 
> Я не понимаю, ЗАЧЕМ? Не лучше ли было плагин к тойже мозилке
> сделать?

всё что угодно -- но уж точно НЕ надо нам этих ваших плугинов и ActiveX.

слава богам что вроде бы появилась тенденция отправления плугинов на свалку истории.

Firefox будет все плугины (жалко что кроме Adobe Flash Player) отключать по умолчанию на сайтах, начиная со следующей стабильной версии Firefox.

а Google Chrome вообще аннонсировал отказ от подержки плугинов, которые написанны в формате Firefox.


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Андрей , 05-Дек-13 22:02 
Я к тому, чтобы py-код выполнять наравне с java-кодом. Про ActiveX ни буквы не было.

"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено dxd , 05-Дек-13 23:45 
> Я к тому, чтобы py-код выполнять наравне с java-кодом. Про ActiveX ни
> буквы не было.

Сейчас набегут прибитые жабоскриптеры с воплем: "петоннеминимизируетсятабытабытабы!"


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Пиу , 06-Дек-13 14:56 
>слава богам что вроде бы появилась тенденция отправления плугинов на свалку истории

к сожалению, происходит замена более быстрых нативных плагинов тормозами на js
за тормозами - будущее!

>а Google Chrome вообще аннонсировал отказ от подержки плугинов, которые написанны в формате Firefox.

1. нет "формата firefox", есть "формат netscape", он же npapi, ему уже овер 9000 лет
2. в хроме будет свой собственный оригинальный vendor-lock-in формат (ppapi) -- за костылями будущее!


"Вышел Pythonium 0.4.7, компилятор из Python в JavaScript"
Отправлено Xasd , 05-Дек-13 19:58 
yield -- работает?

"Skulpt"
Отправлено bw , 06-Дек-13 06:22 
Ересь какая, Skulpt наше всё :-).
А вообще, были уже эксперименты с трансляцией Python в JS, как выше сказали, pyjamas (pyjs). Как-то не очень пошло в массы. Полагаю и эта академическая работа будет пользоваться популярностью у двух с половиной разработчиков. В конце концов вреда оно точно никому не принесёт, это же не Dart.

..bw