Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #110233

Re: Request for opinions: A cross language development tool

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Tal Zion <tal@bridge-dev.com>
Newsgroups comp.lang.python
Subject Re: Request for opinions: A cross language development tool
Date Tue, 21 Jun 2016 17:06:04 +0300
Lines 71
Message-ID <mailman.5.1466518152.11516.python-list@python.org> (permalink)
References <57692EBD.1060606@bridge-dev.com> <mailman.4.1466511829.11516.python-list@python.org> <nkbcid$tgh$1@dont-email.me> <576949CC.2070708@bridge-dev.com>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 8bit
X-Trace news.uni-berlin.de 93buAfW6ztZyhqQPx1GpTA1Q6rofSHXSBmLcr5dDtzKw==
Return-Path <tal@bridge-dev.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.025
X-Spam-Evidence '*H*': 0.95; '*S*': 0.00; '(python': 0.05; 'compiler': 0.05; 'cpython': 0.05; 'javascript,': 0.07; 'repeated': 0.07; 'ast': 0.09; 'parsed': 0.09; 'subject:language': 0.09; 'x86,': 0.09; 'python': 0.10; 'intermediate': 0.15; 'java,': 0.15; 'languages.': 0.15; 'extensible': 0.16; 'magic': 0.16; 'objective-c,': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'task.': 0.16; 'wrote:': 0.16; 'platforms': 0.18; 'language': 0.19; "aren't": 0.22; 'features,': 0.22; 'libraries': 0.22; 'code,': 0.23; 'code.': 0.23; "python's": 0.23; 'sets': 0.23; 'implemented': 0.24; 'written': 0.24; 'header:In-Reply- To:1': 0.24; 'header:User-Agent:1': 0.26; 'developers': 0.26; 'sense': 0.26; 'appreciated.': 0.27; 'external': 0.27; 'respective': 0.27; 'leveraging': 0.27; 'module.': 0.27; 'translated': 0.27; 'usable': 0.29; 'creating': 0.30; 'code': 0.30; 'compiled': 0.32; 'run': 0.33; 'source': 0.33; 'accessible': 0.33; 'platforms.': 0.33; 'open': 0.33; 'similar': 0.33; 'languages': 0.34; 'add': 0.34; 'list': 0.34; 'done': 0.35; 'interact': 0.35; 'platforms,': 0.35; 'community': 0.36; 'but': 0.36; 'needed': 0.36; 'there': 0.36; 'url:org': 0.36; 'faster': 0.36; 'modules': 0.36; 'to:addr:python-list': 0.36; 'pm,': 0.36; 'subject:: ': 0.37; 'really': 0.37; 'two': 0.37; 'being': 0.37; 'integration': 0.38; 'christian': 0.38; 'several': 0.38; 'thank': 0.38; 'sure': 0.39; 'does': 0.39; 'enough': 0.39; 'rather': 0.39; 'to:addr:python.org': 0.40; 'called': 0.40; 'easy': 0.60; 'your': 0.60; 'provide': 0.61; 'bridge': 0.63; 'relatively': 0.63; 'more': 0.63; 'excited': 0.63; 'hear': 0.64; 'our': 0.64; 'between': 0.65; 'soon': 0.65; 'developed': 0.66; 'complement': 0.66; 'importantly,': 0.66; 'promise': 0.66; 'apart': 0.70; 'opinions': 0.71; '100%': 0.72; 'bridge,': 0.84; 'bridge.': 0.84; 'ever.': 0.84; 'gollwitzer': 0.84; 'subject:tool': 0.84; 'we\xe2\x80\x99d': 0.84; '.net,': 0.91; 'received:il': 0.91; 'we\xe2\x80\x99re': 0.91
DKIM-Signature v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bridge-dev.com; s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:References:To:Subject; bh=hNVzr2Er+pruwFeLXtwhiuqzvrOtUlCPXYOBXEFDzEk=; b=CkBUJRuCyny1pLy62LmWFrWJXitclzL9on/L+ItGIlMPWg57ILc9XKrWdAxlKpswGWH9d6iYhJ1EvctE9f8oE2/cQRLi0y0S1Khz5/X+FQ/thu0YqfBcPBJr+5iTa0jFWPklJWFTrzC6bWzhQyFTwZtz/J8uJXwMTUKaxr9kYecq5msj4t6KlsPjKGTlh143I3gK6C3l/GBpjYB7cr2zA4nsMlGKykNtAYq5GmEDnVaHaGykZAcXmHoNLa6NY+VS/dwcmfrHuNdhov1xMJD69JHJbW7lrmf8qRB0lHiZUJ5vWuZPxyX0IXtTIeqZ29SDW4+THaX3EA9f3xqxkNfS5w==;
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0
In-Reply-To <nkbcid$tgh$1@dont-email.me>
X-AntiAbuse This header was added to track abuse, please include it with any abuse report
X-AntiAbuse Primary Hostname - n1plcpnl0079.prod.ams1.secureserver.net
X-AntiAbuse Original Domain - python.org
X-AntiAbuse Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse Sender Address Domain - bridge-dev.com
X-Get-Message-Sender-Via n1plcpnl0079.prod.ams1.secureserver.net: authenticated_id: tal@bridge-dev.com
X-Source
X-Source-Args
X-Source-Dir
X-CMAE-Envelope MS4wfDXCBv6lmmf63+4oPalJrS77k4JXszN4Be+rOTuSRiCM/4zqPR/vIXPWI1MSpg5uA5zYOabvmMFZ4mOCkZ2xbnLKV6dSIrBqlUCvwTUKq0uxeMiT1nt6 RD6pmUP2TkG0MjsQN/S1xGTzgfKmKyLsbQKnjLS7YAy6qnPWiReEK71KicDZe/VsSrUY3C1/ubqTB1oae9L4nEWDHc9YymeFURY=
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.22
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <576949CC.2070708@bridge-dev.com>
X-Mailman-Original-References <57692EBD.1060606@bridge-dev.com> <mailman.4.1466511829.11516.python-list@python.org> <nkbcid$tgh$1@dont-email.me>
Xref csiph.com comp.lang.python:110233

