Building Bridges, Not Walls

I’ve always been a big believer that it is only through excavating to the lowest levels, that we can build a foundation for the highest buildings or strongest bridges.  That is exactly what we are doing now in our new company, and it is why we have embraced Rust a language for our future.  I do not believe that it is an appropriate decision for the ULISSES Project, but we will inevitably make the advances we achieve available for the ULISSES Project via “engines” and integrate them into the Python framework that I spent years teaching at the University of Utah. Once again, this is for the deep architecture…not the tools students will use one a day to day basis.

As part of summarizing my work on the ULISSES Project and the University of Utah, I’d like to discuss the language that we used for several difficult problems when at the university and why we as a company are now moving to a new tool, Rust.  I will use a familiar motif in software engineering–physical construction.

French Cathedral Builders

In the ULISSES Project, we used Eiffel for the deep-dive projects, the so-called “engines.”  Eiffel is a little-known language that the brilliant computer scientist Bertrand Meyer developed to teach the principles of strict object-oriented software construction.  To be clear, it is not just an “academic language,” but a language that was used in mission critical work with both the Department of Defense (DoD) and certain innovative corners of industry.  Bertrand is an amazing French “linguistic architect” along the lines of Jean Ichbiah, the famous inventor of Ada.”  These two Frenchmen are “Cathedral builders,” a concept that is well documented in ESR’s “The Cathedral & The Bazaar.”

This is one of the greatest Cathedrals ever built, the Abbey at Mont St. Michel, a cathedral discussed by Henry Adams as one of the world’s greatest treasures. There is something about the French where they know how to build cathedrals and computer languages that facilitate such construction.

Cathedral builders look to build sound software structures that can accommodate a relatively high level of complexity with extreme long-term stability.  Fisher Black was likewise a cathedral builder inasmuch as he articulated a strict object oriented structure for Goldman Sachs that allowed it to continue to operate in the worst of situations during the 2007-2008 Financial Crisis.  SLANG allowed Goldman to consolidate a huge codebase, just like Ada allowed the DoD to consolidate the work of over 400 languages.  Many had hoped Eiffel would do one better than Ada, thus the decision was merited.

Bertrand not only built one of the greatest software development programs in the world around Eiffel at ETH Zurich, but his ideas had real world impact.  Amazing groups such as Microsoft benefitted from Bertrand’s paradigm shift facilitated by Eiffel, a fact manifested by Bertrand being on stage with Bill Gates as Microsoft unveiled its .NET framework.  Closer to home in finance, the ETH Zurich spin-off Swiss Quant, used the principles taught by Bertrand to successfully unify codebases at many of the top German banks, something that top American banks have failed to do with Python.  But while Python and Eiffel are wonderful tools, they are not what we believe we will need to unify our codebases.  In our Eiffel-centric codebase we simply had too many kludges, not unlike what the U.S. banks found with Python. 

While we acknowledge that Eiffel helped us build monuments, we understood that it was now time to embrace a new language what we can use to rebuild our foundation and unify our engines of complexity.  That language is Rust.

Portland Bridge Builders

Many have asked why we moved away from Salt Lake City to start our new company in Southwest Washington, across the river from Portland, Oregon.  While my family goes back in the Portland area five generations, I personally never thought I’d be back, but then so many things combined that it was impossible to ignore. Among those combining factors was the relative concentration of astute mathematical programmers in the Portland area.  Perhaps equally as important as the aforementioned facts was something else that we were watching in Portland that rose during Covid.  No, I don’t mean the protests or riots, but the elegant language Rust.

My home town of Portland, Oregon is known for many things, but among them are bridges that span the Columbia River, making it a “City of Bridges.” We believe Rust, a software language emanating from Portland will provide a bridge from us from academia to industry, and also help unify our engines of complexity.

We are looking at Rust for it to be a grand unifier of our “engines of complexity.”  We’d watched the development of Rust and the community around it for years, and then during Covid is began to finally coalesce into something that we knew we could build around.   This “Rust movement” was centered in my hometown of Portland, Oregon.

All one has to do is read the comments on Stack Overflow to know that Rust can not only subsume many of the functions of C and/or C++, but it has also become the most loved programming language by hardcore developers and it has also become one of the most wanted technologies by developers to deploy.   Covid almost killed Rust because of the employee cuts at Mozilla (one of Rust’s strongest supporters), but Rust came back stronger than ever with the Formation of the Rust Foundation with backing by Amazon, Google, and Microsoft. This support cemented Rust in the accepted suite of tools for the top tech firms.  We’d been waiting for Rust for years and now we were ready.

Next week I will discuss nascent movements in Julia and how I see those potentially playing out.