The man behind IAR Systems and the world's first C compiler for 8051
by Magnus Fritzson
The choice of creating a compiler for C was part of the success as IAR Systems was born. Pascal was an option but didn't work in embedded systems.
IAR Systems was born out of the embedded programming passion of the man behind the two last letters in IAR, Anders Rundgren. ¹)
"I named my son Pascal but picked C for the first compiler," says Rundgren with a smile.
IAR Systems was founded in 1983. The first C compiler was yet a couple of years away. In those days not many believed in a future for the C programming language. Its ability to communicate directly with separate parts of the processor was one of the reasons for Anders Rundgren to choose C anyway.
"It was a stroke of luck," says Rundgren looking back.
In the 1980s, embedded engineers worked with tiny processors compared to the ones used today. 256 bytes of RAM and 4 kbytes of program memory was typical for processors running at clock speeds around 1 MHz in embedded applications. The programming language was assembler.
"From the mid 70s to the mid 80s, minicomputers were used to develop embedded applications," says Rundgren, "computers in the 100 000 dollar range for around 20 users."
He used a minicomputer in his work himself but had a firm belief in the need for something less complicated and cheaper, a personal computer for every engineer to use in the laboratory.
The IBM PC was released and became the platform of his choice, even though the future for the PC was all but certain.
"IBM hadn’t decided to market the PC," he says, "they developed large computers and a small department at IBM had come up with the PC, a product that didn’t really fit the IBM product portfolio."
Porting the programming tools to IBM PC was also uncertain. Anders Rundgren ordered one to try it out.
"I was of course hesitant. Would this work? Is it good enough? I merely hoped that it would work since it was equipped with a reasonably powerful processor," says Rundgren.
The porting was successful and that was the second stroke of luck. IBM PC soon became a success among engineers and succeeded the minicomputer as the number one choice of platform to use for developing embedded applications.
Anders Rundgren started his career researching assemblers and cross compilers at Uppsala University in the mid 70s. He decided to exploit the results of his research by starting a company rather than pursuing an academic career.
"I noticed there was a group of engineers who needed programming tools. They asked for my results so I seized the opportunity to make a business from it."
IAR Systems started selling assemblers, and sales were modest. Anders Rundgren worked as a consultant to make ends meet financially. The urge to develop a C compiler was already there, but it was a too big a task on his own so he put his efforts into assemblers.
"I was young, strong and managed to develop ten assemblers in a year," he says. "I didn’t seem to need that much sleep."
External financing provided the opportunity to hire the staff needed to develop the first C compiler. The result was the world's first C compiler for the 8051 microprocessor and the success arrived immediately.
"It wasn't until then that the business grew substantially. Turnover grew from a million or so to four one year and to seven million yet another year later."
A key factor in the success, according to Anders Rundgren, was technical support. "Support was a vital part of our offering," says Rundgren, "We were fast in responding to the customer's problems."
Switching from assembler language to C meant new technical possibilities for embedded engineers. Development was faster and applications could grow in complexity and functionality. Complex menu structures in consumer products were one example of what could be accomplished as a result of switching from assemblers to compilers.
"The introduction of complex user interfaces called for high-level programming languages," Rundgren concludes.
The late 1980s meant the development of a large number of C compilers. The processors had names like 6801, Z80, 6301, H8, H16 and H32. IAR Systems grew fast. One day in 1990, Anders Rundgren felt that it was time to step down. "It was painful to quit but necessary both for me and for the company."
He looks back with pride at the success of the early years of IAR Systems.
"I sometimes wonder why I didn’t make more money."
His reflection is that he's probably no different from other entrepreneurs in having a different motivating force than money.
"I created my own work."
And he met his wife at IAR Systems.
"We were both recently divorced and found each other, so IAR Systems has definitely had a great impact on my life", says Rundgren laughing.
Today he works with mobile phones for Nokia. He has abandoned C for Java, but remains an embedded programmer.
¹) "IAR" is an abbreviation of Ingenjörsfirman Anders Rundgren, which means Anders Rundgren Engineering Company.