- Nesting function calls is ugly IMO compared to dot chaining.
- I like that broadcasting is explicit, I think
Mat + Vecshould 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 usearr(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.