LINUX.ORG.RU

Google представила Grumpy — экспериментальный транскомпилятор Python в Go

 , , , ,


3

16

Google представила транскомпилятор и runtime для языка программирования Python — Grumpy. Инструмент планируется использовать в качестве замены CPython из-за плохой масштабируемости последнего.

Продукты компании содержат десятки миллионов строк Python-кода. Так, для фронт- и API-серверов сервиса YouTube, обрабатывающих миллионы запросов в секунду, до сих пор использовался CPython 2.7.

Grumpy позволит транспилировать Python-код в Go, который в свою очередь будет компилироваться в нативный. Из преимуществ подобного подхода — лучшая масштабируемость и совместимость с Go, что может в конечном итоге способствовать плавной миграции на этот ЯП.

>>> Подробности



Проверено: Shaman007 ()
Ответ на: комментарий от anonymous

А всё, слышим-слышим. Коль какой-то анон с ЛОРа против, тогда, конечно, нужно сворачивать проект. Наверное, и Гугл закроем, если хорошо попросишь.

anonymous ()
Ответ на: комментарий от NextGenenration

имеет ли смысл продолжать разрабатывать проект который работает только в 4ке? он ведь работает, зачем обновлятся?

Да на здоровье. Хоть на единице, если это устраивает вашу клиентуру

anonymoos ★★★★ ()
Ответ на: комментарий от KRoN73

PHP на JVM

когда я про это читал, вспомнил анекдот про «мсье знает толк в извращениях»

vitalif ★★★ ()
Ответ на: комментарий от svr4

похапе на явамашине не нужен чуть менее, чем вообще, ибо ни к чему нет биндингов. Даже к стандартным либам самого похапе.

Из Quercus выполняются прямые вызовы любых Java-классов/методов. Тем он и интересен.

KRoN73 ★★★★★ ()
Ответ на: комментарий от svr4

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

vitalif ★★★ ()
Ответ на: комментарий от ekzotech

Java на некоторые вещи ругается, мол, deprecated, но работает.

Нарывались в дорогом бизнес-продакшне на полный отказ при минорном JVM-обновлении в третьем знаке :) Типа, с 1.7.0.51 до 1.7.0.52 (точные версии не помню, не сам ковырялся, можешь Dimez'а спросить если конкретика интересна :D )

А уж сколько всего ломалось при обновлениях 1.4 → 1.5 → 1.6 — это я сам танцевал на этих граблях, когда L2J Fortress делали :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от vitalif

когда я про это читал, вспомнил анекдот про «мсье знает толк в извращениях»

Мне долго было интересно :) Только я никак не выкраивал времени, чтобы осилить использование Quecus автономно, за пределами всяких сервлетных решений... А потом, с одной стороны, интерес к Java сильно упал, с другой, PHP сильно подтянулся. Так что теперь, да, Quercus уже не интересен :D

KRoN73 ★★★★★ ()
Ответ на: комментарий от vitalif

у них там часть стандартных либ переписана на яву.

Quecrus? Он целиком на Java.

KRoN73 ★★★★★ ()
Ответ на: комментарий от NextGenenration

поставим вопрос так: имеет ли смысл продолжать разрабатывать проект который работает только в 4ке? он ведь работает, зачем обновлятся? а потом жалуются что в 4ке что-то не работает

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

anonymous ()
Ответ на: комментарий от KRoN73

ну в смысле реализована часть пхпшных экстенжнов на яве

vitalif ★★★ ()
Ответ на: комментарий от KRoN73

Хз, мне в КФУ препод показывал код, написанный хрен знает когда под хрен знает какую версию. В Intellij IDEA инспектор вовсю орёт про deprecated, но компилится и работает.

ekzotech ★★★★ ()

Хех) А помните как евнгелисты говорили что Гугл не имеет прямого отношения к Гоу, типа просто домашний проект одного рботника. А тут так опа и grumpy. Это теперь выходит питон всё?

dnb ()
Ответ на: комментарий от dnb

Никуда Питон не денется. У него огромная база уже наработана. И скрипты в играх, и Джанга, и научное/инженерное программирование, где он продолжает теснить MATLAB, и обучение программированию, откуда он вытесняет как Паскаль, так и Схему.

Vudod ★★★★★ ()
Ответ на: комментарий от KRoN73

это же просто искусственный пример неправильного программирования

jellyfish ()
Ответ на: комментарий от ekzotech

В Intellij IDEA инспектор вовсю орёт про deprecated, но компилится и работает.

Ну так и у меня ещё местами жив PHP-код, который я писал под PHP4 лет 15 тому назад :D А львиная доля кода писалась ещё под 5.0 лет 10 назад и отлично работает сегодня.

Это как писать...

...

А с Java ещё проблемы в том, что часто коммерческие проекты распространяются не в виде исходников, а бинарниками. И вот там ошибки и вылезают с новыми JVM. И даже наличие исходников ситуацию часто спасти не могут — скомпилировать правильно большой сложный проект 10-летней давности, написанный сторонним разработчиком часто задача очччень нетривиальная :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от jellyfish

