Python em JavaScript

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

Python em JavaScript

Luciano Ramalho
http://www.skulpt.org/

--
Luciano Ramalho
programador repentista || stand-up programmer
Twitter: @luciano
Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Thiago Avelino
Bacana, estava olhando esse projeto semana passada.

--
Thiago Avelino | www.avelino.us


2011/7/21 Luciano Ramalho <[hidden email]>

> **
>
>
> http://www.skulpt.org/
>
> --
> Luciano Ramalho
> programador repentista || stand-up programmer
> Twitter: @luciano
>  
>


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Rodrigo (skhaz)
Outro[1], na seção demos.

1 - https://github.com/kripken/emscripten/wiki

2011/7/21 Thiago Avelino <[hidden email]>

>
>
>
> Bacana, estava olhando esse projeto semana passada.
>
> --
> Thiago Avelino | www.avelino.us
>
> 2011/7/21 Luciano Ramalho <[hidden email]>
>
> > **
>
> >
> >
> > http://www.skulpt.org/
> >
> > --
> > Luciano Ramalho
> > programador repentista || stand-up programmer
> > Twitter: @luciano
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>


--
http://github.com/skhaz
http://wintermoon.sourceforge.net/
http://twitter.com/#!/rdelduca
Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

George Ribeiro
Olá bom dia, se foi possível uma implementação em js no browser, seria
possível também em node, correto? andei testando ele esses dias o achei
absurdamente rápido. Quem sabe uma implementação de python em node pode ser
algo bem interessante, o que acham?

Em 21 de julho de 2011 02:15, Rodrigo (a.k.a. Skhaz) <
[hidden email]> escreveu:

> **
>
>
> Outro[1], na seção demos.
>
> 1 - https://github.com/kripken/emscripten/wiki
>
>
> 2011/7/21 Thiago Avelino <[hidden email]>
> >
> >
> >
> > Bacana, estava olhando esse projeto semana passada.
> >
> > --
> > Thiago Avelino | www.avelino.us
> >
> > 2011/7/21 Luciano Ramalho <[hidden email]>
> >
> > > **
> >
> > >
> > >
> > > http://www.skulpt.org/
> > >
> > > --
> > > Luciano Ramalho
> > > programador repentista || stand-up programmer
> > > Twitter: @luciano
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
>
> --
> http://github.com/skhaz
> http://wintermoon.sourceforge.net/
> http://twitter.com/#!/rdelduca
>
>  
>



--
George Ribeiro


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/python-brasil/

<*> Para sair deste grupo, envie um e-mail para:
    [hidden email]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Rodrigo Ferreira de Souza-2
muito bom!

2011/7/21 George Ribeiro <[hidden email]>

> Olá bom dia, se foi possível uma implementação em js no browser, seria
> possível também em node, correto? andei testando ele esses dias o achei
> absurdamente rápido. Quem sabe uma implementação de python em node pode ser
> algo bem interessante, o que acham?
>
> Em 21 de julho de 2011 02:15, Rodrigo (a.k.a. Skhaz) <
> [hidden email]> escreveu:
>
> > **
> >
> >
> > Outro[1], na seção demos.
> >
> > 1 - https://github.com/kripken/emscripten/wiki
> >
> >
> > 2011/7/21 Thiago Avelino <[hidden email]>
> > >
> > >
> > >
> > > Bacana, estava olhando esse projeto semana passada.
> > >
> > > --
> > > Thiago Avelino | www.avelino.us
> > >
> > > 2011/7/21 Luciano Ramalho <[hidden email]>
> > >
> > > > **
> > >
> > > >
> > > >
> > > > http://www.skulpt.org/
> > > >
> > > > --
> > > > Luciano Ramalho
> > > > programador repentista || stand-up programmer
> > > > Twitter: @luciano
> > > >
> > > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> >
> > --
> > http://github.com/skhaz
> > http://wintermoon.sourceforge.net/
> > http://twitter.com/#!/rdelduca
> >
> >
> >
>
>
>
> --
> George Ribeiro
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
> Links do Yahoo! Grupos
>
>
>


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Luciano Ramalho
In reply to this post by George Ribeiro
2011/7/21 George Ribeiro <[hidden email]>:
> Olá bom dia, se foi possível uma implementação em js no browser, seria
> possível também em node, correto? andei testando ele esses dias o achei
> absurdamente rápido. Quem sabe uma implementação de python em node pode ser
> algo bem interessante, o que acham?

