AdaCore Blog

AdaCore Memories: the stories behind the first 30 years of AdaCore

AdaCore Memories: the stories behind the first 30 years of AdaCore

by Andrea Bristol


As part of our 30 years of AdaCore celebrations, we spoke to some of our founders to discover the stories that built what we are so proud of today.

Ed Schonberg and Richard Kenner share some memories.


Can you take us back to the beginning? What inspired you and your co-founders?


Ed Schonberg: The beginning was an academic project at New York University around 1980. The Department of Defense organized an international competition for a new programming language that would fulfill all the software needs of the DoD (an unattainable goal in retrospect). The winner of the competition was a French group Headed by Jean Ichbiah. The resulting language incorporated strong typing, generic mechanisms, and concurrency and was thus much more complex than most languages of that time. The group at NYU obtained a research grant to create an “executable definition” of the language in the form of an interpreter whose code was readable enough to serve both as a definition of static and dynamic semantics of the language.

After completing the interpreter, we created a more efficient version that was distributed to universities interested in teaching this new language. This version was called Ada-Ed to indicate its pedagogical purpose.

Richard Kenner: After Ada-Ed, the first validated Ada compiler, was completed, the DoD started what was then called the “Ada 9X” project, which created what is now known as Ada 95. The significant addition to the language was object-oriented features. There was concern about whether the language was implementable, so the Air Force (under Chris Anderson) contracted NYU to develop a compiler for it. The plan at NYU was to write an Ada front end for the GNU GCC compilation system. That was when I got involved in the project because of my work on GCC for the NYU Ultracomputer project (I was also the FSF maintainer of GCC at the time).

Richard: We involved Richard Stallman (RMS) from the GNU project and Free Software Foundation in this effort from the early stages, and he came to NYU for several meetings. One major and interesting sticking point was the non-standard compilation model of Ada, which is that each program consists of a “library,” and each compilation adds to that library. This was unacceptable to RMS because the main point of Free Software is that the sources completely define the program, but, at least as implemented for Ada until that time, the order of compilation is critical because the last version of a package compiled is the one used. We were adamant that it had to be this way to meet the Ada standard, and RMS started a famous email thread with the subject line “To anybody but Dewar,” to which Robert participated heavily.* We eventually came up with the current model, where the source files themselves are the “library” in the RM sense (for those technically oriented, this is where “gnatchop”, which is rarely used today, came from: at that time, the practice was to have multiple packages in one file and running gnatchop was that part of the compilation process that updated the “library”).

*Robert Dewar played a key role in the design and implementation of the Ada programming language and founded AdaCore, along with four colleagues, in 1994. He served as its CEO until 2012 and as its President until his death in 2015.

At AdaCore, Dr. Dewar was active in all phases of the company’s business, going well beyond the typical duties of his office. He was the principal architect of the GNAT compiler technology, a member of several product development teams, tracked problem reports to make sure they were handled properly, wrote numerous journal articles and opinion pieces on topical events in the industry, and served as company spokesman to customers and the trade press. He was an outspoken advocate of Freely Licensed Open Source Software, gave many talks on the subject, and was instrumental in establishing a cooperative relationship between AdaCore and the Free Software Foundation.



How did you decide on the focus of AdaCore, particularly on high-integrity software and the Ada programming language?


Ed: AdaCore was created several years after the academic project was completed when we decided that the original interpreter was a good blueprint for an industrial-quality Compiler. The original founders were Robert Dewar, Richard Kenner, and Edmond Schonberg. Robert was the technical leader and inspiration for the project. Richard Kenner was an expert in the GCC system (and its maintainer at the time). Initially designed by Richard Stallman, GCC was the original Open-Source system, making the whole of GNAT open-source.

GNAT stands for GNU-NYU-Ada-Translator. “Translator” because the original system was not a compiler but an interpreter representing the language's runtime semantics as closely as possible. This model was amazingly slow, and we used to explain that it was for the “real-time simulation of paper-and-pencil calculations.” In any case, it proved an excellent model for a real compiler. As such, it served as a large-scale experiment in software prototyping. High integrity was one of the objectives of the language design. The project was in the Programming Languages group of the Computer Sciences Department and, as such, was attractive to all of us. Cyrille Comar and Franco Gasperoni were part of the original team, Cyrille as a Post-grad researcher and Franco as a PhD student, both with a strong connection with France. When they returned to France, they created a French company parallel to the US Adacore, and for several years, we collaborated across the Atlantic, working on the same software. The two companies merged a decade later.

Ed: The new company's first official customer was Silicon Graphics, one of the first manufacturers of high-end graphics workstations. The lead of their compiler group, Wes Embry, encouraged us to create a commercial entity with which SGI could do business. We received three workstations from SGI that became the core of our small network, which resided originally in Robert’s loft. Wes Embry became our roving salesforce for several years.


What were some of the biggest technological challenges you faced in the early days of AdaCore, and how did you overcome them?


Ed: The most exciting innovations of Ada vis-a-vis other programming languages of the time were genericity (i.e., the use of parameterized functions, procedures, and packages) and concurrency in the form of tasks communicating by means of rendez-vous. Apart from that, the language Ada itself evolved over the years: a second version of the language (whose principal designer was Tucker Taft) appeared in 1995 and added object-oriented programming to Ada,

