JuliaCon 2025

Julia's Secret Superpower
2025-07-23 , Main Room 1 (Main stage)

The first time you start Julia, you are presented with its humble, yet powerful, REPL. If you explore a bit, you'll quickly discover that Julia's REPL is more than just a place to try a line of code. You can also use it to install packages, look up documentation, and execute shell commands. But much like Clark Kent's glasses, Julia's REPL is hiding a secret superpower! In this talk, we will explore how REPL-driven development with Julia can transform how you write and develop code.


So often the act of programming is one of writing something that should work, then holding your breath as you run code to find out if it actually did and, when it doesn't, shifting back into a mode of writing, re-writing, and debugging uninformed by the actual running code. While debuggers can help with understanding what code is doing while it is running, the inability to durably change code during debugging means that there is still a process of translating what you learn from a debugger back into the code you are writing. Similarly, while working in a notebook environment allows you to write and run smaller pieces of code at a time, shortening the feedback loop, the separation between writing and running code remains (and notebooks are not particularly amenable to writing large, deployable codebases).

REPL-driven development, on the other hand, is more like working with clay: you can see the form of the program come into being as you are actively molding and working with it. In this talk, I will take what I've learned from working with languages like Clojure, that have a much more RELP-based culture, and how I've been able to apply that to working with Julia. I will discuss the aspects of Julia that make it, much more so than Python or Ruby, amenable to REPL-driven development. I will also introduce the combination of editor configuration (focused on Emacs, of course, but applicable to other editors as well), custom helper methods and macros, and tools from the community that I have personally employed to work in a fully REPL-centric way. Finally, I will discuss how Julia's already very capable REPL opens the door to Julia becoming the ultimate REPL language, more so even than Scheme, Lisp, or Clojure.

Dr. Joshua Ballanco has built operating systems with Apple, local news sites
with AOL, and served as the Chief Scientist for a world-wide distributed team of
programming and design consultants. He even managed to complete his Ph.D. in
Computational Evolutionary Dynamics along the way. He currently works remotely
from his home in Greenville, SC where he lives with his beautiful wife and two kids.