1. 5
  1.  

  2. 3

    It felt like everyone was concentrating on the downsides of certain decisions like multiple dispatch in the recent Julia thread.

    And also it felt like not everyone was making a distinction between language design and insufficient testing on the part of library/app authors.

    So here is the other side of the coin? Of course it might not help if you haven’t used Julia much

    1. 2

      I am designing a language with multiple dispatch and explicit interfaces. You can have both features in the same language. I think the weakness of Julia is that it lacks explicit interfaces, not that it has multiple dispatch.

      1. 2

        Definitely seems worth exploring … but as with all things in language design: “I’ll believe it after it’s worked for 10 years” :) On maybe >100 programs and >1M lines of code.

        I think Julia is doing pretty well and if this issue came up after 10 years of growth, well there could be worse outcomes (like 99% of languages not being useful at all). It does seem fixable, but requires a cultural change.

        For example, I found that despite its obvious flaws, a lot of things in shell are actually very good and there’s a reason it’s still around. On the other hand I see many new shells that are worse along important dimensions than their predecessors:

        https://github.com/oilshell/oil/wiki/Alternative-Shells

        I make this claim because I learned lots of things by reimplementing a widely used and useful language. https://lobste.rs/s/jdxhu9/sqlite_go_with_without_cgo#c_oxtepm