9 ms·
What's strange to me is that as people watch this transition in ML technologies, they can see and accept what's right in front of them but can't see what's comi
by StefanKarpinski 9y ago
What's strange to me is that as people watch this transition in ML technologies, they can see and accept what's right in front of them but can't see what's coming next. There's growing evidence that that ML/AI is a programming language problem – that's why all kinds of new IRs are being created for ML frameworks, as you say. But these are never going to be good to program in directly, so the next obvious step is to put a really nice, general purpose surface syntax on them. Once you start thinking about what that surface syntax should be like, you quickly end up with something very similar to Julia. People don't seem to be connecting the dots just yet.
In some sense ML people are working from the bottom up while Julia is working from the top down. ML/AI frameworks are starting to put better IRs on top of their low-level codegen. They haven't gotten to the surface syntax part yet because they're just starting on the IR – but they will, because that's the next logical step. Julia, on the other hand, is working from the top down, starting from a really nice surface syntax that's excellent at codegen. First it has targeted CPUs, now GPUs, and in the future TPUs, Nervana chips, FPGAs, etc. It's already possible to target all kinds of different hardware with the same productive, generic high-level code. Which approach do you think is going to end up with a better, more productive developer experience in the long run?
- deleted 9y ago[deleted]