Watch the Video

Then click a language below to cast your vote.

Vote on a Language

The community decides!
Click a language to vote. One vote per user, on your honor!

Kotlin. Pervasive and convenient. Kotlin is a language on the JVM so it's everywhere. Because it is from the creators of JetBrains, it has many practical integrations to that development environment. In Kotlin, you can experience a language on the JVM with a more flexible type system and much less ceremony. If you plan to do any development on Android, you'll want to learn some Kotlin.

Crystal. Fast as C, slick as Ruby. Crystal is a language built to be a much smoother C++. It has Ruby-like syntax , but has several major advances over that language. With full support for macros, you can extend Crystal in many interesting ways. Because it has stronger support for typing, you won't experience as many runtime errors. Since the types are mostly inferred, the type sysem does not come with much overhead.

Smalltalk. Beautifully dynamic. Smalltalk is widely regarded as the first commercially successful object oriented language. It has two ideas in it that our readers will find radically different than most languages they are used to. Smalltalk has true message passing that's based on objects rather than classes. It's image based, meaning it's built with a particular type of development environment in mind.

Python (Jupyter). Gather and share insights. Plain old generic Python will be familiar to many of you, but we're going to focus on a small subset of it and dive deep. We'll specifically explore the Jupyter notebook, a tool to help scientists gather and communicate insights. This programming model is especially interesting to practitioners of machine learning, where we'll spend most of our time.

Programmer Passport is:

  • A monthly or yearly subscription
  • Introducing new programming languages
  • On a one to two month cadence
  • Providing proprietary books, videos and projects
  • And other currated resources for learning a language