|
|
|
|
|
by DNF2
1830 days ago
|
|
> "like octave, but with fast loops" But the performance relies on the aggressive specialization which depends on multiple dispatch. And the adaptation to numerical computing, the cleanness and beauty is all about multiple dispatch. To stay with the bike analogy, multiple dispatch is definitely the wheels, not the motor. > for one, I 100% agree with your views on variable naming elsewhere on this thread ;) Waaah! (pulls hair.) And yet, so far apart on the function naming ;) But seriously, though. Without the incredible polymorphism and genericity, there's really nothing at all left of Julia. Multiple dispatch isn't a feature bolted onto Julia. It is the core philosophy, and the central organizing principle. |
|
This is not a necessity, but an implementation choice. "Specialization" is an unnecessary step when everything is explicit from the beginning. I'm not talking on philosophical grounds, but thinking on concrete examples of jit systems which are really fast but have nothing to do with multiple dispatch (for example luajit).
> Without the incredible polymorphism and genericity, there's really nothing at all left of Julia.
If "matlab with fast loops" is "nothing" to you, sure. As a user of Julia, this is the killer feature for me. The rest I see as unnecessary complexity and mumbo-jumbo. But there's nothing wrong that each user has different favorite parts of the language!