• 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.