2402

Как Borland просрали все полимеры2

В 90-е годы это название знали все. Даже те, кто не пользовался Паскалем. В течение почти 20 лет Турбо Паскаль преподавали в школах и техникумах, иногда в институтах.
Как минимум полтора десятка лет другой их продукт - Delphi - был одной из самых известных и популярных у нас в России сред разработки. И, кстати, живет до сих пор.

Как же получилось так, что фирма, создавшая два, можно сказать, революционных продукта - исчезла без следа? Я расскажу свою версию. С моей точки зрения, это рассказ о роли личности руководителя в судьбе фирмы.

Моя первая встреча с Turbo Pascal

Я впервые увидел Turbo Pascal 5.0. в 1989 году, на первой “своей” IBM PC XT. Тогда для меня это было что-то на грани чуда.

Ведь как в те времена делалось "в норме":

  1. Запускаем текстовый редактор и пишем/правим текст программы.
    Сохраняем, закрываем редактор.

  2. Запускаем транслятор (сейчас говорят компилятор), указывая в виде аргумента файл с текстом программы.
    Если в программе нет ошибок - получаем так называемый объектный модуль, содержащий алгоритмы нашей программы в машинных кодах, но без привязки к адресам в памяти.

  3. Запускаем линкер (редактор связей), указывая ему файл(ы) с объектными модулями, он собирает их в готовую программу, устанавливая адреса для каждой переменной и каждой подпрограммы, и указывая эти адреса там, где эти объекты вызываются.
    Теперь программу можно запустить на выполнение.

  4. Запускаем программу, проверяем, как она работает.

Ну, если работает не так - понятное дело, правим. Т.е. повторяем весь цирк сначала.
А чаще всего уже на шаге 2 сталкиваемся с тем, что транслятор обнаруживает ошибки в тексте, и выдает в отдельный файл - в строке ХХХ у вас какая-то фигня, а в строке YYY нет точки с запятой. И теперь надо открыть редактор, найти эту строку, и исправить ее.

Запустив Турбо-Паскаль, ты работаешь в текстовом редакторе. И не выходя из него, можешь нажать одну клавишу - чтоб программа откомпилировалась и запустилась.
Завершив прогон программы - возвращаешься в редактор.

Так выглядела среда разработки Turbo Pascal 5.0

Так выглядела среда разработки Turbo Pascal 5.0

Если у тебя в тексте программы что-то не так - тебе не сообщают об этом. Не заставляют искать в тексте ту ошибочную строку. Тебя сразу автоматически отправляют на ту строку, где ошибка, остается только исправить ее.
В общем, если до этого задача “скомпилировать написанную программу” занимала неделю, то теперь это делалось за два часа.

Потом выяснилось еще много интересных вещей - тут, оказывается, можно выполнять программу по строкам, на ходу выяснять значения переменных, и даже менять их, и многое-многое другое. Но это было уже привычное - у нас прекрасный инструмент, он, оказывается, теперь умеет еще и вот это.
Но вот это первое ощущение чуда - мне дали в руки инструмент, и я почувствовал себя всемогущим - запомнилось на всю жизнь.

В общем, на фоне привычных компиляторов Турбо Паскаль смотрелся как пулемет Максима среди дульнозарядных мушкетов. И было понятно, почему его так назвали. Также понятно, почему он получил такую популярность у начинающих программистов, а также преподавателей и студентов.

За его скорость и удобство ему можно было бы простить многое - даже если бы это был “игрушечный” компилятор, способный откомпилировать и собрать только маленькую учебную программу - популярность была бы ему обеспечена. А уж если этот инструмент мог создавать более-менее крупные программы с приличным качеством - его производитель, наверное, должен был бы озолотиться? Ну, давайте познакомимся с теми, кто это сделал.

1981 Основание фирмы Borland

Сама фирма началась с того, что в 1981 Нильс Енсен (Niels Jensen), Оле Хенриксен (Ole Henriksen) и Моргенс Глад (Mogens Glad)  основали компанию MIT - Market In Time.
Чем именно они будут заниматься - парни и сами пока не знали, они просто верили в персональные компьютеры, в свои силы и в свою удачу. И поначалу они просто писали программы для малых машин под управлением ОС CP/M.

