Back to Home

A person. Anders Halesberg - creator of Turbo Pascal, Delphi and C #

turbo pascal · delphi · c # · microsoft · borland · person · programming languages · software development · career in the it industry

A person. Anders Halesberg - creator of Turbo Pascal, Delphi and C #


    “I wrote a huge number of useful programs. And quite a bit useless. ”

    Some people have a need to create something new. When this need is fully realized, works of art, scientific discoveries, breakthrough technologies appear. Such a person is Anders Halesberg, creator of Turbo Pascal, Delphi and C #.

    For many university students, Turbo Pascal is still the first language that introduces programming. At one time he was a kind of breakthrough in software development. Not without reason “to the people” did not go Pascal, namely Turbo Pascal.

    However, Halesberg did not stop there. Thanks to his unquenchable need to create new things, Delphi and C # appeared. Therefore, for many, Anders is one of the “superheroes” of the IT industry.

    First steps


    Anders Hejlsberg was born in December 1960 in the largest city in Denmark - Copenhagen, which is also its capital.

    Halesberg wanted to get an engineering degree at the Lyngby Technical University, but he never managed to finish it.


    The Danish Technical University is a technical university and research institute located in Lyngby-Torbek, north of Copenhagen.
    The young man was passionate about programming since childhood. At the university, Anders wrote software for Nascom machines.

    “In 1979, I founded the computer company PolyData in Denmark. This was a time when personal computers did not exist. We sold computer systems and wrote software for them. I wrote an assembler, a disassembler, a small operating system, and several extensions for Microsoft ROM-Basic5.

    My very first big project was a Pascal compiler and an editor that could replace ROM-Basic, ” recalls Halesberg.

    Turbo pascal


    In 1980, when Halesberg was twenty years old, his passion turned into a hand-written compiler of the Pascal language. It was originally Blue Label Software Pascal for the Nascom-2. Then he ported the compiler to CP / M and the popular operating system of those years, MS DOS. As a result, the compiler was named Compas Pascal, and later - PolyPascal.



    In 1983, we teamed up with the guys who just founded Borland; they licensed our Pascal compiler and added their own editor there.
    Borland has released the IDE, currently known as Turbo Pascal.
    I remember thinking they were crazy: these guys were selling a new product for $ 49, 95, while it cost $ 500! But quickly enough it turned out that I was wrong: Turbo Pascal became very popular. We sold as many copies of it as at the beginning it was impossible to imagine.
    Borland supported this version of the IDE until 1995.

    To solve financial problems, in 1987 Anders moved to California (USA), where he became the chief engineer of Borland.

    Delphi


    In 1996, Halesberg and his team released a development environment called Delphi. Object Pascal, which was also developed by the same team, was used as the base programming language.

    When Borland started work on Object Pascal, its progenitor (Pascal, once created by Wirth) was in a rather poor state. Many functions have been revised and revised, many have been added and written from scratch. And in the end, the changes turned out to be so colossal that the developers created, one might say, a new programming language.


    The new IDE Delphi got its name in honor of the ancient Greek city of Delphi. The name was chosen for a reason: the city of Delphi is associated with the name of the god of wisdom and the patron of the arts of Apollo. According to legend, the main sanctuary of Apollo was in this city. His Sibyl priestesses uttered prophecies to those wishing to know their fate.
    “If you recall the previous Borland products, it should be noted that Turbo Pascal was very successful - products with integrated development environments significantly increased the productivity of programmers. However, the first version of Turbo Pascal for Windows still did not solve the most significant problems faced by developers of Windows-based applications, and it quickly became clear to us what we should do to solve these problems. The creation of Windows applications was supposed to begin with the design of the user interface, and this was the key idea of ​​the new product.

    When we released Delphi, it was the first rapid application development tool based on a compiled programming language, while the Visual Basic that existed at that time could only create p-code and was essentially based on an interpreter. I can say that it was the creation of Delphi that stimulated the appearance of the compiler in machine code in subsequent versions of Visual Basic, ” says Halesberg.

    The new development environment willingly started and quickly enough worked on machines running the Windows operating system. Microsoft could not ignore this fact and the talented engineer Halesberg.

    Every year a new version of Delphi appeared, but after the fifth, the frequency was broken. It turned out that in parallel with the development of a new version of Delphi, a new Delphi-like programming language was being developed for Linux. The new product is called Kylix.

    Delphi had a huge impact on creating the concept of the C # language for the .NET platform. Many of its elements and conceptual solutions are included in C #. This was to be expected, because Anders Halesberg was still lured to Microsoft.

    Microsoft and C #




    In 1996, Anders moved to work at Microsoft: instead of the $ 200 thousand that he received in his old place, Bill Gates offered $ 2.5 million. There, he first worked with projects such as J ++ and Foundation Classes. But then he led the C # language development team. Under his leadership, programmers such as Scott Wiltamut and Peter Gold worked.
    I was the chief architect of the language. The team consisted of four people. We met for two to three hours three times a week.
    Microsoft decided to celebrate the new millennium with the release of new software products. By 2000, the company had prepared industrial versions of new component technologies and solutions in the field of messaging and data, as well as the creation of Internet applications (COM +, ASP +, ADO +, SOAP, Biztalk Framework). In support of these innovations, Microsoft has released an application development toolkit, the .NET platform. She also combined “under one roof” several programming languages, which was new to the time.

    Another innovation of the .NET platform was the technology of active server pages ASP.NET (Active Server Page). With its help, it was possible to relatively quickly develop web applications that interact with databases.

    The C # programming language was created specifically for ASP.NET. ASP.NET itself was completely written in C #.



    “In my opinion, the main difference between C # and other programming languages, especially Java, is that we tried to stay as close to C ++ as possible,” Anders Halesberg explained.
    When we created the C # language, we had several goals. First of all, create the first component-oriented language from the C / C ++ family. If we recall how the application was developed five or even ten years ago, we will see that many developers even then created a special environment in order to organize the launch of the application on demand, the execution of a specific task and its stop.

    With the advent of the Web phenomenon and client-server architecture, the nature of applications has changed. Nowadays, a set of components is often created that are run by a particular process — business objects for middle-level applications, stored procedures in database servers, and it is the combination of such components that is now called the application.

    In addition, we had in mind the way developers now design and create software. A modern approach to designing applications (including HTML pages and business objects) usually involves using the concept of properties, events and methods of components or objects, as well as the property inspector to change them.

    It follows that for component-oriented programming and for the entire industry as a whole, it is extremely important to integrate support for the concept of a component into programming languages. This was one of the key goals of creating C #.

    Our goal was also to create a more productive version of C ++. It is known that developers love this language for its power and almost unlimited possibilities, but the problem with C ++ is that its power is used for 1% of the time, and 99% of the time is spent to understand what language design to apply to solve a particular problem. We decided to create a simplified version of C ++ to increase the productivity of developers.

    Epistolary genre


    One of the few books that Anders Halesberg has written is C #. This book was written in collaboration with other experts who were part of the Microsoft C # development team. This book is a kind of "Bible" of the developer, which can easily replace both MSDN and other books on C #, loyal connoisseurs of Halesberg believe.

    The book was reprinted four times. Since the 4th edition (2012), the book has included extensive commentaries written by well-known programming “gurus” such as John Skeet, Joseph Albahari, Bill Wagner, Christian Neigel, Eric Lippert and others.


    Awards


    In 2000, Dr. The Dobb's Journal (a monthly computer magazine published in the United States) honored Anders Halesberg with the award for creating Turbo Pascal, Delphi, and C #.

    In 2007, he and his team received an award (Outstanding Technical Achievement) for creating the C # language.


    Sean Katsenberger, Peter Hall, Scott Wiltamat, Anders Halesberg, Todd Websting, Peter Sollich, Eric Meyer

    What's next


    In 2012, Halesberg announced the new TypeScript project, which is being developed under the auspices of Microsoft.


    TypeScript is backward compatible with JavaScript and compiles into the latter. In fact, after compilation, the TypeScript program can be run in any modern browser or used in conjunction with the Node.js server platform.
    Since I’ve been doing computers, we’ve only done that we raised the level of abstraction higher and higher. Already gone the way from machine code to assembler, then to C, then C ++ and now to an environment that controls the execution of code, such as .NET or Java. So far I do not see any signs that this list cannot be continued. In my opinion, I wonder if we can raise the level of abstraction higher than imperative programming.

    In an RSDN interview, Anders talked about who feels the most.

    Anders, who do you consider yourself: a programmer, planner, architect, theorist?

    - I think a little bit of everything. Although I have to do high-level designing, I still write code from time to time to keep myself in shape.

    Read Next