Язык идеален для обучения и прототипирования, хотя работать все это будет обычно не быстро, но на улице 2015, Марти, тут очень мощные компьютеры, к тому же когда возникнет необходимость — всегда можно будет взять специализированное решение. Питон прощает ошибки оценок производительности.
Причем похоже, что сегодня можно реализовать на нем вообще все. Вообще все. Даже драйвер для Windows.
Или заменить Java script в браузере: проект Brython — это полноценный интерпретатор Python 3. Подключается все с пол-пинка и крайне доходчиво описано тут.
Пример кода:
<html>
<head>
<script src="/brython.js"></script>
</head>
<body onload="brython()">
<script type="text/python">
from browser import document, alert
def echo(ev):
alert(document["zone"].value)
document['mybutton'].bind('click',echo)
</script>
<input id="zone"><button id="mybutton">click !</button>
</body>
</html>
Если вы еще не прониклись, а слезы радости не увлажнили ваши очи, то объясню, что здесь произошло: благодаря волшебству исполнения brython.js в странице стало возможным воспользоваться стандартными операторами python, в том числе import… А это открывает нам мир к миллионам строк готового чужого и своего родного кода.
Комментарии (32)
GearHead
19.04.2015 20:30+10В силу некоторых обстоятельств, будучи связанным со сферой информационной безопасности, я грежу просто невероятным наплывом активирующейся по ссылке малвари, майнеров, использующих Cuda, или прочего великолепия, недетектируемого обычными средствами АВ защиты. Помните те времена, когда в браузерах многие отключали js? Есть повод задуматься о повторении истории.
честно говоря, я не могу понять… это всё большая шутка? я опять не понял сарказма, или вы действительно не понимаете разницу между интерпретатором пайтона, и интерпретатором пайтона, написанном на JS?nobilix
19.04.2015 20:40+14Ага, кажется автор думает, что теперь песочница браузера на помеха и можно хоть винчестер отформатировать из браузера) Ну а чо — пайтон же теперь в веб-страничках, все же видели)
resetnow
19.04.2015 20:40+2хотя работать все это будет обычно не быстро, но на улице 2015, Марти, тут очень мощные компьютеры
А потом в убунте всяческие апдейтеры и сборщики отчетов об ошибках на python появляются и отжирают память десятками мегабайт. На несвежих ПК (на которые часто ставят дистрибутивы Linux, чтобы было побыстрее). И плагины для оболочки на python туда же.ZoomLS
19.04.2015 23:02В данном случае имелась ввиду данная реализация python в виде js. Сам по себе Python достаточно быстрый.
berezuev
19.04.2015 22:17+3единственный вопрос: а зачем оно надо?
irony_iron Автор
19.04.2015 23:27-4import threading же
berezuev
20.04.2015 01:39+1Ну, если нагружать фронтенд питоном, то действительно может многозадачность понадобиться… А так, не более чем прикольная игрушка. На деле, не нужно оно в браузере
MuLLtiQ
20.04.2015 01:39+5Вы уверены что «import threading» будет работать на этом вашем Brython?
А в целом — Питон хорош, да, но не в браузере. Извините
mwizard
20.04.2015 02:57-1Мне нравится Python и я на нем давно и продуктивно пишу, но пока Гвидо не перестанет упрямиться и в Python не появятся многострочные функциональные выражения, это все все равно будет продолжать выглядеть ущербно.
vit1251
20.04.2015 08:45Парни вообще в JavaScript уже появились классы. Хватит страдать ерундой с питонизацией всего…
amarao
Чем миллионы строк кода на питоне отличаются от миллионов строк кода на javascript? Внутрях-то там та же самая неонка, что и всегда.
irony_iron Автор
js надо осваивать, а скрипт-киддисам некогда)
amarao
О, боже, поколение скрипт-кидди выросло вне существования JS. Все эти годы, JS, как оружие массового поражения, скрывался ZOG от масс простых людей.
Какая им разница, что копипастить?
irony_iron Автор
одна технология, один синтаксис, реализуешь свою задачу отлаженными приемами, а не побеждаешь язык. Удобно, когда нужен быстро результат, а не Идеальный Код.
amarao
ЧО?
Скрипт-кидди? Отлаженные методы? Не могу совместить, извините.
irony_iron Автор
Например сейчас самая популярная угроза — шифровальщики пользовательских данных, дети грузят js, из js грузит bat, bat вписывает в систему dll писанную на .net для интерфейса «пришлите денег», сервис на c++ для старта перед winlogon, вобщем целый парк технологий у бедняг. Штат спецов раздут, пофит минимальный) Как мне кажется.
Вобщем выгода, когда ты на стыке технологий, а так да, вы правы.
crackpot
Дети загрузят js, который загрузит питон, который загрузит малварь в файловую систему и далее по тексту.
Глупый вопрос: разве js имеет доступ на запись в ФС (без наличия ActiveX) и разве сегодняшние антивирусы не умеют детектить загрузку чего-либо, что пользователь не нажал «скачать»?
irony_iron Автор
а js у них мимо браузера идет, вложением в почту и слезами про «потеряли накладную, запустите поищите». АВ популярное детектят на загрузку, но если вкраце — «все оче плохо»
crackpot
Подождите-подождите.
Во-первых, как это — «js мимо браузера» — ему нужен браузер, который его исполнит. Сама ОС не умеет такого.
Во-вторых, в истории про «потеряли накладную — запустите поищите» тоже не понятно: то есть либо один юзер другому малварь прислал, либо как?
Как юзеры запускают всякое, скачанное из интернета, гуано — это понятно. Но здесь речь идет о том, что гуано запустится и скачает себя само. И это уже вызывает вопросы.
irony_iron Автор
habrahabr.ru/post/110617 про мимо браузера. Если лениво — есть в винде сscript.exe ассоциированный с .js и браузер не нужен.
Схема каждый раз разная, зависит от квалификации команды атакующих, есть целенаправленные взломы, есть автоматизированные, ищущие ненастроенные почтовые сервера и делающие рассылку по выдранным из переписки контактам. В конечном итоге для юзера все выглядит так, будто от админа\партнера пришло сообщение даже бывает с указанием имени-отчества должности.
Само по себе оно пока не запускается, но но это видимо не надолго
crackpot
WSH да, умеет js, ок.
Однако в конечном итоге, пользователю должен прийти аттач, который пользователь должен открыть/запустить.
И покуда пользователь все равно должен тыкнуть мышкой — это не само, это из-за двух проблем: во-первых, в инфраструктуре пользователя все плохо с АВ-защитой; во-вторых, пользователь не обучен или не имеет нужных средств проверки почты.
В любом случае, «оно» не «само».
irony_iron Автор
одна нация xD
bormotov
Осмелюсь предположить, что качеством отличаются и довольно заметно.
Нет. я сам не исследовал и не сравнивал, просто ощущение.
В этом же духе есть еще PyPy.js (вруг кто не видел pypyjs.org)