В 1982 они посетили выставку CP/M-82, проходившую в Сан-Франциско. И сделали вывод, что если они хотят продавать свои программы в США - им надо иметь американскую компанию, располагающуюся в США, а не в Ирландии.

Кан-варвар из дикого леса

А еще они познакомились с Филиппом Каном. Который в то время имел хулиганские склонности, ездил на мотоцикле, играл на саксофоне, имел высшее образование в области математики и оконченную консерваторию, жил в США нелегально, поскольку не имел грин-карты… Зато он очень хорошо представлял, чем он хочет заняться для того, чтоб заработать денег.
Так что наши три датчанина приняли его в свою фирму. И саму фирму переназвали. Вроде как именно Кан предложил название Borland, означавшее на кельтском “лесная страна”.

Надо сказать, Кан всегда отличался любовью к неординарным решениям на грани хулиганства, к нарушению правил, что с одной стороны осложняло его взаимодействие с другими владельцами фирмы, с другой стороны часто обеспечивало успех его начинаниям.

Филипп Кан. В виде исключения, без мотоцикла и в костюме

Филипп Кан. В виде исключения, без мотоцикла и в костюме

Одна из статей о нем (к тому времени уже директоре Борланда, богатом и знаменитом) так и называлась - “Кан-Варвар” (Kahn the Barbarian).

Доли капитала в Borland были распределены так: Niels Jensen (250,000 акций), Ole Henriksen (160,000), Mogens Glad (100,000), and Kahn (80,000). Т.е. вроде как младший партнер. Филипп Кан становится президентом и генеральным директором (CEO) фирмы Borland, и в этой должности он будет 12 лет, до 1995.

1983 Появление Turbo Pascal

А идея у Кана была, собственно, в том, чтоб сделать удобную среду разработки. И еще хотелось быстрый компилятор, чтоб не приходилось идти курить, пока он пережевывает текст твоей программы.
В сущности, тут вроде ничего нового или революционного не было. Эта идея носилась в воздухе. Да, собственно, уже существовавший к тому времени Бейсик можно считать воплощением этой идеи. Но у Кана это действительно получилось, и получилось так хорошо, что его вариант стал по сути образцом для всех будущих.

Итак, в 1982 Кан начинает двигать свое направление, и находит талантливого программиста, тоже увлеченного этой идеей. А самое главное - этот программист уже сделал свою версию компилятора Паскаля под ОС CP/M. Теперь они начинаю делать Паскаль под MS DOS, и не просто компилятор, а именно среду разработки. И в 1983 у них выходит первая версия.

1982 В Borland приходит Андерс Хейлсберг (Anders Hejlsberg), разработчик Blue Label Pascal.

Андерс Хейлсберг, разработчик Turbo Pascal

Андерс Хейлсберг, разработчик Turbo Pascal

1983 Выпущена первая версия Turbo Pascal.

Название хорошо отражает основную суть. Компилятор был очень быстрым. У нормальных людей компиляция программы занимала от 5 минут до получаса, в Турбо Паскале же компиляция занимала не более 5 секунд. Надо сказать, Борланд всегда отличалась меткими названиями.

Новый продукт предполагалось продавать учебным заведениям. По недорогой цене. $49.99. При стоимости нормальных профессиональных компиляторов порядка $300.

Емкость рынка в первом приближении оценивалась в 30 000 потенциальных покупателей. Ну, т.е. если все они купят новую программу, то фирма получит полтора миллиона долларов. В реальности, естественно, купят далеко не все.

В реальности в первый месяц продаж Борланд набрал 3000 покупателей. Соответственно, 150 000 долларов.
Местные банки даже стали отказываться оплачивать чеки и кредитные карточки, подозревая компанию в мошенничестве.

Через два года (1985) журнал Байт сообщил о “поразительной для компьютерного языка цифре” в 250 000 экземпляров. (Т.е. в 8 раз больше максимальной первоначальной оценки!)
Это 12 с половиной миллионов долларов. Определенно, это был оглушительный успех!
Еще через полгода цифры достигли 400 000 проданных экземпляров и, соответственно, 20 миллионов долларов.

