When I stumble upon an interesting tool I usually find it also very exciting to learn more about the people behind it.
I find this especially insightful when it comes to fundamental building blocks like programming languages and runtimes.
Why? Because they aren’t built in a day but rather melded over the course of many many years and in a way they tend to reflect the personalities and beliefs of their creators.
When you look at Python you will find Guido van Rossum.
When you look at Scala you will find Martin Odersky.
When you look at Ruby you will find Matz and DHH.
When you look at Clojure you will find Rich Hickey & David Nolen.
When you look at Go you will find Rob Pike.
Who is behind Dart?
So let’s take a look at the people behind Dart and what they care about.
After consuming hours of conference talks, interviews, blog posts, code and books from the Dart team I can tell that they care about a ton of things from the very abstract down to little big details but if I’d had to put it in a nutshell they care about the following …
- Developer Sanity
- Developer Productivity
- Developer Tool Performance
- The Web as a Platform
To save you some googling I’ve assembled a few brief bios as well as links to videos and further reading so you can take a look at some of the many master minds behind Dart.
In the 90s Gilad together with Urs Hölzle, Lars Bak and others created a high performance Smalltalk implementation called Strongtalk. One very unique thing about Strongtalk was that it supported gradual type annotations. A concept that would take many many years to achieve mainstream popularity and can now be found in Dart, Hack/PHP, Python 3 and TypeScript.
After their company got acquired by Sun Microsystems the rising popularity of Java unfortunately led to the Strongtalk efforts being put on halt.
The team got reassigned to improve Java. Their Smalltalk implementation evolved into Hotspot which is now the official Java Virtual Machine and Gilad co-authored the specifications for the Java language and Java Virtual Machine.
Fortunately Gilad’s fascination with gradual type annotations and language design in general did not disappear after working on Java and he joined Cadence Design Systems to create Newspeak a modern object oriented programming language inspired by Self & Smalltalk. Again featuring support for gradual type annotations. Unfortunately the funding for Newspeak dried up in 2009.
Eventually he felt that it was about time to pursue bolder steps forward if the web as a platform wants to stay competitive in comparison to native alternatives like iOS and Android.
Kasper also worked at Sun Microsystems and focused on CLDC Hotspot, a version of the Java Virtual Machine optimized for mobile phones and similar environments.
In 2002 Kasper and Lars went on to found a company called OOVM to further explore the challenges of building high performance embeddable virtual machines for object oriented languages. While at that time mobile was already a super interesting space it was still pre-iPhone (2007) and hard to grasp how important mobile and mobile optimized runtimes were going to be going forward.
I find his enthusiasm for developer sanity and how tooling can help very inspiring and Kasper has given quite a few talks and interviews on this topic over the years and that aspect really shows when you work with Dart on a daily basis.
Bob was a game developer at Electronic Arts and is the author of Game Programming Patterns. He has a very pragmatic approach to programming languages and really cares about how software gets designed and feels in the day to day.
He is the author of Dart’s Style Guide and responsible for a lot of the sensible defaults and recommendations that shape the experience of writing and reading Dart code. Recently he also helped to formalize the process for how proposals for improving Dart are managed (similar to Python’s PEPs).
These things form the little big details of the day to day Dart experience that you only really notice when you’ve worked in other languages that got some of these wrong or don’t have them at all. In that vein I like to think of Bob as Dart’s dungeon master. He keeps things in order.
Vyacheslav worked on Excelsior JET, a fully compliant third party Java Virtual Machine implementation including an AoT (ahead of time) compiler.
John is the creator of inotify. He contributed to the Gnome project as well as to the Bullet physics engine. Before joining the Dart team he worked on PlayStation game performance optimization at Sony Computer Entertainment.
Peter is a first class compiler engineer and all-round tooling enthusiast.
Back at Sun Microsystems he was the tech lead for javac (Sun’s Java compiler). During that time together with Gilad, Gafter and Gosling he drafted a proposal to add closures to Java 6.
Peter also put a lot of effort into making Java IDEs more powerful and Java itself more toolable. Last but not least he was an avid supporter of open sourcing the JDK, no small feat.
Currently Peter is working on things like incremental compilation support for Dart as well as on an experimental Dart runtime called fletch.