Functional Geekery Episode 116 – Radu Popescu

In this episode I talk with Radu Popescu. We talk his introduction to software development, high performance C++, where functional ideas fit in with high performance C++, CernVM File System, Erlang, an overview of where Rust fits between functional languages and C++, and more.

Our Guest, Radu Popescu

radupopescu on Github
@iradupopescu on Twitter

Conference Announcements

LambdUp, Prague’s biggest functional programming event of the year, will be taking place December 16th at MeetFactory in Prague. For more information and to register visit:

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit:

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit

BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more information, and to register, visit

:clojureD will be following BOB 2018 in Berlin, Germany on February 24th, 2018. For more information, and to register, visit

Lambda Squared is a new conference taking place March 30th in Knoxville, Tennessee. For more information, and to register, visit

If you have a conference related to functional programming, contact me, and I will be happy to announce it.


Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at

Topics [@3:00]

About Radu
CernVM File System
How Radu came into software development
Functional Programming Principles in Scala by Martin Odersky on Coursera
High Performance computing with C++
What standards of C++ Radu was writing against
Lambdas and Higher Order Functions being introduced into C++
How some of the functional ideas fit into high performance C++
C++ Template Language as a purely functional language
CernVM File System
Linux FUSE (Filesystem in Userspace)
Terabytes of new software every day at CERN
Content Addressed Storage
Field-programmable Gate Array
Using Erlang for a publication system
Moving from Command Line based to Server based
“Let it Crash” approach in Erlang
What the Erlang based Repository Gateway solves
The different roles the Repository Gateway fulfills
Key takeaways from using Erlang for the Repository Gateway
C++ Inter-op story
Statically-typed C++ versus Dynamic Erlang
Functional Composition and Immutable Values for ease of debugging
Erlang QuickCheck
John Hughes
Where Rust fits in between C++ and the functional family of languages
Algebraic Data Types
Why one might pick Rust over Haskell, OCaml, or other similar languages
Wrapping C libraries with Rust, and wrapping Rust libraries with C
Radu’s Talk page at CodeMesh
CernVM Documentation
CernVM 10th Anniversary Workshop

As always, a giant Thank You goes to David Belcher for the logo design.