Não tem porque o Skulpt não possa rodar no node.js, pena que não tenho
tempo de experimentar e fazer um demo agora mesmo... Vale lembrar que
o node.js usa o interpretador V8 do Google Chrome, portanto implementa
um dialeto moderno bem completo de ECMAScript 3 e inclui recursos do
ECMAScript 5.

[ ]s
Luciano

>
> Em 21 de julho de 2011 02:15, Rodrigo (a.k.a. Skhaz) <
> [hidden email]> escreveu:
>
>> **
>>
>>
>> Outro[1], na seção demos.
>>
>> 1 - https://github.com/kripken/emscripten/wiki
>>
>>
>> 2011/7/21 Thiago Avelino <[hidden email]>
>> >
>> >
>> >
>> > Bacana, estava olhando esse projeto semana passada.
>> >
>> > --
>> > Thiago Avelino | www.avelino.us
>> >
>> > 2011/7/21 Luciano Ramalho <[hidden email]>
>> >
>> > > **
>> >
>> > >
>> > >
>> > > http://www.skulpt.org/
>> > >
>> > > --
>> > > Luciano Ramalho
>> > > programador repentista || stand-up programmer
>> > > Twitter: @luciano
>> > >
>> > >
>> >
>> > [As partes desta mensagem que não continham texto foram removidas]
>> >
>> >
>>
>> --
>> http://github.com/skhaz
>> http://wintermoon.sourceforge.net/
>> http://twitter.com/#!/rdelduca
>>
>>
>>
>
>
>
> --
> George Ribeiro
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
> Links do Yahoo! Grupos
>
>
>



--
Luciano Ramalho
programador repentista || stand-up programmer
Twitter: @luciano
Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Carlos Ribeiro
In reply to this post by Luciano Ramalho
2011/7/21 Luciano Ramalho <[hidden email]>

> http://www.skulpt.org/
>

Até onde o JIT vai nos levar?

--
Carlos Ribeiro
Consultoria em Projetos
twitter: http://twitter.com/carribeiro
blog: http://rascunhosrotos.blogspot.com
mail: [hidden email]


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Denis Costa-2
In reply to this post by Luciano Ramalho
Eu já usei esse pra testar códigos longe do meu pc...

http://py-ide-online.appspot.com/

--
Denis Silva Costa
Graduando em Informática (Banco de dados) - Fatec - São José dos Campos
Usuário Linux: #516577
Usuário Ubuntu: #31758
Certificado LPIC-1, CLA
"May the force be with you"


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Leonardo Santagada
In reply to this post by Carlos Ribeiro
On Thu, Jul 21, 2011 at 9:39 AM, Carlos Ribeiro <[hidden email]> wrote:
>> http://www.skulpt.org/
>>
>
> Até onde o JIT vai nos levar?

A lugar nenhum. Tem duas opções, ou compila o interpretador de python
de verdade para javascript o que invariavelmente vai ser mais lento do
que o interpretador rodando em C (e provavelmente com bem mais bugs),
o que é interessante para aprender python e brincar um pouco, mas com
performance horrivel.

A segunda opção é o que o skulpt fazia (da ultima vez que eu vi, não
sei se agora) que é implementar uma linguagem diferente de python. Ele
tenta com um pouco de código em runtime emular o python em cima de js
o que no meu ponto de vista é o pior que pode ser feito (e é o mesmo
que o pyjamas faz). Com isso a sintaxe é muito parecida ou igual a
python mas a semantica é completamente diferente. Nenhuma das
funcionalidades de javascript tem a mesma semantica de python e não
tem como consertar isso. O que tu acaba é com uma terceira linguagem
com trocentos defeitos, uns de js, uns do compilador e outros de
python.

Se eu fosse fazer algo escreveria um compilador em python tipo o do
coffescript, mas que eu conseguisse definir várias sintaxes parecidas
com python para melhorar varias linguagens, como javascript e go, mas
que no fim só mudassem a sintaxe e gerassem código nativo daquela
linguagem no ultimo passo (igual a coffescript). A única coisa que eu
realmente sinto falta quando vou escrever código nessas outras
linguagens é a sintaxe de python, a semantica de outras linguagens
geralmente é o porque tu esta escrevendo nelas (e não tem como
consertar).

