1. Обоснование выбора языка программирования
Язык программирования Smalltalk отличается следующими особенностями:
- близостью к естественному языку человеческого общения;
- наилучшим образом соответствует объектно-ориентированной парадигме программирования;
- реализует динамическое связывание имени переменной со значением и автоматическое управление памятью объектов.
Язык Smalltalk, в отличие других популярных языков программирования, таких как C++, объектный Паскаль, Visual Basic, представляющих собой объектно-ориентированные расширения традиционных языков, целиком построен на принципах объектно-ориентированной парадигмы. Он предназначен для разработки прикладных программ в различных областях управления и обработки данных. Smalltalk применяется для программирования учрежденческих, экспертных, военных, финансовых задач; задач автоматизации проектирования, телекоммуникаций и других.
В качестве дополнительных аргументов в пользу выбора языка Smalltalk, приведем результаты исследований авторитетных иностранных компаний.
Компания Linea Engineering (www.lineaengineering.com) проводила исследования различных языков программирования на предмет их продуктивности, количества ошибок на единицу функциональности (Errors per Function Point) и экономической эффективности.
Таблица №1 указывает значение Errors per Function Point для некоторых языков.
Таблица №1
Язык программирования | Значение "Errors per Function Point" |
Smalltalk | 0.14 |
SQL | 0.18 |
Visual Basic | 0.21 |
Ada 95 | 0.50 |
Java | 0.50 |
C++ | 0.82 |
C | 2.50 |
Исследования Linea Engineering показали, что в сравнении, например, с таким популярным языком, как Java, Smalltalk в 2-3 раза более продуктивен, содержит в 3 раза меньше ошибок на единицу функциональности, в 3-7 раз более экономически эффективен.
Компания Software Productivity Research, Inc. (www.spr.com) также исследовала множество коммерческих языков программирования и выяснила, что Smalltalk является наиболее продуктивным из них.
Таблица №2 подтверждает данное утверждение. В таблице указано среднее количество строк кода на единицу функциональности (Average Source Statements per Function Point) для некоторых языков. Меньшее количество кода на единицу функциональности означает более быстрое написание программ и более легкое их сопровождение.
Таблица №2
Язык программирования | Значение "Average Source Statements per Function Point" |
Smalltalk | 21 |
Ada 95 | 49 |
Java | 53 |
C++ | 53 |
COBOL | 107 |
C | 128 |
Все это позволяет утверждать, что выбор языка Smalltalk для решения поставленных задач является разумным.
2. Обоснование выбора среды разработки на основе Smalltalk
В настоящее время существует довольно много разнообразных Smalltalk-средств. Например, это такие среды, как: Smalltalk Express, Smalltalk/X, Dolphin Smalltalk, Cincom Smaltalk VisualWorks, VisualAge Smalltalk.
Все инструментальные среды на основе языка Smalltalk отличаются такими особенностями, как:
- возможностью формулировать задачи на языке взаимодействия объектов;
- высокой модульностью программного кода;
- адаптируемостью к нуждам и вкусам пользователя;
- высокой степенью повторной используемости программ.
Следующие отличительные черты VisualAge Smalltalk определили наш выбор в пользу данной среды:
- Возможность сократить количество создаваемого вручную кода за счет уникальной технологии визуального программирования, позволяющей описывать не только пользовательский интерфейс, но и, частично, логику работы приложения. Визуальное программирование, о котором идет речь, позволяет устанавливать визуальные взаимосвязи между алгоритмами доступа к данным и их обработки, различными событиями, действиями и атрибутами объектов. В связи с этим, исходное представление программы двумерно, т.е. существует как кодовое представление программы, так и визуальное, с помощью которого отображаются элементы оконного интерфейса, специальные не визуальные объекты, и связи между ними.
- Возможность создавать собственные компоненты так же легко, как и приложения из этих компонентов.
- Наличие большой библиотеки компонент, доступных для многократного использования (около 2500)
- Достаточно широкий спектр операционных систем, под управлением которых может работать VisualAge.
- Наличие динамического компилятора.
- Наличие поддержки OLE, DDE, OCX, ODBC.
- Наличие богатого инструментария, делающего процессы разработки, отладки приложений и управления проектами более удобными.
При написании обоснования были использованы статьи Министерство обороны США выбирает Smalltalk, Почему Smalltalk? и другие.
Сергей Смирнов, 02.09.2003