Персона. Андерс Хейлсберг – творець Turbo Pascal, Delphi і C#


«Я написав величезну кількість корисних програм. І зовсім небагато непотрібних»

У деяких людей є потреба створювати щось нове. Коли ця потреба реалізується повною мірою, з'являються твори мистецтва, наукові відкриття, проривні технології. Такою людиною є Андерс Хейлсберг, творець Turbo Pascal, Delphi і C#.

Для багатьох студентів Вузів Turbo Pascal досі залишається першою мовою, з якого починається знайомство з програмуванням. У свій час він був своєрідним проривом у розробці програмного забезпечення. Недарма «в народ» пішов не Pascal, а саме Turbo Pascal.

Однак Хейлсберг на цьому не зупинився. Завдяки його незгасну потреби створювати нове з'явилися Delphi і C#. Тому для багатьох Андерс є одним з «супергероїв» ІТ-індустрії.

Перші кроки
Андерс Хейлсберг (Anders Hejlsberg) народився в грудні 1960 року в найбільшому місті Данії – Копенгагені, який за сумісництвом є її столицею.

Хейлсберг хотів отримати інженерна освіта в Технічному університеті Люнгбю, але так його і не зумів закінчити.


Датська технічний університет — технічний університет та дослідницький інститут, розташований у комуні Люнгбю-Торбек на північ від Копенгагена.
Юнак був захоплений програмуванням з самого дитинства. В університеті Андерс писав програми для машин Nascom.

«У 1979 році я заснував у Данії комп'ютерну компанію PolyData. Це був час, коли персональних комп'ютерів ще не існувало. Ми продавали комп'ютерні комплекси і писали для них програмне забезпечення. Я написав асемблер, дізассемблер, невелику операційну систему і кілька розширень для Microsoft ROM-Basic5.

Моїм першим великим проектом став компілятор з мови Pascal і редактор, який міг замінити ROM Basic», – згадує Хейлсберг.

Turbo Pascal
У 1980 році, коли Хейлсбергу було двадцять років, його захоплення вилилося у власноруч написаний компілятор мови Pascal. Спочатку це був Blue Label Software Pascal for the Nascom-2. Потім він портувати компілятор під CP/M і популярну операційну систему тих років MS DOS. В результаті компілятор отримав назву Compas Pascal, а пізніше – PolyPascal.



В 1983 році ми об'єдналися з хлопцями, які тільки що заснували компанію Borland; вони ліцензували наш компілятора Pascal і додали туди власний редактор.
Borland випустила IDE, відому нині як Turbo Pascal.
Я пам'ятаю, як думав, що вони божевільні: ці хлопці продавали новий продукт за ціною $49, 95, у той час як він коштував $500! Але досить швидко з'ясувалося, що я помилявся: Turbo Pascal став дуже популярним. Ми продали стільки примірників, скільки на початку було неможливо і уявити.
Дану версію інтегрованої середовища розробки Borland підтримувала до 1995 року.

Щоб вирішити фінансові проблеми, у 1987 році Андерс переїхав до Каліфорнії (США), де став головним інженером фірми Borland.

Delphi
У 1996 році Хейлсберг і його команда випустили середовище розробки під назвою Delphi. В якості базової мови програмування використовувався Object Pascal, який також був розроблений цією командою.

Коли в компанії Borland почали роботу над Object Pascal, його прабатько (Pascal, створений колись Віртом) перебував у досить занедбаному стані. Було переглянуто та опрацьовано безліч функцій, багато було додано і написано з нуля. І в результаті зміни виявилися настільки колосальні, що розробники створили, можна сказати, нову мову програмування.


Своє ім'я нова IDE Delphi отримала на честь давньогрецького міста Дельфи. Назву було обрано неспроста: місто Дельфи пов'язаний з ім'ям бога мудрості і покровителем мистецтв Аполона. Згідно з легендою головне святилище Аполлона перебувало саме у цьому місті. Його жриці-сивіли звіщали пророцтва бажаючим дізнатися свою долю.
«Якщо згадати про попередніх продуктах Borland, потрібно відзначити, що Turbo Pascal був дуже успішним — продукти з інтегрованими середовищами розробки істотно підвищували продуктивність праці програмістів. Однак перша версія Turbo Pascal для Windows все ж не вирішувала найважливіші проблеми, з якими стикалися розробники Windows-додатків, і нам досить швидко стало ясно, що саме ми повинні зробити для вирішення цих проблем. Створення Windows-додатків повинно було починатися з проектування користувальницького інтерфейсу, і це стало ключовою ідеєю нового продукту.

Коли ми випустили Delphi, він став першим засобом швидкої розробки додатків, заснованим на компилируемом мовою програмування, тоді як існував у той час Visual Basic міг лише створювати p-код і був, по суті, заснований на інтерпретаторі. Я можу сказати, що саме створення Delphi стимулювало появу компілятор в машинний код у наступних версіях Visual Basic», – розповідає Хейлсберг.

Нова середовище розробки охоче запускалася і досить швидко працювала на машинах під управлінням операційної системи Windows. В корпорації Microsoft не могли обійти увагою цей факт і талановитого інженера Хейлсберга.

Кожен рік з'являлася нова версія Delphi, але після п'ятої періодичність порушилася. Виявилося, що паралельно з розробкою нової версії Delphi, велася розробка нового, Delphi-подібного мови програмування для Linux. Новий продукт отримав назву Kylix.

Delphi зробив величезний вплив на створення концепції мови C# для платформи .NET. Багато його елементи і концептуальні рішення увійшли до складу С#. Цього слід було очікувати, тому що Андерса Хейлсберга все-таки переманили в Microsoft.