--
Leonardo Santagada
Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Carlos Ribeiro
2011/7/21 Leonardo Santagada <[hidden email]>

> On Thu, Jul 21, 2011 at 9:39 AM, Carlos Ribeiro <[hidden email]>
> wrote:
> >> http://www.skulpt.org/
> >>
> >
> > Até onde o JIT vai nos levar?
>
> A lugar nenhum. Tem duas opções, ou compila o interpretador de python
> de verdade para javascript o que invariavelmente vai ser mais lento do
> que o interpretador rodando em C (e provavelmente com bem mais bugs),
> o que é interessante para aprender python e brincar um pouco, mas com
> performance horrivel.
>

Leonardo, discordo (respeitosamente :-)) e acho que você está levando a
questão para o lado errado.

Primeiro, meu comentário diz respeito ao fato de que as VMs Javascript já
são velozes o suficiente para dar boot numa imagem Linux (
http://bellard.org/jslinux/) ou rodar um interpretador Python (
http://www.skulpt.org/).

Segundo, porque a história nos mostra que a Lei de Moore sempre ganha. Quem
programava em Assembler duvidada que uma linguagem de alto nível pudesse dar
performance suficiente. Quem programava em C duvidava que uma linguagem
dinâmica pudesse fazer o mesmo. E quem sabe, mesmo com toda ineficência
acumulada em camadas de indireção - Python rodando sobre Javascript com JIT
para gerar código nativo, e por aí vai - a longo prazo este se torna o
sistema mais efetivo para implementar novas linguagens "client side"?

Assim por mais feio que pareça, meu lado pragmático (reforçado por quase 30
anos de experiência desde o primeiro programinha em BASIC) me diz que com o
aumento de performance dos engines Javascript, veremos cada vez mais coisa
rodando desse jeito, cada vez melhor. Quem sabe alguém expõe uma interface
em Javascript mais adequada para rodar outras linguagens (os novos typed
arrays já são parte disso!!).

Quem sabe o PyPy não roda em cima disso - usando o Javascript como backend?

--
Carlos Ribeiro
Consultoria em Projetos
twitter: http://twitter.com/carribeiro
blog: http://rascunhosrotos.blogspot.com
mail: [hidden email]


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

A. Bruno
Carlos,

Eu só não sei qual a vantagem disso. Por que rodar Python sobre JS?

paz e amor (love and peace),

Alysson Bruno
Palmas(TO)
Brasil

http://abruno.com



Em 21 de julho de 2011 11:13, Carlos Ribeiro <[hidden email]>escreveu:

> 2011/7/21 Leonardo Santagada <[hidden email]>
>
> > On Thu, Jul 21, 2011 at 9:39 AM, Carlos Ribeiro <[hidden email]>
> > wrote:
> > >> http://www.skulpt.org/
> > >>
> > >
> > > Até onde o JIT vai nos levar?
> >
> > A lugar nenhum. Tem duas opções, ou compila o interpretador de python
> > de verdade para javascript o que invariavelmente vai ser mais lento do
> > que o interpretador rodando em C (e provavelmente com bem mais bugs),
> > o que é interessante para aprender python e brincar um pouco, mas com
> > performance horrivel.
> >
>
> Leonardo, discordo (respeitosamente :-)) e acho que você está levando a
> questão para o lado errado.
>
> Primeiro, meu comentário diz respeito ao fato de que as VMs Javascript já
> são velozes o suficiente para dar boot numa imagem Linux (
> http://bellard.org/jslinux/) ou rodar um interpretador Python (
> http://www.skulpt.org/).
>
> Segundo, porque a história nos mostra que a Lei de Moore sempre ganha. Quem
> programava em Assembler duvidada que uma linguagem de alto nível pudesse
> dar
> performance suficiente. Quem programava em C duvidava que uma linguagem
> dinâmica pudesse fazer o mesmo. E quem sabe, mesmo com toda ineficência
> acumulada em camadas de indireção - Python rodando sobre Javascript com JIT
> para gerar código nativo, e por aí vai - a longo prazo este se torna o
> sistema mais efetivo para implementar novas linguagens "client side"?
>
> Assim por mais feio que pareça, meu lado pragmático (reforçado por quase 30
> anos de experiência desde o primeiro programinha em BASIC) me diz que com o
> aumento de performance dos engines Javascript, veremos cada vez mais coisa
> rodando desse jeito, cada vez melhor. Quem sabe alguém expõe uma interface
> em Javascript mais adequada para rodar outras linguagens (os novos typed
> arrays já são parte disso!!).
>
> Quem sabe o PyPy não roda em cima disso - usando o Javascript como backend?
>
> --
> Carlos Ribeiro
> Consultoria em Projetos
> twitter: http://twitter.com/carribeiro
> blog: http://rascunhosrotos.blogspot.com
> mail: [hidden email]
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
> Links do Yahoo! Grupos
>
>
>


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Carlos Ribeiro
2011/7/21 A. Bruno <[hidden email]>

> Eu só não sei qual a vantagem disso. Por que rodar Python sobre JS?
>

1) Para ter mais opções de linguagem client-side.
2) Para implementar frameworks de validação/etc que rodem em linguagem
"nativa" do desenvolvedor, dentro do browser.
3) Para implementar sistemas similares ao GWT, que hoje já "traduz" Java em
Javascript para rodar basicamente o mesmo código nos dois lados.

