Непейвода Н.Н. Программирование. Раздел 2

Непейвода Н.Н. Программирование. Страница 139

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

Рассмотрим две реальные ситуации, которые демонстрируют разработку, не ориентированную и ориентированную на переиспользование. В первой ситуации действует программист, работающий с очень развитой системой, в которой "есть все". Тем не менее он пишет свою процедуру лексикогра­фического упорядочивания строк, потому что «легче самому написать, чем найти, а потом ведь еще и подгонять придется». Вывод: вопервых, здесь начисто отсутствует стремление к переиспользованию, а вовторых, переис­пользованию могут препятствовать затруднения поиска того, что требуется включить в составляемую программу и проблемы совместимости версий.

Вторая ситуация — другая крайность. Программисту на Javaпотребова­лось построить синтаксический анализ. На вопрос о том, как он это делает, получен ответ: «Зачем это знать? У меня есть пакет JavaCC, который все делает, как надо!». Вместе с тем, дальнейшие расспросы показали, что этот программист не представляет себе даже того, какого типа метод анализа поддерживает JavaCC, и, следовательно, ничего не может сказать о том, как задание грамматики для данного пакета связано с эффективностью анализа. Узнав возможные варианты, программист призадумался, но ничего менять не стал. Почему? Ответ простой: «Так ведь все уже работает!». Короче го­воря, качество использования готовых компонентов системы зависит от знания о них. Ситуация опятьтаки та же самая, что в математике, особенно в прикладной. Квалифицированное использование теоретических результа­тов требует знания соответствующей теории, а порою и идей доказательств результатов (поскольку в реальной ситуации предположения теории нико­гда не выполняются точно). Глубина требуемого знания различна: иногда достаточно общего представления, как, например, при использовании ма­тематических функций, иногда нужны сведения о принципах реализации, но всегда можно указать необходимый уровень знакомства с переиспользу­емым.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама