30 Years Ago: Turbo Pascal, BASIC Turn PCs Into Programming Engines

eWEEK 30:  Early PC development tools like Turbo Pascal and Microsoft BASIC gave an entire generation of fledgling developers access to affordable and remarkably efficient programming products.

Even as eWEEK celebrates its 30th anniversary, Borland International's Turbo Pascal, a seminal work in the evolution of software development tools, will celebrate its 30th anniversary in November 2013.

Speaking fondly of "the good old days," upon request for a comment on programming in the '80s, Turbo Pascal creator Anders Hejlsberg told eWEEK it was ironic that he was just thinking of how November will mark the 30th anniversary of Turbo Pascal as the first truly integrated development environment (IDE). "It's a bit scary how long ago that was," he said.

Turbo Pascal and other early PC development tools helped to democratize software development. The magic of Turbo Pascal was that it integrated an editor, debugger and compiler into one tool, which made things easier for developers.

"The '80s were a fun time—the beginning of the democratization of computing that we've all lived for the past 30 years," Hejlsberg said. "Performance, capacity, reliability or any other metric really of machines back then was pretty horrible. And the development tools—if you could even call them that— were even more so.

"But of course it was all better than the nothingness that preceded it. The BASIC interpreters of the time were pretty easy to use, but programs ran very slow. Some C and Pascal compilers were available, but line-oriented editors and super-slow compilation speeds that required you to switch floppies between compiler passes were just insanely painful," he said.

"The edit-compile-debug cycle could best be characterized as glacial. There was a very real need for a development experience that coupled productivity with efficient code," said Hejlsberg.

The first PCs allowed hobbyists and budding developers to try their hand at writing BASIC applications. But as enterprises started deploying PCs in large numbers, professional developer started looking for PC tools to write applications in almost every imaginable language, including Pascal, FORTRAN, COBOL, C, C++ and beyond.

Microsoft got its start selling BASIC interpreters for the personal computers, and development tools continued to grow into an important part of its business. Other companies, such as Borland, arrived on the scene in the 1980s and also made fortunes in development tools.

Turbo Pascal included a compiler and an IDE for the Pascal programming language running on CP/M, CP/M-86 and DOS, developed by Borland under co-founder and CEO Philippe Kahn's leadership. Kahn saw an opportunity in the development tools world where programmers saw their workflow in terms of the edit/compile/link cycle, with separate tools dedicated to each task.

Programmers wrote source code and entered it using a text editor, a compiler then created object code from source (often requiring multiple passes) and then shifted to a linker that combined object code with runtime libraries to produce an executable program.

Kahn's idea was to package all these functions in an integrated programming toolkit, have it run with much better performance and charge one low price for it all. Instead of selling the kit through established sales channels such as retailers or resellers, his new tool would be sold inexpensively via mail order. The product sold for $49.95.

"Being a developer myself I needed a tool that would make me more productive," Kahn told eWEEK. "I had worked on integrated development environments as a student of Niklaus Wirth at the ETH [Eidgenössische Technische Hochschule] in Zurich. I give a lot of credit to Niklaus for inspiration.

"Then it was a matter of putting it all together. My partner wrote the compiler, and it was fast. Yet most of the development time was used in going back and forth between source code and execution. Then debugging the executed program. So we decided that a fast one-pass compiler was the way to go because it allowed us to pinpoint runtime errors right into the source code," Kahn said.