Ex: O finado Google Wave usava uma técnica semelhante na implementação do OT
(Operational Transformation), que é o algortimo por trás da colaboração
online, e que é usada hoje no Google Docs. O mesmo código Java rodava no
server e no cliente, por meio de uma "conversão" automática em Javascript
que era usada para carregar no cliente. Obs: não sei se tem documentação
oficial disso, deve ter porque o Google Wave foi aberto - eu fiquei sabendo
por meio de outras discussões online.

--
Carlos Ribeiro
Consultoria em Projetos
twitter: http://twitter.com/carribeiro
blog: http://rascunhosrotos.blogspot.com
mail: [hidden email]


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Leonardo Santagada
In reply to this post by Carlos Ribeiro
2011/7/21 Carlos Ribeiro <[hidden email]>:
> Segundo, porque a história nos mostra que a Lei de Moore sempre ganha. Quem
> programava em Assembler duvidada que uma linguagem de alto nível pudesse dar
> performance suficiente. Quem programava em C duvidava que uma linguagem
> dinâmica pudesse fazer o mesmo. E quem sabe, mesmo com toda ineficência
> acumulada em camadas de indireção - Python rodando sobre Javascript com JIT
> para gerar código nativo, e por aí vai - a longo prazo este se torna o
> sistema mais efetivo para implementar novas linguagens "client side"?

Jits e compiladores emitem código assembly até hoje, e possuem trechos
de código escritos em assembly justamente por causa da performance. Os
jits de javascript que estão nos browsers de hoje são na verdade bem
simples e tem muitas construções em javascript que quebram o jit e tem
performance horrivel. O fato de tu conseguir rodar um emulador de x86
ou compilar c para javascript não muda isso.

> Quem sabe o PyPy não roda em cima disso - usando o Javascript como backend?

Não faz sentido, porque o pypy tem um jit, que na verdade é melhor em
um monte de coisa do que o do v8, e o plano é que ele seja melhor em
tudo do que o v8. Gerar javascript ao invés de assembly iria ser algo
do tipo 1000x mais lento do que é hoje, e ia usar uma tonelada de
memória também. talvez isso mude nos próximos 15 anos, se as empresas
desenvolverem jits melhores e/ou o javascript evoluir, mas hoje é uma
péssima ideia.

--
Leonardo Santagada
Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

George Ribeiro
Obrigado pela explicação Luciano. Estou aguardando sua demo pra gente saber
como irá se comportar no node.js.

Em 21 de julho de 2011 15:24, Leonardo Santagada <[hidden email]>escreveu:

