> Sure, they're opaque but I'm saying that they're opaque for a reason. AD 
is an entire field of research. As is optimization.

I don't entirely understand the details, but there are some features of 
Julia as a language that allow you to do some truly new things with respect 
to AD (and maybe eventually optimization algorithms themselves, or even the 
underlying linear algebra). Between metaprogramming and JIT, you can 
specialize the run-time code that gets executed for a particular problem, 
improving speed and memory use in a way that isn't possible in a 
general-purpose C library. That's part of the vision, anyway.

> There's Linuxbrew. On Windows you're out of luck, I guess but then you 
have worse concerns than brew ;)

There's even a winbrew fork too, but I don't get the impression linuxbrew 
or winbrew are truly production-capable the way brew is on OSX. I don't 
expect Windows to have properly tuned performance (multithreading in 
particular is going to be messier), but if you want students, industry 
types, and regular people to be able to use your code then Windows should 
at least work for prototyping. I've never had a completely successful 
experience trying to install a Python package on Windows, ever. Julia has a 
chance to avoid these pitfalls.

> I agree but Julia is a moving target too. Understandably so, but a moving 
target still.

Julia's definitely still at a "best for early adopters" stage. I'm not 
ready to throw away all the Matlab toolboxes we've written and use on a 
day-to-day basis in my lab. But a moving target means a very active 
development community, which is a better sign for long-term viability than 
finished-product maintenance-mode codebases.

> Want to run your algorithm with BigFloat precision?

I usually don't. But I do want to run it in parallel, shared or distributed 
memory or a combination of both without having to think about it, on a GPU, 
or code-generated to a custom fixed-point FPGA. None of these are done and 
ready today, but these things will be much easier to do in Julia in a few 
years than through any existing state of the art C code.


Reply via email to