это же просто искусственный пример неправильного программирования

Да. Но он более-менее отражает (и, главное, очень просто) типичные современные элементы объектного программирования. Только наследования там не хватает, но об этом я выше писал :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от Vudod

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

dnb ()

Кто там кудахтал, что питон 2 будет после 2020 поддерживаться, потому что на нём много кода?

anonymous ()
Ответ на: комментарий от dnb

Не ясно совершенно, зачем это делать. Какой может быть переход, если они даже такой базовый модуль, как numpy, отцепили? Ничего не будет работать.

Vudod ★★★★★ ()
Ответ на: комментарий от KRoN73

А какой нынче самый правильный компилятор Go? В gcc, говорят, его не умеют правильно готовить. Или врут?

DeVliegendeHollander ★★ ()
Ответ на: комментарий от DeVliegendeHollander

Очевидно, гугловский. Да, не умеют.

anonymous ()
Ответ на: комментарий от Vudod

Нифига себе ты приколист. Переписать numpy это как заново написать питон. Базовый говорит, ха!

dnb ()

Grumpy позволит транспилировать Python-код в Go, который в свою очередь будет компилироваться в нативный. Из преимуществ подобного подхода — лучшая масштабируемость и совместимость с Go, что может в конечном итоге способствовать плавной миграции на этот ЯП.

Дурацкий вопрос. Означает ли это, что go позиционируется как универсальная замена для python? Я почему-то думал, что go гораздо более низкоуровневый и скорее замена для C

Или речь всего лишь о том, что google хочет перевести некоторые Proof-of-concept с питона на более производительный go ?

router ★★★★★ ()
Ответ на: комментарий от router

Да, вы правы, именно об этом. У Go нет аналогов библиотек Питона даже близко.

Vudod ★★★★★ ()
Ответ на: комментарий от router

Я почему-то думал, что go гораздо более низкоуровневый и скорее замена для C

Нет, Go — высокоуровневый язык. Он плохо подходит на замену С/С++ (для чего позиционируют Rust). Он альтернатива Java/Python/PHP/Ruby (если не учитывать тонкости типизаций и т.п.).

KRoN73 ★★★★★ ()
Ответ на: комментарий от anonymous

python 2 будет поддерживаться после 2020 НЕ ПОТОМУ, ЧТО ТАМ МНОГО КОДА

впрочем, вам не понять

buratino ★★★ ()
Ответ на: комментарий от KRoN73

А нафига нужен PHP без динамики?

А мне вот очень понравилось движение в сторону статической типизации в PHP7. Недавно код на PHP писал, использовал. Приятно :)

Wizard_ ★★★★★ ()

gentoo portage уже перекомпилирован?

anonymous ()

Код от этого быстрее работать станет? Или делают это только ради того, чтобы на Go мигрировать, забив на оптимизации?

Quasar ★★★★★ ()
Ответ на: комментарий от anonymous

С Python 3 никак не зафакапились. Просто большинство привыкло к Python 2 со всеми его ритуалами. Да и кодовая база слишком большая чтобы сразу всё так бросать.

Quasar ★★★★★ ()
Ответ на: комментарий от dnb

А помните как евнгелисты говорили что Гугл не имеет прямого отношения к Гоу

Достаточно зайти на их сайт с вакансиями, чтобы подтвердить этот тезис. У них постоянно открыты позиции всяких Dart и Angular Advocate'ов, кто бы это ни был, и прочих Partners. Напрямую с Go связанного, по крайней мере я, ничего не наблюдал.

anonymous ()
Ответ на: комментарий от KRoN73

Нет, Go — высокоуровневый язык. Он плохо подходит на замену С/С++ (для чего позиционируют Rust). Он альтернатива Java/Python/PHP/Ruby (если не учитывать тонкости типизаций и т.п.).

Наконец-то! Ребёнок усвоил материал. Неси дневник.

anonymous ()

Зачем это всё? Го как будто бы взял здравые современные идеи из Питона и реализовал их ровно наполовину. Его девиз должен быть «Половинчатость во всём!». Го это шаг назад по сравнению с питоном.

renjumin ★★★ ()
Ответ на: комментарий от renjumin

Его девиз должен быть «Половинчатость во всём!»

Это девиз Гугла вообще.

KRoN73 ★★★★★ ()

Слава Богу! Богу слава! Слава Богу за всё!

Слава Тебе, Боже наш, слава Тебе!

Слава Отцу и Сыну и Святому Духу, и ныне и присно и во веки веков. Аминь.

Возлюби Господа Бога Твоего всем сердцем твоим, и всею душею твоею, и всем разумением Твоим и возлюби ближнего твоего, как самого себя. Святое Евангелие от Матфея 22, 36-40.

Бог есть любовь. 1-е послание святого апостола Иоанна 4,8.

anonymous ()
Ответ на: комментарий от uin

на жабоскрипте

Оживил, наконец, на том древнем ноуте систему :)

NodeJS 7.4.0 даёт 2.7 сек. Т.е. чуть медленнее Dart'а, но быстрее D :)

KRoN73 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.