1985-1990 Рост и развитие

Последующие годы фирма активно развивает направление средств разработки. Появляются несколько языков со знакомой средой разработки - Turbo Basic, Turbo Assembler, Modula 2, Turbo Prolog, Turbo C (позже Borland C).
Идет активное соревнование с Microsoft в этой области, до середины 90-х.

В 1990-92 в Паскале появляется объектно-ориентированное программирование. И следом - объектно-ориентированная библиотека Turbo Vision, предназначенная для разработки современных (на то время) программ с окнами, меню, контекстной гипертекстовой подсказкой и т.д.

В Turbo Vision содержится красивая стройная концепция управления окнами, элементами окна, проверки вводимых в окно данных, взаимодействия элементов. В результате разработка таких программ становится намного проще и быстрее. В то же время сам Turbo Vision мог служить прекрасным примером - что такое ООП, зачем оно нужно, и как его применять. Многие программисты на нем учились, несколько программистов пытались сделать из него графический пакет. Одна из крупнейших программистских фирм нашего города продолжала писать программы с использованием Turbo Vision аж до начала 2000-х, когда уже всюду стоял Windows.

Cобственно, на том же Turbo Vision была сделана новая интегрированная среда Turbo Pascal 6.0. Это характерный для Borland подход - самим пользоваться тем, что они разрабатывают на продажу. При таком подходе продукт действительно получается удобным и качественным, потому что разработчик сам видит, что в его изделии удобно, а что можно улучшить, и он же имеет все средства чтоб улучшить его. Наверное, именно поэтому все продукты Борланда отличаются высоким качеством и удобством.

Кроме того, развиваются еще несколько продуктов совершенно других направлений:
Eureca - пакет для решения дифференциальных уравнений;
SideKick - нечто вроде пакета офисных программ, включая текстовый редактор, календарь, калькулятор, адресную книгу и телефонный номеронабиратель;
Quattro Pro - электронная таблица.

Похоже, что руководители фирмы, заработав на Турбо Паскале, хотят вложить эти деньги в развитие, и пытаются развивать любое направление, потенциально сулящее перспективы. Вот только не могут выбрать - в каком именно направлении развиваться? - и пытаются развиваться во всех направлениях одновременно.

Конкурируют с Microsoft в области языков разработки. Надо сказать, достаточно успешно. Аж до конца 90-х. (И даже, пожалуй, до конца 2000х, но это уже другая история.)

Осваивают область разработки баз данных, в которой на то время катастрофически не хватает нормальных языков разработки алгоритмов и весьма бедно по части средств ввода данных. Тут Борланд предпринимает несколько крупных шагов, невзирая на затраты.

Приобретается Ansa Software и ее СУБД Paradox. Через некоторое время появляется выделенный пакет библиотечных функций Paradox Engine, который можно использовать для работы с Парадоксовскими таблицами из программ на C и Паскале.

В 1991 покупается Ashton-Tate - производитель знаменитого DBase. А значит, надо либо как-то объединить эти два продукта - DBase и Paradox - в одну концепцию, либо они будут конкурировать между собой, съедая деньги фирмы.

(Помимо этого, Ashton-Tate на тот момент владеет еще одной СУБД - InterBase, это уже полноценный сервер баз данных, работающий в клиент-серверной архитектуре, поддерживающий большие СУБД и способный на тот момент конкурировать с недавно появившимся MS SQL Server. Но работать с ним надо уже принципиально по-другому, не так, как с DBase и Paradox: если первым надо давать команды типа “перейди на следующую запись”, “удали запись”, “прочитай поле Х текущей записи” и т.п. - то взаимодействие с InterBase полностью основано на отправке SQL-запросов, которые уже выполняются этим сервером БД, при необходимости посылая в ответ небольшую порцию данных. Т.е. совсем другая логика построения программы, другие возможности. Можно сказать, что DBase и Paradox - это “игрушечные” СУБД, упрощенно реализующие функции работы с таблицами на уровне файлов; InterBase же - уже вполне “взрослая” СУБД, работающая по современным стандартам и сравнимая по возможностям с ведущими на то время Oracle, DB/2, и пытающимся дотянуться до них MS SQL Server.)

