February 2020 is kind of a milestone for me: it has been five years since I moved to the Netherlands. This country has a rich history of contributions to computer science, which now reflects in it having a vibrant IT market and lots of tech startups. I decided that a good way to celebrate this five-year milestone would be to look at five great Dutch minds who contributed immensely to how computers are used today. Even if you aren’t a programmer (but especially if you are), chances are that you rely heavily on some of the tools and techniques invented by these people.
1. Edsger Dijkstra
Edsger W. Dijkstra was born in 1930 in Rotterdam and is considered to be one of the most influential computer scientists of all times. He contributed to numerous fields, like compilers, operating systems, distributed systems, concurrent programming, and many more. He published more than 1300 papers and was also known for his unconventional approach to teaching and eloquence sometimes combined with rudeness (he once said, “The question of whether Machines Can Think (…) is about as relevant as the question of whether Submarines Can Swim."). Seriously, even just the single Wikipedia page about him is a great read.
I’m pretty sure every computer science student at some point encountered the famous Dijkstra’s algorithm of finding the shortest path in a graph. It is deceptively simple, but serves as a foundation of many more advanced techniques, which are actually used in the modern navigation applications. Even if you didn’t happen to study it at the university, most likely your smartphone used some very similar algorithm the last time you asked Google Maps for directions to a pub.
If you’d like a refresher on Dijkstra’s and other graph algorithms, I would definitely recommend Graph Search, Shortest Paths, and Data Structures (offered by Stanford and taught by Tim Roughgarden) or Algorithms on Graphs (offered by University of California San Diego) on Coursera.
2. Mark Overmars
Not to be confused with Marc Overmars, a great Ajax and Arsenal football player, Mark Overmars is a computer scientist and teacher of game programming, who was born in Zeist and did his PhD at Utrecht University. You might not be familiar with his works in dynamic data structure design, computational geometry, and robotics, but if you are into video games, you might know his other creation - a cross-platform game engine GameMaker. It was originally released in 1999, still exists, and was used to build such gems as Hotline Miami, Hyper Light Drifter, and Gunpoint (see more on the website of YoYo Games, the company that now develops the engine).
3. Guido van Rossum
According to the annual StackOverflow Developer Survey results, Python is the 4th most popular, 2nd most loved, and 1st most wanted programming language in the world. It’s easy to learn, very readable, has a great community and plenty of high-quality OSS libraries around. It has seen a surge in popularity during last years, probably caused by more and more businesses adopting machine learning technologies, where Python is especially popular. And this is the language that Guido van Rossum has created about 30 years ago.
Guido studied computer science and mathematics in the University of Amsterdam, and during his time there he worked on (among other things) on ABC programming language, which eventually led him to creating Python. According to Guido himself, he “meant to honor the irreverent comedic genius of Monty Python’s Flying Circus", so the name is really more about the TV series than a snake. Guido worked at Google and Dropbox, all this time being Python’s “Benevolent Dictator For Life”, until stepping down from that role in 2018 and retiring in 2019. Despite his major contribution to the language, he always pointed out that Python was “developed on the Internet, entirely in the open” and that “a programming language created by a community fosters happiness in its users around the world” (see the text of his “King’s Day Speech” given at a TED Talk in 2016).
If you’d like to hear a brief story of Python in Guido’s own words, here’s a very short interview with him at Oracle Developers channel (there are also plenty of his more technical talks from various conferences on YouTube).
4. Bram Moolenaar
“How do you generate a random string? Put a first year Computer Science student in Vim and ask them to save and exit.”
Another “Benevolent Dictator For Life”, Bram Moolenaar is a Dutch programmer and an active member of the OSS community, mostly known as the author of Vim (Vi IMproved), the famous hard-to-exit text editor. Vim is extremely popular, despite having an extremely steep learning curve. It proposes a very different way of working with text by introducing 12 edit modes, which separate different categories of tasks, like navigating the text, selecting parts of it, running commands etc. The commands are the most powerful part, since they are flexible, provide endless combinations, and almost form a language of its own (Chris Toomey’s Mastering the Vim Language talk gives a great explanation of this concept). Vim key bindings are quite peculiar and promote typing efficiency by keeping the fingers on the home row. After getting used to this, it may be hard to go back to the mainstream way of navigating around - that’s why almost all other popular text editors and IDEs have plugins for enabling the “VIM Mode”, including Visual Studio Code, Visual Studio, Sublime, JetBrains IDEs, and even Emacs (where the corresponding plugin is called “Evil” - perhaps, a manifestation of the eternal editor war).
Bram is also an advocate of the International Child Care Fund Holland, an organization trying to support children in Uganda. In fact, almost every time someone starts the Vim editor, they are encouraged to help.
5. Andries Brouwer
Andries Evert Brouwer is a Dutch matematician and computer programmer, who was also a professor at Eindhoven University of Technology for 26 years. One somewhat exotic contribution he is known for is a single-player roguelike video game called NetHack. The game was created in 1987 and has been getting updates till this day (latest version 3.6.5 has been released on January 27, 2020). It features fancy ASCII graphics (a player is represented by a humble
@ character) and can be played in a terminal or… via SSH! Seriously, if you want to just try it out, you don’t even need to install anything: open your favourite shell, run
ssh ssh://[email protected], register a user - and start your ASCII adventure!
Admittedly, NetHack is a very niche product, but, for those true hackers who are really into it, it is the greatest game you will ever play.