Hacker News new | ask | show | jobs
by notthemessiah 907 days ago
Julia was ahead of the game with automatic differentiation which took a few years for Python to get support. And it's still ahead of the game with integrating machine learning with scientific modeling. Macros and multiple dispatch are a game changer, and it allows people to hack and iterate on Julia far easier than on Python.

And don't get me started on how nice JuMP.jl is for mathematical optimization.

2 comments

> Julia was ahead of the game with automatic differentiation which took a few years for Python to get support.

In what way is this true? Looks like Julia didn't exist until 2012. If I remember correctly, theano was the big AD thing in python at that point.

Theano existed, but it didn't use autodiff at the time, most loss functions had preprogrammed derivative functions. Python first had native autodiff in June of 2013 with the ad package, but previously had bindings to Fortran and C++ libraries that supported autodiff in different use cases. Julia first had native autodiff in April of 2013 with ForwardDiff.jl.
It seems overly nitpicky to differentiate (no pun intended) so much between forward mode AD with DiffRules and theano's specific flavor of symbolic differentiation, but I'm no expert there.
JuMP is cool, but honestly...I find the native Python APIs from CPLEX & GUROBI to be best. The additional abstraction of JuMP or the Python equivalent frameworks always is a pain to me as I don't need to switch solvers often.