← Back to context

Comment by sdegutis

11 years ago

Every once in a while, I come to HN, and inevitably find a post about some new JavaScript technology on the front page, wherein I find some comment that gives me a new appreciation for the web app language I use at work, which fortunately is not JavaScript.

What is the web app language you use at work? I assume you're talking about something that runs on the client -- a web browser -- so it probably compiles down to JavaScript, right? JS literally has no numeric type that isn't a float, so how does your language escape this fundamental limitation?

  • Not OP, but I used Google's Long.js (among other things) in a project[0] to get around the limitation of not being able to do as in Python:

        import fractions
        print str(fractions.Fraction.from_float(0.3333).limit_denominator(10))
    

    Almost anything that compiles to JS would be better than by-hand JS; I'd love to use ClojureScript with re-frame at work...

    [0] http://www.thejach.com/pseudo-public/webgl_coursera/assignme...

  • asm.js is proof that a compile-to-JS language doesn't necessarily have to discard the correctness of its number types. A statically typed language can do a lot. Integer values can be can to int32 via `| 0`, longs can be emulated with two numbers (GWT does this).

    The tradeoff is speed, especially for dynamically typed languages. Having to check your operand types in JS before doing work is a performance killer.