Request for opinions: A cross language development tool
Tal Zion
tal at bridge-dev.com
Tue Jun 21 08:10:37 EDT 2016
*
Hey!
I would like to know your opinions about a project a friend and I have
been developing for about a year now, which we really think could
empower Python. Today Python is mostly used on servers. Many people who
want to develop an app will choose Python to write the backend and
develop frontends in Java, Swift, Javascript, etc. We think Python is
great, and we don't see why we shouldn't be able to write a native iOS,
Android or web app entirely in Python. After all, these languages share
the same concepts, more or less (classes, functions, exceptions, etc)
and what really separates them is syntax. We're proposing a new
approach: developers will code in their favorite language, such as
Python (woot woot!), and be able to import Java, Swift and Javascript
code from Python, and use that code as if it were written in Python.
Python code will run on just about any platform, including the web.
**
So how does this magic work? We developed a new compiler platform called
Bridge. At the heart of Bridge is the Bridge Extensible Code
Representation (BECR). Code in any language is parsed into an AST and is
then translated to the BECR. The BECR supports common programming
concepts (if, for, while, etc) and it can also be extended to support
new concepts in order to ease the translation from the source language.
Therefore, the translation from the source language’s AST to the BECR is
easy as it**merely translates syntax. Then, Bridge translates the BECR
to LLVM IR and from there the code can be compiled to x86, arm, asm.js
or any other LLVM backend*. *After code has been translated to BECR, it
doesn’t matter what the source language was, and the syntax barriers
that stopped languages from working together disappear. This means that
once more languages will be translated to the BECR, they will be able to
work seamlessly together.
**
Today, we have a basic demo showing an Android app written in Python
displaying native Android buttons and labels inside a native scroll
view. In this demo, Python code can import Java classes and inherit from
them.
Soon Bridge will be released as an open source project. We’d love to
hear your opinions about this project. We’re really excited and we can’t
wait to see Python being used in more and more places!
**
Thanks, Tal**
*
More information about the Python-list
mailing list