Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    A

    Alon Zakai

    syntensity.com · Personal blog · on HN since 2010

    Alon Zakai, creator of Emscripten, writes about compiling C and C++ projects to JavaScript, including Python, eSpeak, and a game engine.

    Visit blogHN submissions
    Languages & CompilersWeb Development
    What HN says

    HN links it for working demos of Emscripten, such as CPython running in the browser and eSpeak text-to-speech compiled to JavaScript.

    Stats for nerds
    18HN people shared it
    7linked in comments
    173story points
    Jan 2013last shared
    2010people per year2013

    Top posts on HN

    1. 1
      CPython to LLVM to Javascript - Python in the browser
      8 people · 73 points · first shared 2010 · 15 comments on HN
    2. 2
      Lua VM cross-compiled to JavaScript (1.4mb - takes a while to load)
      1 person · 58 points · first shared 2010 · 17 comments on HN
    3. 3
      Text-To-Speech engine in JS using eSpeak
      6 people · 34 points · first shared 2011 · 17 comments on HN
    4. 4
      SQL.js: SQLite in JavaScript
      2 people · 8 points · first shared 2012 · Discussion on HN
    5. 5
      Intensityengine
      1 person · first shared 2010
    6. 6
      Raytrace
      1 person · first shared 2012
    7. 7
      Python.js
      1 person · first shared 2011
    8. 8
      Client
      1 person · first shared 2012
    9. 9
      Bullet
      1 person · first shared 2011
    10. 10
      Client 6
      1 person · first shared 2012

    What HN people wrote when they linked it

    • stephenjudkinsJun 2011

      I think JavaScript will stick around for quite awhile. However, the viability and popularity of languages that compile to JavaScript will probably continue to increase.

      Besides CoffeeScript, which mostly only offers syntactic improvements to JavaScript, there are several projects which compile very different languages to JS, including:

      * Emscripten (http://emscripten.org/) compiles arbitrary LLVM bitcode to JavaScript. Since clang and GCC can both target LLVM, a whole lot can be compiled to JavaScript. The Python interpreter (http://syntensity.com/static/python.html) and the Bullet physics engine (http://www.syntensity.com/static/bullet.html) are both particularly impressive.

      * Google Web Toolkit (http://code.google.com/webtoolkit/) compiles Java to JavaScript. It's used in many real projects. Scala+GWT (http://scalagwt.gogoego.com/) aims to use this toolchain to compile Scala code, though it's not yet production-ready.

      * The reductio ad absurdum of this approach is http://bellard.org/jslinux/, a x86 PC emulator written in JavaScript. You can run almost any language in the web browser with that!

      See https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS for a (possibly exhaustive) list of languages like this.

      Whether these approaches can deliver passable performance for legacy browsers is an open question. However, for newer browsers it's safe to assume this general approach holds a lot of promise.

    • megrimlockJan 2011

      It's kind of fascinating to peruse the generated js, if you are at all familiar with the CPython code:

      http://syntensity.com/static/python.js

      Also geeky fun to try to recognize what constants like 4294967295 correspond to -- it's all over the place!

      And lots of literal char* strings encoded as integer sequences:

      >>> s = [111,98,106,101,99,116,46,95,95,102,111,114,109,97,116,95,95,32,119,105,116,104,32,97,32,110,111,110,45,101,109,112,116,121,32,102,111,114,109,97,116,32,115,116,114,105,110,103,32,105,115,32,100,101,112,114,101,99,97,116,101,100,0]
      >>> ''.join(map(chr,s))
      'object.__format__ with a non-empty format string is deprecated\x00'

    • azakaiMay 2012

      > An interesting post on the state of the port of Sauerbraten to WebGL (from C++/OpenGL) by Alon Zakai — no new demos, but worth reading if you’re interested in what you can do with Emscripten.

      There is a new demo there since last week,

      http://www.syntensity.com/static/bb/client_6.html

      is the latest (includes models with bumpmapping, FPS arms, some other stuff).

    • pufuwozuAug 2010

      It looks like this project is part of a goal similar to that. According to a blog post, Emscripten is an attempt to port a 3D game engine to the web:

      http://syntensity.blogspot.com/2010/08/emscripten.html

      The game engine's website is here:

      http://www.syntensity.com/

      Hopefully this experiment works out - both of these projects looks very interesting!

    • pcwaltonJan 2013

      NaCl is not needed for that. Embedding CPython into the browser has been done for some time now with Emscripten. Here's a demo: http://syntensity.com/static/python.html

      This has the advantage over NaCl that it works in all browsers, not just Chrome. It's also portable.

    • pornelMar 2012

      We do have that VM. It just happens that this VM's "bytecode" looks like JavaScript.

      Here is Python running in the browser:

      http://syntensity.com/static/python.html

    Related

    A Minute with Brendanaminutewithbrendan.com25 people

    A Minute With Brendan Eich

    A Minute with Brendan
    Personal · last shared 2013
    Prismatic Blogblog.getprismatic.com40 people

    Om Sweet Om: functional front-end engineering with ClojureScript and React

    Prismatic Blog
    Company · last shared 2015
    JetBrains Blogblog.jetbrains.com907 people

    Fleet, a Lightweight IDE from JetBrains

    JetBrains Blog
    Company · last shared 2026
    Kang Seonghoonlifthrasiir.github.io16 people

    Why is a Rust executable large?

    Kang Seonghoon
    Personal · last shared 2023
    Wingologwingolog.org237 people

    FFS SSL

    Wingolog
    Personal · last shared 2026
    2ality2ality.com267 people

    Temporal: Getting started with JavaScript's new date time API

    2ality
    Personal · last shared 2026
    Andrew Kelleyandrewkelley.me155 people

    Statically Recompiling NES Games into Native Executables with LLVM and Go

    Andrew Kelley
    Personal · last shared 2026
    Zach Oakessekao.net26 people

    ClojureScript is the most-used functional language that compiles to JavaScript

    Zach Oakes
    Personal · last shared 2020