Why'd it have to be snakes: Porting Swift to Jupyter

Jupyter has the potential to be a fantastic tool for many different forms of learning, but its ability to teach programming is constrained by what languages it supports. I wanted to be able to use Jupyter to help teach Swift but there wasn't a Swift kernel for Jupyter. Luckily for me there's way to make new kernels using Python without having to build the messaging mechanics of Jupyter. Armed with this knowledge I decided that as someone with almost no experience in Python, I should make a Swift kernel. In this talk we will take a look at the development of creating a Jupyter wrapper kernel for the Swift programming language.

This talk will cover:
- The process of building a Swift kernel for Jupyter in Python
- What went well about building the kernel
- What went poorly when building the kernel
- Lessons learned from working with Jupyter and Python
- The quirks of getting two philosophically different languages to talk to one another

The goal of this talk is to reflect on the process I took developing a kernel for Jupyter to reveal the caveats and gotchas that exist when developing extensions to Jupyter as well as the quirks around trying to get a static compiled language to talk to a dynamic interpreted one.

Presented by

Tim Nugent

Tim Nugent pretends to be a mobile app developer, game designer, and researcher, and now he’s even pretending to be an author. (He cowrote the latest update to Learning Cocoa with Objective-C, Swift Development with Cocoa, and Learning Swift for O’Reilly.) When he isn’t busy avoiding being found out as a fraud, Tim spends most of his time designing and creating little apps and games he won’t let anyone see. He also spent a disproportionately long time writing this tiny little bio, most of which was taken up trying to stick a witty sci-fi reference in... before he simply gave up. Tim can be found as @The_McJones on Twitter.


Sponsors