Язык программирования
Язык программирования, используемый в проекте, влияет на оценку по меньшей мере в четырех отношениях.
Во-первых, как видно из рис. 5.6, опыт работы группы с конкретным языком и инструментарием, используемыми в проекте, способен изменить общую производительность в проекте до 40 %.
Во-вторых, функциональность строки кода в разных языках программирования также не является постоянной величиной. В табл. 5.3 приведены сведения о средней функциональности ряда языков по отношению к языку программирования С.
Таблица 5.3. Относительная функциональность команд языков высокого уровня по сравнению с эквивалентным кодом С
| Язык | По отношению к С |
| С | 1:1 |
| c# | 1:2,5 |
| C++ | 1:2,5 |
| Cobol | 1:1,5 |
| Fortran 95 | 1:2 |
| Java | 1:2,5 |
| Макроассемблер | 2:1 |
| Perl | 1:6 |
| Smalltalk | 1:6 |
| SQL | 1:10 |
| Visual Basic | 1:4,5 |
Если используемый язык программирования заранее известен, этот пункт не относится к вашей оценке. Но если вы обладаете некоторой свободой выбора языка программирования, из таблицы видно, что такие языки, как Java, C# и Microsoft Visual Basic, обычно превосходят по продуктивности С, Cobol или макроассемблер.
Третий фактор, также относящийся к языкам, — широта возможностей инструментария и рабочих сред. Согласно данным Cocomo II, слабый инструментарий и рабочая среда способны увеличить объем работы над проектом примерно на 50 % по сравнению с сильными инструментариями и рабочими средами (Boehm et al. 2000). Также следует понимать, что выбор языка программирования может определить выбор инструментария и рабочей среды.
Последний фактор, связанный с языком программирования, заключается в том, что разработчики, использующие интерпретируемые языки, обычно работают продуктивнее тех, кто применяет компилируемые языки — выигрыш составляет до 2 раз (Jones 1986а, Preschelt 2000).
Концепция объема функциональности на строку кода будет рассматриваться далее в разделе 18.2.
Еще по теме Язык программирования:
- Основные этапы развития технологий программирования Программирование в кодах и ассемблер
- • Принцип оптимальности в планировании и управлении, общая задача оптимального программирования • Формы записи задачи линейного программирования и ее экономическая интерпретация • Математический аппарат • Геометрическая интерпретация задачи • Симплексный метод решения задачи 2.1. Принцип оптимальности в планировании и управлении, общая задача оптимального программирования
- Модульное программирование
- ВВЕДЕНИЕ В ЯЗЫК HTML
- ЯЗЫК ПОИСКОВЫХ МАШИН
- Язык, знания и легенды трейдеров
- ЯЗЫК ТЕЛА
- Серебряный язык
- ВВЕДЕНИЕ В ЯЗЫК PHP
- Языки программирования высокого уровня
- Программирование, управляемое событиями
- ЯЗЫК МОДЫ Стиль и дизайн
- Язык науки и общественное сознание
- Легенды, знания и язык трейдеров
- Язык, знания и легенды трейдеров
- Глава 4.6 SQL - ЯЗЫК ЗАПРОСОВ
- 3.3. Целочисленное программирование
- Программирование государственных финансов