Microsoft і C#


У 1996 році Андерс перейшов працювати в Microsoft: замість $200 тисяч, які він отримував на старому місці, Білл Гейтс запропонував $2,5 мільйона. Там він спочатку працював з такими проектами, як J++ і Foundation Classes. Але потім він очолив команду розробки мови С#. Під його керівництвом працювали такі програмісти, як Скотт Вилтамут і Пітер Гольде.
Я був головним архітектором мови. Команда складалася з чотирьох осіб. Ми зустрічалися на два-три години три рази на тиждень.
Microsoft вирішила відзначити нове тисячоліття випуском нових програмних продуктів. До 2000 року компанія підготувала промислові версії нових компонентних технологій і рішень в області обміну повідомленнями і даними, а також створення Internet-додатків (COM+, ASP+, ADO+, SOAP, Biztalk Framework). У підтримку цих нововведень Microsoft випустила інструментарій для розробки додатків – платформу .NET. Вона також об'єднувала під одним дахом кілька мов програмування, що було в новинку для того часу.

Ще одним нововведенням платформи .NET була технологія активних серверних сторінок ASP.NET (Active Server Page). З її допомогою можна було відносно швидко розробити веб-додатків, взаємодіючих з базами даних.

Мова програмування C# був створений спеціально для ASP.NET. На C# повністю була написана і сама ASP.NET.



«На мою думку, основна відмінність між C# та іншими мовами програмування, особливо Java, полягає в тому, що ми намагалися залишитися якомога ближче до С++», – пояснював Андерс Хейлсберг.
Коли ми створювали мову C#, у нас було кілька цілей. Насамперед — створити перший компонентно-орієнтований мову з сімейства C/С++. Якщо згадати, як проводилася розробка додатків п'ять і навіть десять років тому, ми побачимо, що багато розробники вже тоді створювали спеціальне оточення для того, щоб організувати запуск програми на вимогу, виконання певної задачі і його зупинку.

З появою феномена Web і архітектури «клієнт-сервер» природа додатків змінилася. Зараз нерідко створюється набір компонентів, які виконуються під управлінням того чи іншого процесу, — бізнес-об'єктів для додатків середньої ланки, збережених процедур в серверах баз даних, і саме сукупність таких компонентів зараз називається додатком.

Крім того, ми мали на увазі і те, яким чином розробники зараз проектують і створюють програмне забезпечення. Сучасний підхід до проектування додатків (у тому числі і HTML-сторінок, і бізнес-об'єктів) зазвичай передбачає використання концепції властивостей, подій і методів компонентів або об'єктів, а також інспектора властивостей для їх зміни.

Звідси випливає, що для компонентно-орієнтованого програмування і для всієї індустрії в цілому надзвичайно важливо вбудувати в мови програмування підтримку концепції компонента. Це і була одна з ключових цілей створення З#.

Нашою метою було також створення більш продуктивної версії З++. Відомо, що розробники люблять цю мову за його міць і практично необмежені можливості, але проблема застосування З++ полягає в тому, що його міць використовується протягом 1% часу, а 99% часу йде на те, щоб зрозуміти, яку конструкцію мови застосувати для розв'язання тієї чи іншої задачі. Ми вирішили створити спрощену версію З++, щоб підвищити продуктивність праці розробників.
Епістолярний жанр
Одна з небагатьох книг, яку написав Андерс Хейлсберг, – «Мова програмування C#». Ця книга була написана спільно з іншими фахівцями, що входили в групу розробників C# компанії Microsoft. Ця книга — свого роду «біблія» розробника, яка з легкістю може замінити MSDN, так і інші книги по C#, вважають віддані шанувальники творчості Хейлсберга.

Книга перевидавалася чотири рази. Починаючи з 4-го видання (2012 рік) у книгу включили обширні коментарі, написані відомими «гуру» програмування – такими як Джон Скит, Джозеф Альбахари, Білл Вагнер, Крістіан Нейгел, Ерік Ліпперт і іншими.


Нагороди
У 2000 році, журнал Dr. Dobb's Journal (щомісячний комп'ютерний журнал, який видається в США) удостоїв Андерса Хейлсберга нагородою за створення Turbo Pascal, Delphi і C#.

У 2007 році він разом зі своєю командою отримав нагороду («Видатні технічне досягнення») за створення мови C#.


Шон Кэтсэнбергер, Пітер Холів, Скотт Уилтамат, Андерс Хейлсберг, Тодд Проэбстинг, Пітер Соллих, Ерік Мейер

далі
У 2012 році Хейлсберг оголосив про новий проект TypeScript, який розвивається під егідою Microsoft.


TypeScript є зворотно сумісним з JavaScript і компілюється в останній. Фактично, після компіляції програми на TypeScript можна виконувати в будь-якому сучасному браузері або використовувати спільно з серверною платформою Node.js.
З тих пір, як я займаюся комп'ютерами, ми тільки і робили, що піднімали рівень абстракції все вище і вище. Вже пройдено шлях від машинного коду до асемблера, далі до С, потім З++ і тепер до середовища, що управляє виконанням коду, такий як .NET або Java. Поки я не бачу ніяких ознак того, що цей список можна продовжити. На мій погляд, цікаво, чи ми зможемо підняти рівень абстракції вище, ніж імперативне програмування.
інтерв'ю RSDN Андерс розповів про те, ким більше відчуває себе.

Андерс, ким ви себе вважаєте: програмістом, проектувальником, архітектором, теоретиком?

– Думаю, всім потроху. Хоча мені доводиться займатися високорівневим проектуванням, я все одно час від часу пишу код, щоб підтримувати себе у формі.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.