Кан пытается объединить направление языков разработки и направление баз данных, команду Turbo и команду DBase, но это ему не удается. Слишком разные команды, слишком много людей, слишком много функционала нужно объединить и привести к какому-то общему знаменателю. Это в конце концов приводит к финансовым проблемам и вынужденным сокращениям персонала в начале 90-х.

Microsoft же активно включается и в это соревнование, приобретя Fox Software и его Fox Pro - клон DBase, который он далее много лет развивает. (Параллельно разрабатывая MS SQL Server и MS Access)
В общем, в области разработки СУБД у них идет конкуренция, сравнимая с Курской Дугой…

А еще один фронт конкуренции разворачивается в области офисных пакетов. Microsoft начинает продвигать свой MS Office. Borland заключает соглашение с Word Perfect и начинает разработку и продвижение Borland Office, включающих в себя текстовый процессор Word Perfect и электронную таблицу Quattro Pro.

Надо сказать, меня удивляет то, что Borland, при несопоставимости размеров, мало того что конкурировал с Microsoft - он в некоторых сферах еще и конкурировал более успешно!

(продолжение следует)

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

Вроде как именно Кан предложил название Borland, означавшее на кельтском “лесная страна”.

Скорее средне-английском. Нет никакого "кельтского" языка, это целая ветвь.

Тоже самое что сказать

название Лукоморье, означавшее на славянском ...

что тут же вызовет резонный вопрос - на каком таком, блин, славянском?


А за историю - спасибо, было бы интересно посмотреть, что же пошло не так (кроме ухода архитектора VLC, емнип).

раскрыть ветку (8)
4
Автор поста оценил этот комментарий

"кроме ухода архитектора VLC"

VCL, вы имели в виду? Или? А это не Хейлсберг был, кто-то еще? Честно, не все тут знаю.

Но из общих соображений полагаю, что если из компании уходит ключевой специалист - это скорей всего говорит о проблемах в руководстве. Ну, потому что нормальный руководитель таких спецов старается удержать во что бы то ни стало.

Поэтому я полагаю, что последствия ухода Хейлсберга, а потом и нескольких других (в 2000м где-то, сейчас не вспомню фамилий, но помню, что тогда Microsoft переманили сразу нескольких ведущих специалистов) - только часть последствий плохого руководства.

Вот элементарно, если предположить, что руководство фирмы перестало считать Delphi флагманским продуктом, и решило, что отныне приоритет будет отдаваться какому-нибудь Borland Together (проектирование и UML) и другим Application Lifecycle Management products - логично ожидать, что зарплаты разработчиков перестанут расти, денег на новых людей тоже выделять не будут - как следствие, может не хватить сил на исправление ошибок в коде, что по факту и наблюдалось. Так же логично ожидать, что не будет сил и людей на разработку всяких поддерживающих инструментов - типа инструмента для просмотра БД (структуры, ограничения, данные), для копирования данных, и т.п. - в то время как MS к своим Fox Pro и SQL Server подобных прибамбасов делали много, и удобных.

Ну, и то, что у меня было написано - непоследовательность введения новых возможностей, когда что-то вводится, а потом бросается - это явно не к программистам вопрос, и не к архитектору, это менеджер хреново продумал.

раскрыть ветку (5)
2
Автор поста оценил этот комментарий
Интересно, как сильно выстрелило визуальное проектирование?
Документировать существующий код на uml - это более-менее богоугодно, но вот разрабатывать вживую, с мгновенной кодогенерацией из картинок...
В 90-е был какой-то нездоровый ажиотаж и инструменты за космическую цену, rational rose, visualage uml suite, вот это всё.
Может, я чего-то пропустил? Может, в недрах IBM настаивают на работе из-под uml, в лучших традициях водопада?
раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Ну, я в свое время посмотрел такую штуку, как Model Maker, потом - ECO, и мне понравилось, когда ты конструируешь класс в визуальном редакторе, а потом программа создает тебе код (ну, точнее, заготовку - этакую "рыбу").