> **
>
>
> 2011/7/21 Carlos Ribeiro <[hidden email]>:
>
> > Segundo, porque a história nos mostra que a Lei de Moore sempre ganha.
> Quem
> > programava em Assembler duvidada que uma linguagem de alto nível pudesse
> dar
> > performance suficiente. Quem programava em C duvidava que uma linguagem
> > dinâmica pudesse fazer o mesmo. E quem sabe, mesmo com toda ineficência
> > acumulada em camadas de indireção - Python rodando sobre Javascript com
> JIT
> > para gerar código nativo, e por aí vai - a longo prazo este se torna o
> > sistema mais efetivo para implementar novas linguagens "client side"?
>
> Jits e compiladores emitem código assembly até hoje, e possuem trechos
> de código escritos em assembly justamente por causa da performance. Os
> jits de javascript que estão nos browsers de hoje são na verdade bem
> simples e tem muitas construções em javascript que quebram o jit e tem
> performance horrivel. O fato de tu conseguir rodar um emulador de x86
> ou compilar c para javascript não muda isso.
>
>
> > Quem sabe o PyPy não roda em cima disso - usando o Javascript como
> backend?
>
> Não faz sentido, porque o pypy tem um jit, que na verdade é melhor em
> um monte de coisa do que o do v8, e o plano é que ele seja melhor em
> tudo do que o v8. Gerar javascript ao invés de assembly iria ser algo
> do tipo 1000x mais lento do que é hoje, e ia usar uma tonelada de
> memória também. talvez isso mude nos próximos 15 anos, se as empresas
> desenvolverem jits melhores e/ou o javascript evoluir, mas hoje é uma
> péssima ideia.
>
> --
> Leonardo Santagada
>
>  
>



--
George Ribeiro


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/python-brasil/

<*> Para sair deste grupo, envie um e-mail para:
    [hidden email]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Rodrigo Ferreira de Souza-2
Tem esse compilador Python para Javascript também que é interessante

https://github.com/daeken/Pyvascript

Abraços

2011/7/21 George Ribeiro <[hidden email]>

> Obrigado pela explicação Luciano. Estou aguardando sua demo pra gente saber
> como irá se comportar no node.js.
>
> Em 21 de julho de 2011 15:24, Leonardo Santagada <[hidden email]
> >escreveu:
>
> > **
> >
> >
> > 2011/7/21 Carlos Ribeiro <[hidden email]>:
> >
> > > Segundo, porque a história nos mostra que a Lei de Moore sempre ganha.
> > Quem
> > > programava em Assembler duvidada que uma linguagem de alto nível
> pudesse
> > dar
> > > performance suficiente. Quem programava em C duvidava que uma linguagem
> > > dinâmica pudesse fazer o mesmo. E quem sabe, mesmo com toda ineficência
> > > acumulada em camadas de indireção - Python rodando sobre Javascript com
> > JIT
> > > para gerar código nativo, e por aí vai - a longo prazo este se torna o
> > > sistema mais efetivo para implementar novas linguagens "client side"?
> >
> > Jits e compiladores emitem código assembly até hoje, e possuem trechos
> > de código escritos em assembly justamente por causa da performance. Os
> > jits de javascript que estão nos browsers de hoje são na verdade bem
> > simples e tem muitas construções em javascript que quebram o jit e tem
> > performance horrivel. O fato de tu conseguir rodar um emulador de x86
> > ou compilar c para javascript não muda isso.
> >
> >
> > > Quem sabe o PyPy não roda em cima disso - usando o Javascript como
> > backend?
> >
> > Não faz sentido, porque o pypy tem um jit, que na verdade é melhor em
> > um monte de coisa do que o do v8, e o plano é que ele seja melhor em
> > tudo do que o v8. Gerar javascript ao invés de assembly iria ser algo
> > do tipo 1000x mais lento do que é hoje, e ia usar uma tonelada de
> > memória também. talvez isso mude nos próximos 15 anos, se as empresas
> > desenvolverem jits melhores e/ou o javascript evoluir, mas hoje é uma
> > péssima ideia.
> >
> > --
> > Leonardo Santagada
> >
> >
> >
>
>
>
> --
> George Ribeiro
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> Python-Brasil
> http://www.python.org.br/wiki/AntesDePerguntar
> Links do Yahoo! Grupos
>
>
>


[As partes desta mensagem que não continham texto foram removidas]

Reply | Threaded
Open this post in threaded view
|

Re: Python em JavaScript

Leonardo Santagada
2011/7/23 Rodrigo Ferreira de Souza <[hidden email]>:
> Tem esse compilador Python para Javascript também que é interessante
>
> https://github.com/daeken/Pyvascript
>

Esse é interessante, ele é o que eu falei, é só uma sintaxe nova para
javascript. O problema é que python puro sem alguma forma de lanbda
mais potente não sei se é a sintaxe perfeita para o javscript. Acho
que um subset da parte boa de coffescript é melhor.

--
Leonardo Santagada