Nesting function calls is ugly IMO compared to dot chaining.
I like that broadcasting is explicit, I think Mat + Vec should be
a type error.
I wish it had auto-currying. I wish all languages did.
I wish there were tagged unions.
Multiple dispatch is slick, and a natural fit for math, though I
wonder how much/if specialization issues like what Rust’s been
plagued with are issues in Julia.
Custom operators are nice
I don’t like begin/end, I’m fine with curly braces or something,
though they do look pretty on generics (but so do square brackets)
Julia used * for string concatenation because strings are a
monoid, so they seem to care about mathematical convention. Why not
use arr(i) to emphasize that array access is a function from the
naturals to your input set?
Don’t care about 0 or 1-indexing.
Zygote/Flux is so cool.
Chris Rackauckas is a mensch.
His arguments about how Julia enables building good packages,
which is what scientists want even harder than most developers,
will be a big advantage.
I don’t like ternary operator. Make conditionals an expressions.
I think I’d still like it if Swift with some sort of value-based
generics was the default ML language (or really a go-to language in
general). If only it wasn’t so tied to macOS.