Jonathan Malmaud, Iain Dunning, Randy Zwitch, Mike Innes (OP) and many others write and maintain general purpose/web-related library code. I'm sure they will agree with some of what I said.
"more natural for general purpose modeling of data than, say, Python's classes"
Can you elaborate? In most cases single dispatch does just fine. Then class = type except much slower
It's far easier to create new Julia types for modeling a new domain than Python classes. Genrally, types are much more succinct to declare than classes. They're also type checked and parameterized which allow you to do some rather nice things with an API design that would require a lot of if/else behavior checking in Python classes.
The separation of implementation and data declarations via multiple dispatch makes a large assortment of problems much easier to solve. For example, it's much easier to extend the built in behavior of default Julia types such as dictionaries by adding your own custom method (often on line of code) which is incredibly useful for short data processing script.
There isn't as much web focus in Julia currently, but once the implementation makes it easier to possibly "pre compile" an executable I think there could be a big boom in usage for web engines.
I'm on a mobile device currently and can't really write out more explicit details. Maybe later I can write out a lab example.
It's interesting that people see multiple dispatch as some esoteric computer science-y thing. In reality, it's just a way of organising code and complexity, just like object orientation is – and it has some compelling advantages over OO as well. For me, it's one of the killer features that I really miss in other languages, and it's well worth taking the time to understand it.
It would be great to see people doing more web stuff in Julia, but for the foreseeable future there will be some important caveats. The web libraries (including in Base) just aren't that fleshed out or battle-tested right now, and there's no Google-scale engineering effort making sure that the runtime is reliable over thousands of CPU hours. Whoever dives into that first will have to have a clear sense of the long-term value.
I agree multi dispatch is awesome, and python has some implementations of it as well.
http://matthewrocklin.com/blog/work/2014/02/25/Multiple-Disp...
If all the logic happens server-side in Escher, what's the responsiveness like? Do you have a live example anywhere?
Are there any plans to transpile Julia into Javascript?
Do you know of anything using Escher for public web-facing applications yet?
Since Julia uses LLVM IR, it should be possible to go from LLVM to Javascript using emscripten.
Based on what I've seen so far, I think Julia could eventually break into the Tiobe top 20 languages (it's currently in the top 100). On the other hand, I think this is plenty. As a language currently aimed at (admittedly fairly large) niches that would be an outstanding outcome.
It also makes it fun to work with as a language. It's not just more chicken.
If an environment is able to have native speed, run in the browser and still be accessible to the people doing scripting now, it could have pretty large implications.
Go also fits the bill I suppose, but Julia is a much better designed language.
This could be overcome but it's not really Julia's niche which is interactive use of notebooks by scientists or other people who are comfortable writing code.