БЕСЕДЫ О ПРОГРАММИРОВАНИИ
Питер Коффи
Многие ли из вышедших на пенсию разработчиков думают, что их программы будут служить в новом столетии? Многие ли программисты 60-х, 70-х и даже 80-х писали такие программы для ввода с клавиатуры, в которые можно ввести и двух-, и четырехзначное обозначение года? Сколько человек из них просто добавляли 1900 к любому числу меньше 99? У вас осталась примерно тысяча рабочих дней, чтобы выяснить это. Считайте. Ваш код кончит свое существование в новогодние праздники 2000 года или даже раньше, если речь идет о приложении для расчета бюджета или планирования, делающем прогнозы на годы вперед. Например, что случится с поправками на инфляцию в вашем четырехлетнем плане, когда вы вернетесь с рождественских каникул?
Вы уверены, что знаете ответ?
Эти забавные мысли навеял мне разговор с Робертом Харшмэном из фирмы Micro Focus, произошедший недавно в перерыве между заседаниями семинара в Чикаго. Я рассказывал о том, как объединить объектную технологию с уже созданными старыми приложениями. Он приехал, чтобы сделать обзор проблем, возникающих при работе (преимущественно) на Коболе. После встречи с этой группой мне стало ясно, что старый код подобен частицам нейтрино - ими легко пренебречь, но может оказаться, что они перевешивают все остальное.
Когда я возвращался из Чикаго домой, мне не верилось, что у базовых бизнес-вычислений, предполагающих отказ от Кобола, есть будущее. Он так широко применяется, и внедрение объектной технологии в мир пользователей Кобола проходит куда более гладко, чем уверяли нас скептики.
Впрочем, на той же неделе у меня состоялся еще один разговор - с членом другого сообщества программистов, сделавшего огромные вложения в старый код и технологии. Эта дама-инженер повергла меня в смятение, просто спросив: "Попробуйте догадаться: какой язык наши люди используют для всех своих новых программ?"
- Вопрос на засыпку, да? - ответил я. - Фортран 90? - Нет. - Ada 95? - Нет. - Не Си? - Нет, конечно. - Excel? - Неверно. - Хорошо, сдаюсь. - MathLab, - наконец сказала она. - MathLab? - переспросил я. - Кроме шуток, - ответила она и стала перечислять достоинства этого языка манипуляции матрицами фирмы MathWorks. В отличие от Фортрана он позволяет разработчикам работать с абстрактными типами данных: например, при перемножении двух матричных объектов используется та же нотация, что и для двух обычных чисел. Это обеспечивает высокоуровневое управление выводом текста и графики. Язык хорошо работает с файлами данных самых разных типов, и бывает достаточно половины страницы, чтобы написать на нем программу, которая на Фортране заняла бы несколько страниц.
Я готов побиться об заклад, что пакеты для создания платежных ведомостей будут писаться на Ассемблере до тех пор, пока инженеры дружными рядами не перейдут с Фортрана на оригинальный язык фирмы MathWorks. Это вполне возможно, поскольку MathLab позволяет им переносить приложения на все важные платформы, к тому же в этом языке есть абстракции, которые облегчают решение стоящих перед ними проблем.
Object COBOL предлагает разработчикам бизнес-приложений похожие возможности и, кажется, появился как раз вовремя, чтобы предотвратить переход с классического Кобола на какой-нибудь инструмент более высокого уровня. Я надеюсь, что работающие на Object COBOL начинают с создания надежных абстракций для даты и времени. В противном случае придется наши деньги, предназначенные на образование и пенсионные выплаты, со счетов конвертировать, скажем, в золото, чтобы защитить их от программных сбоев, - до тех пор, пока не уляжется пыль после крушения систем с двузначными датами.
К Питеру Коффи можно обратиться через MCI Mail: 357-1756, или через CompuServe: 72631,113, или Internet 3571756@MCIMAIL.COM.