The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Реализация языка Python на JavaScript и транслятор кода Python в JavaScript

20.09.2009 14:55

В рамках проекта Pyjamas, занимающегося портированием web-фреймворка Google Web Toolkit для языка Python, подготовлен транслятор для преобразования кода на языке Python в представление на языке JavaScript. В качестве прослойки для отождествления Python объектов к их функциональным аналогам на JavaScript задействован код проекта PyV8, созданного на базе движка Google v8 для организации работы JavaScript вставок из Python скриптов. Для выполнения оттранслированных скриптов под управлением JavaScript движка v8 используется специально подготовленная утилита pyv8run. В настоящий момент pyjamas позволяет успешно пройти 99.95% испытаний тестового комплекта Python LibTest, после его трансляции в JavaScript.

Через некоторое время после основания проекта Pyjamas, его разработчики обнаружили в сети нацеленный на решение близких задач проект Skulpt, который тоже достиг впечатляющих результатов, представив полноценную командную оболочку интерпретатора Python, написанную на JavaScript. Основное отличие Skulpt в том, что он является реализацией языка Python на JavaScript, в то время как Pyjamas выполняет трансляцию из одного языка в другой.

  1. Главная ссылка к новости (http://developers.slashdot.org...)
  2. OpenNews: Работа по интеграции языка Python в web-браузеры
  3. OpenNews: Возможность разрабатывать скрипты для web-браузера на языках Си и Python
  4. OpenNews: Компания Google выпустила средство для выполнения бинарных программ в браузере
  5. OpenNews: Реализация Ruby и Java на JavaScript
  6. OpenNews: Компания Google выпустила Google Web Toolkit 1.7 и набор инструментов для отладки
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/23493-python
Ключевые слова: python, javascript, web
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (17) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Igor Novikov (?), 19:01, 20/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    :) похоже это новая волна ПО под лозунгом "Даешь Xeon в каждый дом!"
     
     
  • 2.8, User294 (ok), 05:57, 21/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Я все меньше понимаю чуваков имеющих отношение к гуглю и его поделиям. Они делают что-то. А вот зачем это что-то надо? Чисто "just because I can"? Ну ладно, допустим можно написать транслятор с явы на брейнфак. Остается только придумать кому и нахрена он потом будет нужен :)
     
     
  • 3.9, ixrws (ok), 08:27, 21/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем они это делают - понятно. Вопрос в другом: насколько подобные жопные методы уводят общее развитие ПО в сторону, а может даже деградируют его.
    В крупной компании важно делать всё быстро и на относительно одинаковом уровне качества. GWT+python даст эту возможность, а также избавит от необходимости использовать html, js и прочий хлам раз и навсегда, по крайней мере в большинстве случаев. Плюс переиспользование нормального кода на нормальном языке.
    Но проблема в том, что вместо создания реальных тонких клиентов, производительных. Они создают технологии поверх технологий, получается шевелящийся слоёный пирог + поощрение тех технологий, поверх которых они строят свои. Такими темпами вместо оправданной замены html везде, где необходима динамика, его наоборот культивируют с новой силой. Есть ещё шанс конечно, что этот gwt потом будет работать и без web, но даже если так, то урон культивацией html уже будет нанесён непоправимый.
     
     
  • 4.14, Юниксоид (??), 12:00, 21/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Дык, никто не мешает юзать вместо этих извращений тот же Django :-)
     
  • 3.18, Iv945n (ok), 13:14, 23/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну ладно, допустим можно написать транслятор с явы на брейнфак.

    Лучше наоборот, тогда можно будет пейсать для enterprise и для мобилок (да и web апплеты ещё) на брейнфаке...

     

  • 1.3, Аноним (-), 19:11, 20/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я не понял, они придумали специализатор делающий из питона жабоскрип? Гугль велик, ждем транслятора всего этого в дис.
     
     
  • 2.4, anonymous (??), 20:31, 20/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > Гугль велик, ждем транслятора всего этого в дис.

    во что?

     
     
  • 3.5, srs2k (ok), 20:36, 20/09/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Гугль велик, ждем транслятора всего этого в дис.
    >во что?

    Виртуальная машина Инферно!

    http://www.vitanuova.com/inferno/papers/dis.html

     
     
  • 4.12, anonymous (??), 09:19, 21/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и зачем?

    Dis сейчас годится для двух целей: ковыряния для всяких извратов (хотя когда мы этим занимались, куча глюков в JIT для power нам сильно мешала) и собственно запуска инферно.

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

     

  • 1.6, croster (ok), 21:29, 20/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Главный вопрос - кому это нужно и в каких проектах будет (может) применяться?
     
     
  • 2.7, хуй простой (?), 21:45, 20/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    gwt был сделан чтобы сделать разработку сложных js приложения аля gmail легче за счет статической типизации обмазанной тестами. однако чем тут может помочь питон, я не понимаю.


     
     
  • 3.10, ixrws (ok), 08:32, 21/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >gwt был сделан чтобы сделать разработку сложных js приложения аля gmail легче
    >за счет статической типизации обмазанной тестами. однако чем тут может помочь
    >питон, я не понимаю.

    Гугль идёт по пути, когда конечное веб приложение можно будет полностью написать на python, без использования js, html и без явного разделения на серверную и клиентские части. То есть разработка веб приложений будет напоминать программирование обычных приложений с использованием gtk или qt. А уже на этапе трансляции всё это будет раскладываться по полочкам(клиентский js получаться из python, html из использованных виджетов и серверная часть).
    Удобно, но есть много но... С другой стороны это оправданно для таких как Google, им работать надо.

     
     
  • 4.15, ph (??), 13:01, 21/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    удобно ли?
    для рисования интерфейсов в gtk, например, часто используют glade который тоже язык разметки.
    в том же django формы генерируются автоматически, многие типовые вещи - тоже(generic views), можно писать свои виджеты, generic views и т.д.
    а javascript с современными framework'ами писать ну совсем не проблема
     
     
  • 5.16, ixrws (ok), 15:13, 21/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Дело не просто в удобстве, а в единой платформе, которая подходит не только для веб. Ничто потом не будет мешать гуглу отказаться от веббраузера и выпустить небольшой клиент, на манер икс сервера и переписав прослойку запустить свои сервисы уже поверх этого.
    А в принципе - это конечно велосипед велосипедов. Гораздо разумнее использовать тот же Qt или gtk и сделать для них лёгкий клиент.
     
  • 2.11, whip (?), 09:07, 21/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    наверное, для того что-бы писать навороченные онлайн приложения типа джимеил и гуглдокс на чем-то более удобном для программирования и отладки чем джаваскрипт
     

  • 1.17, Вол (?), 16:12, 22/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А мне это нравиться этотакое самостоятельное рытье Гуглем своей могилы. Молодцы парни.
     
  • 1.19, Iv945n (ok), 13:22, 23/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А всё очень понятно кстати куда всё итдёт. Кульминацией этого тренда могла бы стать универсальная кроссплатформенная (потипу CLR или JVM) масштабируемая виртуальная машина, встраиваемая во всё от смартфона до отдельной программы на десктопе типа браузера (где оно работает в изолированном окружении) и server-side облачных систем и программируемая на любом популярном языке.

    Я умею и мне нравится кодить на шапре (и попрошу без наездов - каждому своё), кому-то нужен ювелирный уровень контроля, даваемый C и C++, кто-то с детства думает на Pascal, кто-то профи в JavaScript, некоторые задачи удобнее решать, скажем, на Erlang, некоторые на Lisp, Fortran ещё более чем актуален, ещё живы системы на Коболе и люди, их поддерживающие, и т.п.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру