I am looking for ideas and possibly material for an intro talk. The audience is experienced but not homogenous: mostly developers, AI researchers and data scientists. The goal is to arouse interest, not to transfer usable knowledge.
What do you think are the main characteristics of Julia and the ecosystem to focus on in this setting?
If they are mostly developers, write something in pure Python and show them how slow it is. Write the same thing in C/C++ and show how verbose the code is and how long it takes to compile. Finally, write it again in Julia and show them how clean and fast the code is
The version of this that I prefer is to show composability by default. Write a new number class (base 10 floating point for example). Show that it works with DiifEQ, Plots, units, rationals, complex, autodiff, etc.
Go to the github pages of the main packages (dataframes, flux,…) and show the github stat that they are in ~100% Julia
You gotta speak to the audience — and where you think their current pain points are. Address those first. Data scientists? Talk about CSV and DataFrames capabilities and performance (e.g., 1 and 2 — and then note that these packages are themselves written in Julia. As a Julia programmer you have access to all the same tips and tricks that they have. Then bring in Pluto notebooks and a reactive example.
AI/ML researchers? If they’re actually doing research into AI/ML techniques Flux and differentiable programming in general should be pretty compelling. It is easy to define your own layers — they’re just functions with tunable parameters. You don’t need to define a “computation graph” — Julia will just use what you’ve written. If they’re doing bog-standard production AI/ML it’s a tough sell to move away from the well-trod highway — and heck, if they’re happy with it no need to move. That said, I’ve anecdotally seen production systems using Tensorflow with the Python frontend — and using Python for the ETL into Tensorflow. The ETL step took longer than the training of the network. Moving this entire pipeline into Julia sped up ETL 200-fold, but Flux lagged behind TensorFlow 2x on their particular network.
See the discussion here, in particular, the wonderful notebook created by Robin Deits (@rdeits) located here. Presenting the entire notebook will take longer than 45 minutes, but there is a lot of good material in there to pull from.