Google I/O 2011: JavaScript Programming in the Large with Closure Tools




Michael Bolin

Most developers who have tinkered with JavaScript could not imagine writing 1,000 lines of code in such a language, let alone 100,000. Yet that is exactly what Google engineers have done using a suite of JavaScript tools named “Closure” to produce many of the most popular and sophisticated applications on the Web, such as Gmail and Google Maps.

Original source


27 responses to “Google I/O 2011: JavaScript Programming in the Large with Closure Tools”

  1. And C# doesn't satisfy YOUR definition either:

    string.Join(", ", new int[] { 1, 2, 3 }) == "1, 2, 3"

    Implicit type conversion or type promotion does not mean a language IS NOT strongly typed, any more than explicit denial of specific operations DOES mean that a language IS strongly typed.

    So cherry-picking specific definitions to say 'Language X is strongly typed' is not sufficient.

  2. Nice – and blatant – quote mining. Just as valid as my sarcastic response.

    Of course it's not that simple… it seldom is. Restricting operations on disparate types already happens in Javascript, just at a level that doesn't apparently satisfy your threshold.

    Now go look at "strong typing" in Wikipedia. Does Python satisfy all of the definitions given there? No, it doesn't.

    Given a narrow enough focus you can justify many things. But broaden the scope and Python is NOT strongly typed.

  3. In javascript

    "" == 0
    true

    This is not strongly typed

    "5" + 4
    54

    This isn't either.

    You can't do this type of stuff in Python, that's what makes it strongly-typed.

    Wikipedia defines strongly typed as : "a type system is said to feature strong typing when it specifies one or more restrictions on how operations involving values of different data types can be intermixed. The opposite of strong typing is weak typing." You're free to change the definition if you're not happy with it

  4. From the python wiki: "Python is strongly typed as the interpreter keeps track of all variables types."

    Since every programming language I use (including Javascript) does this, then by this logic EVERY programming language is strongly typed.

    Definitions are important, don't you think?

  5. Depends on your definition. Saying that Python is strongly-typed because it doesn't allow operations that some 'weakly-typed' languages do isn't really enough.

    For most, 'strongly-typed' is virtually equivalent to 'statically-typed' in most usages. A strongly-typed language SHOULD allow specification of parameter types for functions, which reduces the code required to validate parameters.

    Can Python do that? No? Not strongly typed enough then.

Leave a Reply