Another serious implementation challenge was that new versions of the language appeared.

In 2005, 2012, and 2022, each added new features and challenged the compiler constructors further.

In addition, several program analysis tools were added around the compiler, and creating the proper interfaces between the compiler and tools is a constant activity; of these tools, the most important today is probably SPARK, a system that analyzes Ada programs to detect programming errors in the structure of programs using theorem-proving techniques.

SPARK exists due to Ada's rigorous semantics, which makes it possible to perform this kind of logical analysis (no such tool exists for common mainstream languages today, such as C++, Java, Rust, etc.).



Can you share a story or anecdote from the early days of AdaCore that stands out in your memory?


Ed: Robert Dewar, British to the core, was a Gilbert and Sullivan devotee, a member of the Village Light Opera Group in NYC, and suggested we rewrite the Lyrics of some G&S operettas with jokes for an entirely nerd audience. Karen Mason, who had joined AdaCore as an office manager at the time, was a professional soprano and played Lady Ada on various occasions, usually as part of the annual meetings of the SIGADA Group. Other members of the team with decent singing voices joined in. At least one Engineer was hired (after a conference in England) simply based on a BS degree and enthusiasm for choral singing.


As a small startup, how did we compete in an industry dominated by large companies on both the buyer and seller sides?


Richard: Robert believed there were times when a company needed to spend money, and that was true whether or not money was available. We followed that strategy in the early days. Although that can often produce quite bad results, it worked very well for us. We realized early on that to compete with the “big boys,” we had to be very professional. So we hired a designer to select a company color and logo and made business cards and stationery. (With modern technology, this is common for startups now; it wasn’t then.)

Richard: The show that Ed mentioned above was also a critical part of this process. The TriAda conference at that time had a tradition that a vendor hosted a social event on Tuesday evening. It rotated among the vendors. At our first TriAda, we put on a parody of “Trial by Jury” with Ada Byron herself as the prosecutor. This was such a hit that the tradition of rotating vendors ended, and we were asked to produce such a show for every future TriAda conference. We created a “playbill,” which was also a very light advertisement for AdaCore. A considerable proportion of visitors attended that show. On the last TriAda, in DC, I remember Robert coming to us with his laptop where he had just finished the playbill and asked us to print it. Our estimated number of registrants was just over 300, so we printed 300 copies. And ran out.

Richard: One of the most challenging things for a startup trying to break into an established field is name recognition. However, because of these actions (mostly the show at TriAda), we quickly gained nearly 100% name recognition among Ada users.


Which technological advancements over the past 30 years have profoundly impacted your work at AdaCore?


Ed: The ongoing evolution of the language, the need for improved performance and new optimizations, the need to interface with other programming languages, and the development of tools for program analysis.


Have technology changes over that time had any other impact on AdaCore?


Richard: When we started, computer architecture was a “hot topic”; there were many different architectures in use. This led to the creation of compiler technologies such as GCC (and later LLVM) that supported multiple CPUs. GCC version 2 (in use then) supported 37 architectures. Because of that technology, we were able to target many different architectures quickly, and this was a major competitive advantage in our early days.

Richard: Now, the “CPU wars” have ended, and only two architectures (x86 and ARM) are in heavy use, with a few more (such as PPC) hanging on. This changes our emphasis on product release choices but no longer affects our competitiveness. The major changes have been in IT. Initially, most of our workstations were different CPUs. It wasn’t until our third office that we had a significant majority of x86 machines, and the further consolidation of architectures facilitated moving most of our testing and development to cloud computing. But two very large early contracts were porting to SGI and DEC architectures, so it’s an open question whether we’d be where we are today if it hadn’t been for the CPU diversity when we started.


What key attributes have allowed Ada to remain relevant and vital in the industry?


Ed: The language remains relevant because of the combination of features: strong typing, concurrency, the array of programming analysis tools, and the portability of the language that follows from the use of GCC as a code generator. GCC targets most computer architectures today, making porting GNAT to new machines relatively easy. Recently, LLVM has appeared as a new portable open-source code generator and will become a new back-end for GNAT, adapted to other architectures.



Could you reflect on a project or client engagement that was a turning point for AdaCore? What made it significant?



Ed: The constant interaction with customers, which follows from the open-source model, means that we have a continuous stream of requests for enhancements, optimizations, language extensions, interfaces to other programming environments, etc. This makes the work at AdaCore particularly dynamic. Customers are typically very technically savvy and comment on implementation details, which results in continual enhancements.

Ed: It is hard to mention any particular customer, but in the early years, one of them was the source of much implementation and optimization work: EuroControl, an organization that performs the same function in Western Europe that the FAA does in the US, i.e., monitoring and organizing in real time all airplane traffic in their area. They have a superb programming group, are at the cutting edge of Ada usage, and have provided beneficial feedback over the years.



Posted in #AdaCore   

About Andrea Bristol

Andrea Bristol

Andrea Bristol is the PR and Marketing Campaigns Manager at AdaCore. A marketer for over 18 years, Andrea is a Fellow of the Chartered Institute of Marketing. In her spare time, she can be found at the stables with her dressage horse Nemo or being mum-taxi to her 3 children.