340 karma · joined November 13, 2012
my public key: https://keybase.io/vchuravy; my proof: https://keybase.io/vchuravy/sigs/LHtpWqh_3WvuauC9kZ5BfOSUGkL0qgHk1MydnpuhYRU
The NVPTX backend would benefit imo to move towards the more general LLVM infrastructure so that emitting the dwarf info is not another special case.
Take a look at the link below, comparing a simple sum in different languages (among them Python and Numpy). The power of Julia is that there is no privileged code. Your code will be as fast as the base library.
http://nbviewer.jupyter.org/github/alanedelman/18.337_2017/b...
Julia has great interoperability between Python (checkout PyCall.jl) and many other languages. You don't need to abandon your old codebase.
With regards to your other points, a lot of that is subjective and hard to argue about, but for me Julia has drastically changed the way I approach writing scientific code and is not just an incremental improvement upon the status quo.
The thing where the Julia CUDA support really shines is that it is supporting arbitrary Julia structs and not just a blessed few datatypes like Float32.
The two arguments that speak for Julia from a user perspective (there exist much stronger arguments for package developers).
a; Low overhead interoperability with Python, R, C and Fortran (and C++); You don't need to rewrite your code and you can start using Julia and slowly transition.
b; User code as fast as package/base library code. You are not stuck with what already exists.
[1] From 2014: http://www.railwaygazette.com/news/infrastructure/single-vie...
Pkg.update() is currently designed to update the local METADATA snapshot and then update all packages. You can also update one package at a time manually with Pkg.checkout.