

PyJVM – JVM in Python - xenator
http://pyjvm.org/

======
shellac
Finally, the terseness of Java combined with the speed of python.

~~~
swasheck
it's the worst of both worlds, for all to enjoy!

------
migrantgeek
There's a lot of questioning about why someone would do this.

Why can't someone just write for fun? Does everything now have to be
"disruptive" and commercially viable?

~~~
phleet
It's definitely totally fine to build these things for fun, but with a landing
page like this, it seems like the author built it for some purpose beyond
that, otherwise I don't see the point in presenting it in this form.

If the author wanted to learn _and_ get publicity, a blog post or at least
including a "why" section that says "just for fun" on the landing page would
seem suitable to me.

There probably is some interesting motivation for doing this, it's just not
clear what it is.

~~~
daenz
> but with a landing page like this

You mean one of github's default landing pages for projects?
[http://i.imgur.com/nQgmrE5.png](http://i.imgur.com/nQgmrE5.png)

------
danfitch
So I have to wonder.... why? If I was you I would put the link to
[https://github.com/andrewromanenco/pyjvm/blob/master/WHY.md](https://github.com/andrewromanenco/pyjvm/blob/master/WHY.md)
front and center. That's great that it was done for academic purposes but I
didn't understand that from the main page.

------
St-Clock
That's an interesting take of the Python and Java relationship and although it
complements well the landscape (with Jython, JPype, Pyjnius, and Py4J), I'm
not sure what the need is.

(shameless plug warning) When I created Py4J
([http://py4j.sourceforge.net/](http://py4j.sourceforge.net/)), I wanted to
decouple the two ecosystems as much as possible so that both could evolve
independently. There is no jni, no re-implementation of bytecode or
interpreter, just plain sockets working on linux, mac, windows and most
versions of Python and Java.

------
ville
Can we run Jython on it? Why? Just because.

EDIT: Also if it can run _on_ Jython that would make a nice full circle.
EEDIT: Looks like it requires Python 2.7 so this might not be the case (yet).

~~~
rectangletangle
I can see it now

PyJVM --> Jython --> PyJVM --> Jython ...

It reminds me a bit of LISP interpreters that are mostly/entirely written in
LISP.

------
JasonFruit
I am usually fine with "because we could" as a justification, but . . . why?
It's like making a hamburger out of lobster, Kobe beef, and truffles.

~~~
stcredzero
That sounds awesome in its own way. You could probably make millions in
Houston with a restaurant featuring that.

~~~
rch
There actually was a 'millionaire lunch' at a restaurant in Houston that was
along those lines. Served with a glass of Silver Oak, as I recall.

------
Sir_Cmpwn
Programmers add abstractions just as fast as Moore's Law adds speed.

~~~
joshuacc
I think you underestimate how quickly programmers can add abstractions.

------
stcredzero
Does anyone make a JVM that can save its memory image in the style of
Smalltalk and Lisp VMs? This would give a potential solution to the Clojure
startup time problem. (There was a JVM on Smalltalk named Frost.)

~~~
rooted
Check out drip?

~~~
stcredzero
I'm using it. It cut the startup time in half. Saved memory images could do
much better.

------
sanxiyn
If JVM is your thing, Doppio is a JVM in TypeScript.

[https://github.com/int3/doppio](https://github.com/int3/doppio)

~~~
sitkack
Or a pure Lua JVM

[https://cowlark.com/luje/doc/stable/doc/index.wiki](https://cowlark.com/luje/doc/stable/doc/index.wiki)

------
avaku
This can be stacked in multiple levels, cool :) JVM on Python on JVM on Python
on JVM...

~~~
mindcrime
Needs Parrot and Javascript in there somewhere though, for maximum coolness
factor.

------
Edmond
On the flip side there is Python on the JVM :)

[http://crudzilla.com/assets/img/info-graphics/lang-
demo.gif](http://crudzilla.com/assets/img/info-graphics/lang-demo.gif)

~~~
rguldener
And if I recall correctly Graal, the next generation Java JIT Oracle is
working on is also working on Python support. By far not there yet but pretty
cool to see them take their compiler efforts beyond Java.

~~~
interknot
AFAIK this refers to ZipPy:

[https://bitbucket.org/ssllab/zippy](https://bitbucket.org/ssllab/zippy)

~~~
sitkack
What _is_ it?

[http://socalpls.org/slides/zippy.pdf](http://socalpls.org/slides/zippy.pdf)

It is a performant implementation of Python3 on the JVM.

------
antocv
I would rewrite the title to read "JVM in Python".

------
sgt
What is a use case for this?

~~~
stevoski
There isn't one. More helpfully, the author describes it as a learning
experience. How to implement a stack-based virtual machine in Python.

------
1ris
>Requires python 2.7

Why? It's dead, accept it.

~~~
ihsw
Dead? Python 2.7 seems to be Good Enough(TM) for much of the industry titans
that I don't think we'll ever see widespread Python 3.x adoption within the
heavy-weights' infrastructure.

Python 2.7 is far from dead, and the changeover to Python 3 seems to be
similar to Perl5->Perl6 -- or, more to the point, not happening at all.

~~~
1ris
Python 2.7 is still dead.

>Short version: Python 2.x is legacy, Python 3.x is the present and future of
the language

>Python 3.0 was released in 2008. [6 years ago] The final 2.x version 2.7
release came out in mid-2010 [4 years ago], with a statement of extended
support for this end-of-life release. The 2.x branch will see no new major
releases after that. 3.x is under active development and has already seen over
four years of stable releases, including version 3.3 in 2012. The next release
is the upcoming Python 3.4 in early 2014. This means that all recent standard
library improvements, for example, are only available by default in Python
3.x.

[https://wiki.python.org/moin/Python2orPython3](https://wiki.python.org/moin/Python2orPython3)

There is still software for DOS around, and DOS is still dead.

