Ведь объет это "черный ящик". Его содержимое знает только тот, кто его создал.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
|
Представь себе два баллона с газом, на которых не написано какие газы в них находятся. Тот, кто их заполнял, допустим знает, что в одном водород, а в другом кислород. А тот, кто не знает, мжет сделать все что угодно. Например, смешать эти газы, а потом ему захочется закурить. И что будет?
Манипуляция с объектами, о которых неизвестно почти ничего, чревата непредсказуемыми последствиями. Можно добавить, что легкость, с которой создаются коды в ООП, приводит к быстрому разрастанию программ и к затруднению контроля за ними. Т.е., если в ассемблере 1 строка исходного текста программы эквивалентна одной команде, то для программы из 100 инструкций потребуется 100 строк. Допустим, что оператор Си соответствует 5 инструкциям, и в этом случае потребуется написать только 20 строк текста. Для Си++ это значение будет еще меньше. Но программист пишет определенное количество строк в день. Поэтому за день он может "настрогать" на Си++ раз в 20 больше, чем на ассемблере. И это все может выйти из-под контроля. А если в компиляторе глюк, который обнаружится далеко не сразу? Что будет тогда? Поэтому использование языков сверхвысокого уровня требует большой аккуратности.
Собственно, я об этом уже заикался.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Bill? ты начинался черти чего и, похоже, серъезно не пробовал на ++ писать. Естественно любая сторонняя библиотека должны быть ЧЕТКО документирована в терминах ИНТЕРФЕЙСОВ. И этого более чем достаточно. Никакой легкости создания объектов в ООП нет (+) — DASM (30.09.2005 01:05 217.118.78.1, 650 байт)
- Так я о том и говорю, что требуется АККУРАТНОСТЬ везде. И чем выше уровень, — Bill (30.09.2005 01:25 195.239.108.229, 1166 байт)
- Этого недостаточно! Еще необходима гарантия отсутствия ошибок (ха-ха), или хотя бы бесплатного и БЫСТРОГО их устранения. Только тогда можно допустить библиотеку к использованию в проекте. — SM (30.09.2005 01:08 213.141.159.26, пустое)
- Вот именно что БЫСТРОГО. В ++ достаточно исправить ошибку в базовом классе, и все объекты исправлены. Объекты отлаживаются почти независимо друг от друга, т.е. отлаживается сравнительно небольшой кусок программы. А в СИ все взаимосвязанно, там можно по всей программе искать и не найти. Просто СИ++ - это другой способ мышления и для вас с Billом здесь пока психологический барьер. SM, у тебя же голова золотая, попробуй врубиться в ++, ты то сразу все преимущества просечешь. — Михаил Е. (30.09.2005 01:23 83.237.32.94, пустое)
- гарантию может дать только полис сами знаете чего. Тем не менее документированный (часто объем документации > объема сурцев) код имеет меньше шансов быть ошибочным, ведь его использовали уже десятки фирм и находили и исправляли ошибки. В то время как небольшая фирма не может позволить себе больших затрат на тестирование. — DASM (30.09.2005 01:12 217.118.78.1, пустое)
- Извиняюсь, прочитал плохо. Да, если библиотека поставляется в виде хорошо документированного КОДА, а не интерфейса, то я только за. Такую библиотеку можно самостоятельно исправить, если что. — SM (30.09.2005 01:21 213.141.159.26, пустое)
- Да-да... Конкретный пример GPL-софт. Все кому не лень находят глюки, исправляют, куча патчей выходит, куча веток и полный разброд. Извини, но если я приобретаю либу у фирмы, так пусть она свои глюки исправляет, и гарантирует, что сделает она это в приемлемые сроки. А не десятки фирм. — SM (30.09.2005 01:18 213.141.159.26, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru