<story><title>&quot;BitC isn&apos;t going to work in its current form&quot;</title><url>http://www.coyotos.org/pipermail/bitc-dev/2012-March/003300.html</url></story><parent_chain></parent_chain><comment><author>luriel</author><text>I have met Shapiro and he is a very nice and smart guy, but I find it rather shocking that somebody could invest so much time and effort in designing new language before building a library to do something as fundamental as I/O.&lt;p&gt;Is interesting to contrast his approach building BitC to that of Ken Thompson and Rob Pike (both former colleagues of his at Bell Labs) building Go.&lt;p&gt;Go has been criticized for &quot;not paying attention to PL research&quot;, which might be true, but is already extremely useful and even before its first &apos;stable&apos; release people already have used to build large systems used in production.&lt;p&gt;I think what applies to building other kinds of software applies to designing programming languages too: you need something that you can start using to build &lt;i&gt;real&lt;/i&gt; systems as soon as possible and then iterate from there based on your experience.&lt;p&gt;The problem with languages is that changing the language involves throwing away the code you wrote, which discourages one from building real systems with a language that is still changing.&lt;p&gt;That puts even more value in keeping languages simple. And tools like gofix are also quite nice to help with this.</text></comment>
<story><title>&quot;BitC isn&apos;t going to work in its current form&quot;</title><url>http://www.coyotos.org/pipermail/bitc-dev/2012-March/003300.html</url></story><parent_chain></parent_chain><comment><author>srean</author><text>Ah! bummer.&lt;p&gt;Since a long time I had an eye on the BitC project, the idea seemed very compelling. When Jonathan Shapiro quit Microsoft and resumed @ Coyotos I was really hopeful that the pace of the development will kick up a notch or two and we would have an usable BitC shortly.&lt;p&gt;Now it is clear that is not going to happen, but in the process if we have a better language its perhaps good (though honestly cant hide the disappointment that it is going to be a longer wait). For those who are interested in things similar follow the development of decac&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/decac/&quot; rel=&quot;nofollow&quot;&gt;http://code.google.com/p/decac/&lt;/a&gt;&lt;p&gt;It has been on HN a few times, and ATS. Snippets from&lt;p&gt;&lt;a href=&quot;http://cs.likai.org/ats&quot; rel=&quot;nofollow&quot;&gt;http://cs.likai.org/ats&lt;/a&gt;&lt;p&gt;&lt;pre&gt;&lt;code&gt;    ATS is a bit similar to and can be used like:

    C, which offers you very fine control over memory
    allocation as well as the management of other kind of
    resources.

    ML, except you have to annotate types for at least the
    function arguments and return types

    Dependent ML, using dependent types to help you reason
    about data structure integrity, from something as
    simple as requiring two lists to be zipped to have the
    same length, to preserving tree-size invariant when
    rotating AVL trees to the left or to the right in order
    to guarantee well-balanced property of AVL trees.

    ...and it is mighty fast.
&lt;/code&gt;&lt;/pre&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/ATS_(programming_language)&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/ATS_(programming_language)&lt;/a&gt;</text></comment>