Я потом поигрался с десятком UML-редакторов, половина из них умели генерировать из UML-модели код, а некоторые умели и наоборот - проанализировать код, и построить UML-модель.
На Model Maker я даже в свое время настроил процесс в обе стороны, так, что можно было нарисовать модель, сгенерировать код, поправить его, и втащить изменения в модель.
Такое в принципе удобно когда, например, ты клиенту делаешь программы, управляющие объектами, структуру которых тебе рассказывает клиент. И тут диаграмма прекрасна тем, что ее понимает и клиент, и аналитик, и программист.

А инструмент с генерацией кода - в принципе, не обязательно, конечно, но очень удобно. Чтоб программер не пропустил по невнимательности чего-то в диаграмме аналитика. И как средство документирования. А если вы можете еще и из актуальной программы обновить свою документацию с UML-диаграммами, то аналитики у вас будут знать, как сейчас устроена программа, а не отсылать за этим к программистам.

Но на практике, насколько я выяснял, так почему-то не делают.


Да, возможно, это было отражением ажиотажа вокруг Rational.

А насчет водопада - это тут вообще ни при чем, можно и в Agile добавлять классы, рисуя диаграммы, кто ж мешает?

Скажем, в учетных программах описывать документы и их проводки в виде диаграмм - было бы очень прикольно.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Огрызок от Model Maker, под названием MMX Code Explorer все еще жив и хорош собой. Но это не средство UML, а навигатор по коду и средство рефакторинга.

0
Автор поста оценил этот комментарий

Ну да, VCL конечно же


А это не Хейлсберг был, кто-то еще?

Он самый (педивикия):

One of the main architects of the first Delphi versions, Anders Hejlsberg, was hired by Microsoft and became one of the main architects of .NET. This became the subject of a lawsuit: at the time (1996), "Borland alleged that Microsoft had hired 34 Borland employees over the past 30 months in order to steal Borland trade secrets. Borland also claimed that Microsoft offered and delivered expensive lures to Borland workers. In two cases, incentives topping $1 million were involved."



Но из общих соображений полагаю, что если из компании уходит ключевой специалист - это скорей всего говорит о проблемах в руководстве.

Ясен красен, что рыба гниёт с головы.



Ну, и то, что у меня было написано - непоследовательность введения новых возможностей, когда что-то вводится, а потом бросается - это явно не к программистам вопрос, и не к архитектору, это менеджер хреново продумал.

Да - я удивлён, что пошло-поехало (ну или признаки этого дела) уже так рано. А может просто хороший программист - не равно хороший менеджер.

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Ну, что программист и менеджер - разные вещи, это и никакого спору нет.

И не сомневаюсь, что в Борланде политику - что делать и как продавать - определяли не программисты, а собственники и директор. Т.е. не Хейлсберг и его программисты, а Йенсен, Кан и прочие. И тут они работали не как программисты, а как менеджеры и маркетологи.

И проблема именно в том, что неправильно рулили - что производить и как продавать.

И вот при Кане хоть и делалось много сомнительных шагов, но основное стратегическое направление было видно, и развитие так или иначе шло поступательно. А после Кана оставшиеся менеджеры, похоже, пытались двигаться по прямой - и там, где это было возможно, все как-то работало. Т.е. Delphi потихоньку обогащались новыми возможностями, продавались, пользоватсли было в основном довольны. А вот там, где они пытались сделать шаг в сторону - начинались буераки, и они тратили кучу усилий, а потом не могли воспользоваться их плодами и делали шаг обратно, бросая все наработанное. В результате там, где Кан заработал бы (на том же Kylix), они терпели убытки.

3
Автор поста оценил этот комментарий

Ну, вот насчет "славянского" я могу ляпнуть, тут уж извините, не специалист.

Спасибо за уточнение. Но, боюсь, если написать "на средне-английском", будет еще непонятнее для большинства читателей. Может, предложите какой-нибудь менее научный, но более понятный и более-менее грамотный вариант? Типа, "на одном из кельтских..." ?

2
Автор поста оценил этот комментарий

Насколько я помню из лекций филологов и историков, то века до 11-12, славянские языки не особо и различались.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества