"Платформа Win32 так просто не уйдёт"

Интервью с Владимиром Кладовым, автором библиотеки KOL

Владимир Кладов - автор библиотек KOL и MCK, о которых "Компьютерные вести" недавно уже рассказывали. Этот человек широко известен среди армии пользователей своих библиотек, хотя и другим людям, которые имеют представление о том, что такое Delphi, его взгляд на этот язык программирования, а также связанные с ним вещи и их будущее, будет небезынтересен. Так что не буду затягивать и сразу начну задавать Владимиру вопросы.


- Ну, во-первых, каковы, по-Вашему, перспективы KOL?

- Перспективы KOL - хорошие. В долгосрочном плане есть реальная возможность поддержать и Linux/Unix, и любую другую платформу.

- Но в настоящий момент рабочая платформа KOL-приложений - Win32. И в недалёком будущем она, похоже, будет вытеснена, во-первых, 64-битными версиями Windows, а во-вторых, конкурирующими системами. Каково Ваше мнение по поводу будущего Win32?

- Платформа Win32 так просто не уйдёт, у неё большая инерция массы ПО. По крайней мере, ещё лет 10, а то и все 50 просуществует. Даже если железо станет совсем другим, оно всё равно будет иметь, как минимум, режим совместимости, чтобы и дальше можно было использовать тонны наработанного софта.

- Ну хорошо, тогда остаётся ещё один столп, на котором покоится библиотека KOL, - это Delphi. А будущее этих среды и языка программирования выглядит не таким уж и радужным, верно?

- Если даже что-то случится с Delphi, есть Free Pascal, а он более многоплатформенный, и это извиняет даже его неоптимальный код и некоторую сырость исполнения. Но Delphi тоже так просто не уйдёт. И, опять же, из-за огромной массы наработанного софта, БД, отчётов, всевозможных АСУ - на Delphi их лепить на порядок проще, чем на том же C++. А вот в его долгожительстве как раз стоит посомневаться, его как раз сама мама-Майкрософт очень даже пытается "подвинуть", заменяя на Delphi-подобный и VB-подобный C# и иже с ним. И "налеплено" на Delphi немало, всегда проще адаптировать старый код с прежнего Delphi на новый Delphi + новую ось, чем полностью переписать на тот же C#. Кстати, в реальном производстве (мне не повезло?) ни разу за последние 10 лет не было такого, чтобы производственные задачи делались на С++ или VB. Везде и всюду Delphi, доля рынка которого якобы "столь ничтожно мала", по сравнению с С++. Два раза видел использование С-подобных решений, но в одном случае речь шла о чуждой платформе (процессор на сканере штрих-кодов), и то - это была пара сотен строк кода, а остальные несколько тысяч снова на Delphi. А в другом случае - сопряжение с WinCC, который каким-то хитро закрученным образом куда-то, опять же, встроен и должен общаться с БД, ведомой, опять же, "всеми забытым" и "никому ненужным" Delphi.

- Раз уже разговор пошёл, так сказать, вширь, то давайте поговорим о перспективах всей IT-отрасли.

- Моё предположение такое, что если в ближайшие лет 15 не появится ИИ (искусственный интеллект), а он с огромной вероятностью не появится, по крайней мере, еще лет 50, то около половины работоспособного населения всего мира будут хоть как-то уметь программировать. То есть будут работниками этой самой IT. Даже если по должности будут ещё кем-то: агрономами, физиками, архитекторами дизайнерами, биологами... Это, опять же, плюс для Delphi, кстати, и его перспектив. Научиться работать в этой среде все-таки проще, и не надо себе забивать голову слишком большим количеством специальных знаний, касающихся исключительно программирования. Можно оставить больше места, то есть посвятить больше времени своей предметной области. Я даже подозреваю, что потенциально возможно появление "упрощённого" Delphi - упрощённого именно с целью облегчить его изучение и использование. Моё поверхностное знакомство с языком C#, кстати, не дало мне ощущения, что этот язык прост. А еще мне не понравилось и то, что он пока что привязан к некой платформе .NET, которая еще не доказала свою жизнеспособность на самом-то деле.

Кстати, насчёт цифр и вероятностей. Это не совсем мой прогноз. Есть такая теория, которая позволяет судить о наиболее вероятном ответе на вопрос о том, сколько времени просуществует некоторое явление или событие, на основании известных данных о том, сколько времени это явление уже существует. Теория утверждает, что, с огромной вероятностью, мы наблюдаем как раз половину времени существования явления. Т.е. если 50 лет назад мы полетели в космос и до сих пор не достигли Луны, то с огромной вероятностью не достигнем еще 50 лет. И, что удивительно, до сих пор эта теория оказывалась очень даже совпадающей с реальными фактами, т.е. она действительно работает:). Так что KOL + MCK с огромной вероятностью просуществуют еще 10 лет, и, согласно этой же теории, через 10 лет они будут находиться всё еще где-то посередине своего времени существования :)).

- Если так, то что нового в последнее время произошло в мире KOL и MCK?

- В конце октября - начале ноября добавилась поддержка MCK для BDS 2005-2007, возможно, Turbo-Delphi. Но я не проверял Turbo, у меня её нет, я вообще консерватор и предпочитаю до последней возможности использовать старое. Например, сейчас использую Delphi6 и не испытываю никакой потребности в BDS или Turbo. Я бы и Delphi5 обошёлся, если бы в нем была поддержка MMX-инструкций.

- Хотелось бы ещё узнать Ваше мнение по поводу потенциала использования KOL для, так сказать, отраслевого программирования (АСУ и прочее), а также узнать мысли по поводу сравнения в этой области KOL+MCK с VCL.

- Люди делают на нём работу с БД. Мне только не очень понятно, зачем. Для этих-то задач компактность вообще не требуется. Компонент KOLOdbc, который я сделал для KOL, - это вообще-то практически тот же, которым я с успехом пользуюсь в VCL, и он годится для работы с любой БД. Отчёты KOLReport - тот же NormalReport для VCL. Гридами и DB-контролами я не пользуюсь ни в KOL, ни в VCL. Это избавляет от очень многих непонятных проблем с их кривостью, которая обнаруживается в совершенно ненужных местах и только тормозит работу. Так что, в принципе, всё один в один.

- Нет ли планов сделать IDE для KOL, чтобы не было необходимости использовать MCK, а можно было напрямую взаимодействовать с KOL-компонентами?

- Нет, IDE делать не собираюсь. Народ, связанный с Free Pascal (Юрий Сидоров), участвует и в разработке Лазаруса. Так что "наши" пожелания по поддержке KOL в этом компиляторе и в этом IDE постоянно приемлются и совместимость обеспечивается и MCK в нём работает. IDE - это, прежде всего, отладчик на уровне исходного кода. Иначе это не IDE, а текстовый редактор с вызовом внешнего компилятора, не более. А отладчик - это очень серьёзная задача.

- Спасибо. Думаю, читатели присоединятся к моим пожеланиям всяческих успехов.

Интервью провёл Вадим СТАНКЕВИЧ

Версия для печатиВерсия для печати

Номер: 

46 за 2007 год

Рубрика: 

Эксклюзивное интервью
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя Инкогнито
SF

>Этот язык обладает _избыточной_ для многих задач гибкостью.

Согласен. И это называется СВОБОДА. Программиста не сажают в "тюрьму" какого-то одного фрэймворка или одной операционной системы. В С++ программисту невозможно что-то навязать снаружи, потому что этот универсальный язык позволяет полностью абстрагироваться от конкретной реализации и тем самым послать любую корпорацию на три буквы. Более того, избыточная гибкость позволяет повторно использовать один и тот же код в разных независимых проектах на разных операционных системах (несколько лет спустя написанные раньше библиотеки могут снова пригодиться - ничего не пропадает, всё сохраняется!), и это позволяет существенно экономить время. Некая страшная "сложность" C++ это миф созданный пиарщиками разных новомодных технологий. По сложности изучения C++ почти такой же как Java или С#.

C++ это кость в горле Microsoft. Программист который пишет на C++ полностью неуправляем. Он может делать всё что захочет. У него все степени свободы. Он вещь сама в себе. Он может спокойно перейти на Линукс, на Макинтош, на BSD или ... на любую новую операционную систему, к примеру от Google. Нет... только не это! С++ это "кошмар на улице вязов", от которого надо избавиться с помощью агрессивной рекламы .NET технологий и последующей "привязкой" разработчиков.

С коммерческой точки зрения С++ это угроза. Особенно в теперешних условиях острой конкуренции со свободными юниксами. Задача монополиста - жестко посадить девелопера "на иглу". Поэтому политика Microsoft'a свелась даже к тому что в бесплатную версию VS.NET Express не включаются традиционные средства разработки приложений на C++ для Windows.

Зато пиар С# и VB.NET идёт полным ходом. Здесь всё понятно.

Аватар пользователя SF
Инкогнито, мне кажется, Вы несколько драматизируете. И кричать "С++ - это свобода" - тоже лишнее. С++ - это С++, свобода - это свобода.

Да, это круто - абстрагироваться, писать для разных систем и т.д. и т.п. Но мне не хочется в одной Windows-программе искасть месяцами мемори-лики ради этой свободы, которую я вряд ли когда-нибудь реализую. Поэтому у С++, как и у _любого_ языка программирования есть своя ниша, и в ней он хорош. И не надо доказывать, что он лучший - если бы был какой-то язык, во всём лучше остальных, то остальных бы просто давно уже не было.

Аватар пользователя Настоящий Полковник
>>C++ это кость в горле Microsoft.

Что за чушь? Сколько проектов на VC++? Огромное количество. Доходило до маразма лет 10 назад в штатах и Каанаде: клиентские приложения на VC++, база на Oracle под Unix.

Аватар пользователя Инкогнито
SF

> Инкогнито, мне кажется, Вы несколько драматизируете.

Почему? Всё идёт по плану. В Microsoft выбрали традиционный подход для оболванивания разработчиков, и пока он работает.

Но есть одна проблема - кризис доверия. То что я пишу здесь, на англоязычных форумах уже поднималось много раз. Люди не могут простить то, что произошло с VB Classic, Win32 API, COM+. На Западе девелоперы прозревают. Существует даже такое явление, когда бывшие сторонники C# переходят на C++ и говорят об удобстве проектирования ПО с помощью врапперов, о долговечности, проверенной надежности языка C++.

>мне не хочется в одной Windows-программе искасть месяцами мемори-лики ради этой свободы

Вас никто не заставляет быть свободным. Пожалуйста, пользуйтесь технологиями от Microsoft или Sun.

>ради этой свободы, которую я вряд ли когда-нибудь реализую

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

>Поэтому у С++, как и у _любого_ языка программирования есть своя ниша, и в ней он хорош.

Вообще-то С++ считается универсальным языком. Он применим для любой ниши.

>И не надо доказывать, что он лучший - если бы был какой-то язык, во всём лучше остальных, то остальных бы просто давно уже не было.

Каждый человек сам выбирает для себя то, что он считает нужным или лучшим.

Аватар пользователя Инкогнито
>Что за чушь? Сколько проектов на VC++? Огромное количество.

Вот именно! А пиарят почему-то C#. Вам не кажется это странным?

C++ так или иначе останется в Visual Studio надолго, но деньги в PR/популяризацию языка C++ Microsoft вкладывать не будет. Потому что им это не выгодно. И даже опасно.

Аватар пользователя Savely
Хе, прикольный парень г-н Инкогнито. Пытаюсь вспомнить цитаты из Пушкина. О, погуглил - "и чушь прекрасную несли..."

2 Инкогнито: Не обижайся. Цитата - конечно же утрирована. Но "что-то есть", ведь так?

Аватар пользователя Настоящий Полковник
>>Инкогнито

23 ноября 2007 года, 20:05

>>>Что за чушь? Сколько проектов на VC++? Огромное количество.

>>Вот именно! А пиарят почему-то C#. Вам не кажется это странным?

Потому что Майкрософту пришлось создавать и продвигать альтернативу Java. Рынок, однако. И конкуренция.

>>C++ так или иначе останется в Visual Studio надолго, но деньги в PR/популяризацию языка C++ Microsoft вкладывать не будет. Потому что им это не выгодно. И даже опасно.

То же самое. Вынуждает конкуренция с Java.

Аватар пользователя Настоящий Полковник
А так было два инструмента - Visual Basic и Visual C++. И хватило бы надолго.
Аватар пользователя SF
Да с До-диезом совсем другая история... Просто если есть отработанная технология, в которой сложно что-то улучшить, то также сложно стричь бабки за её апдейты и новые версии ВС-ки. Получаем попу, в которой сидит сейчас Борланд. МС хитрые, они так не хотят, вот и придумали До-диез.

И ещё, Инкогнито. Универсальным языком считаться может только низкоуровневый - сиречь Ассемиблер. Для любых других языков всегда есть класс задач, _принципиально_ на них нерешаемых.

Аватар пользователя Логик
SF > Универсальным языком считаться может только низкоуровневый - сиречь Ассемиблер.

Можно и ниже спуститься то. Почему нет? В кодах писать. И асемблер не надо для этого вовсе.

Страницы