Alexandre Archambault explores why an official Scala kernel for Jupyter has yet to emerge. Part of the answer lies in the fact that there is no user-friendly, easy-to-use Scala shell in the console (i.e., no IPython for Scala). But there’s a new contender, Ammonite—although it still has to overcome a few challenges, not least being supporting by big data frameworks like Spark, Scio, and Scalding.
Alexandre reviews the challenges it has to overcome to become a full-fledged Scala shell and offers a tour of some very Scala- or JVM-specific features, such as the convenient way dependencies are managed (no virtualenv on the JVM!) and how it allows sending objects over the wire for distributed calculations (compiler-generated objects in particular, which Spark heavily relies on). Alexandre illustrates these points with jupyter-scala, a Scala kernel for Jupyter (which rests on a fork of Ammonite) that tries to address these challenges.
Alexandre Archambault is a software and data engineer, and a contributor to or author of various Scala projects, including coursier and shapeless.
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org