Show key headers only | View raw


On 06/21/2016 03:39 PM, Christian Gollwitzer wrote:
> Am 21.06.16 um 14:10 schrieb Tal Zion:
>> develop frontends in Java, Swift, Javascript, etc.
> >
>> 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. [.....]
>> 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*.
>
> So you have repeated .NET, or Parrot, or the JVM. What is new in your 
> system that sets it apart from these?
>
>> 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!
>
> Make sure you can do better than those:
>
> http://ironpython.net/ (Python on .NET)
> http://parrot.org/ (Python on the Perl-VM)
> http://www.jython.org/ (Python on the JVM)
>
> All of those projects promise a seamless integration of several 
> languages in a single VM. ALl of them have failed in the sense that 
> the languages have not converged onto that platform.
>
>     Christian

Hi Christian,
Thank you for your opinion, it is much appreciated.
There are similarities but there are also a few important implementation 
differences:

* It is easier to add languages to Bridge than it is to any of the above 
platforms: In order to make Python run on those platforms, those 
projects needed to write a compiler from Python to those platforms' 
respective intermediate languages. That is a very hard task. In Bridge, 
we provide the BECR, which makes it easy to re-use concepts implemented 
in other languages. For example, after we are done adding enough 
concepts to the BECR to compile 100% of Python's features, adding Ruby 
will be relatively easy as there are many similar concepts between the 
two languages.

* Bridge enables Python code to interact with more languages through our 
external interfaces: Bridge code can interact with libraries not 
compiled to Bridge. So Python code will be able to call Swift, 
Objective-C, Java, and C code, to name a few, even if they weren't 
compiled to Bridge.

* Bridge integrates with CPython in order to provide the same experience 
developers are used to: There are many Python modules written in C which 
are not usable in the above platforms. In Bridge you can use any CPython 
module. So when you are creating a Python list in Bridge, you are 
actually using CPython's list implementation.

* Bridge makes Python faster: Python code compiled through Bridge is 
compiled to native code. Because we are leveraging LLVM's many 
optimizations, Python code will run faster than ever.

* Bridge is more hackable: Using plugins, Bridge is much more accessible 
to community participation.

Most importantly, Bridge will enable Python code to run on many new 
platforms (iOS, Android, web browsers..), while none of the above 
platforms provide this ability. We aren't looking to compete with 
CPython, but rather to complement it.

Tal

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Request for opinions: A cross language development tool Tal Zion <tal@bridge-dev.com> - 2016-06-21 15:10 +0300
  Re: Request for opinions: A cross language development tool Christian Gollwitzer <auriocus@gmx.de> - 2016-06-21 14:39 +0200
    Re: Request for opinions: A cross language development tool Tal Zion <tal@bridge-dev.com> - 2016-06-21 17:06 +0300
      Re: Request for opinions: A cross language development tool BartC <bc@freeuk.com> - 2016-06-21 19:02 +0100
    Re: Request for opinions: A cross language development tool Chris Angelico <rosuav@gmail.com> - 2016-06-22 03:36 +1000
    Re: Request for opinions: A cross language development tool Tal Zion <tal@bridge-dev.com> - 2016-06-21 21:01 +0300
      Re: Request for opinions: A cross language development tool Laurent Pointal <laurent.pointal@free.fr> - 2016-06-23 09:36 +0200
        Re: Request for opinions: A cross language development tool Marko Rauhamaa <marko@pacujo.net> - 2016-06-23 12:07 +0300
    Re: Request for opinions: A cross language development tool Chris Angelico <rosuav@gmail.com> - 2016-06-22 04:26 +1000
    Re: Request for opinions: A cross language development tool Tal Zion <tal@bridge-dev.com> - 2016-06-21 21:30 +0300
    Re: Request for opinions: A cross language development tool Chris Angelico <rosuav@gmail.com> - 2016-06-22 05:28 +1000
  Re: Request for opinions: A cross language development tool Steven D'Aprano <steve@pearwood.info> - 2016-06-22 02:25 +1000

csiph-web