>> Да нет, уважаемый, это вы переводите вопрос в плоскость "что важнее".
> Вообще-то, именно вы написали "тут главное не язык", хотя несколькими постами раньшеВообще-то я написал это в ответ на вопрос о конкретном языке, и смысл моих слов в том, что важен не конкретный язык, а наличие в нём типобезопасности (тот самый принцип) и качества её реализации.
Сначала вы прицепились к слову "принцип" и исказили смысл выдранной части фразы с ним - якобы я сначала говорил о главенстве языка, а потом - о главенстве принципа. Когда на самом деле я и изначально, и потом говорил о важности принципа - типобезопасности.
Теперь выдрали и прицепились к слову "главное" - якобы я поставил вопрос в плоскости "что главнее".
А вы, продолжайте юлить и юродствовать - мне ваши и им подобные опусы одно удовольствие разбирать.
> обвиняли во лжи тех, кто заявляют, что пишут безопасные системы на
> Си. Так что не надо валить с больной головы на здоровую.
Не пишут безопасные системы, а голословно заявляют о безопасности систем.
> Еще раз говорю: безопасность всегда достигается за счет вашего контроля над системой.
Ещё раз опровергаю: язык, предоставляющий средства безопасного программирования, априори не ограничивает пресловутый "контроль над системой". Я даже больше скажу: он его усиливает, позволяя писать безопасный код. На том же Си ещё не написано ни одной безопасной сложной системы, работающей с данными на уровне абстракций самого Си.
> А типобезопасность обычно приводит к тому, что создается еще больше
> типов со схожим функционалом и усложнению языка. В Аде, например, несколько
И сейчас вы на примере трёх (!) типов строк в Аде будете мне рассказывать об увеличении количества типов? Во-первых, обосновать большую сложность работы со строками в Аде по сравнению с Си вы не сможете - ни умозрительно, ни на примерах. Дерзайте!
Во-вторых, сколько специальных целочисленных типов в Си? Мало ли уязвимостей было (есть и будет) из-за целочисленных переполнений при неявных преобразованиях результата? А сколько функций безопасной работы со строками (str*, strn*, strl*), не способных, к тому же, окончательно решить проблему их небезопасной обработки? А сколько внутренних API для работы со строками реализовано в рамках проектов с повышенными требованиями к безопасности (софт Бернштейна, vsftpd, Dovecot)?
Как просто, оказывается, в Си работать со строками - ну полный контроль! И как сложно в Аде - три типа, и никакого контроля. Ещё расскажите мне про "лишний код" - вот тут я действительно, буквально посмеюсь.
> типов строк (Bounded, Fixed, Unbounded...). В результате я должен сначала не
> ошибиться, выбирая какой тип строк использовать в каждой конкретной ситуации, а
Ах, ох. И какова же цена ошибки? Каковы типичные ошибки? Как часто возникают? Насколько легко идентифицировать и исправить? Давайте сравнивать с Си.
> потом гадать, что из этого получится в ядре написанной мной ОС,
В Си вы тоже гадаете вместо того, чтобы спецификацию на язык почитать?
> т.к. реализация этих строк от меня скрыта и может варьироваться от
> компилятора к компилятору. Нет уж, лучше старые добрые сишные ASCIZ...
- А чем лучше?
- Чем в Аде.
Во истину каждый кулик своё болото хвалит. Вы одно забыли упомянуть - в Си, в отличие от C++, приемлемой альтернативы ASCIZ просто нет. ;)
К слову, ядра ОС сейчас собираются отдельными версиями компиляторов - каждый требует подгонки по различным причинам. И структуры выравниваются в зависимости от архитектуры, и endianess слов учитывается. Зато контроль какой - каждая мелочь контролируется!
> А забота о безопасности _в_принципе_ ложится на программиста. Если вы считаете, что
Здесь вы передёрнули смысл словосочетания "безопасность кода" и невинно перевели разговор с обсуждения отдельного аспекта обеспечения безопасности (безопасного кода в смысле типобезопастности) на безопасность вообще. 4 за находчивость, 2 за предпочтение дешевой полемики разговору по существу.
> заботу о безопасности можно перенести на компилятор, библиотеку или что-то еще,
> то я сомневаюсь, что вы можете создавать безопасные системы :)
Унылая попытка доведения до абсурда.
> Я вас умоляю! Язык в котором три (ТРИ!) типа указателей, в то
> время как в "безопасных языках" от указателей вообще стараются избавляться...
Подумать только, ТРИ типа!!!11 Наверное, они в ТРИ раза небезопаснее, чем в Си!!!11
:))) Спасибо, реально повеселили. :)
И чем же вам не нравятся эти типы?
>> Вы путаете гибкость языка с отсутствием в нём средств безопасного программирования. Не
>> хочу переходить на личности - сами решайте, хватает ли вам элементарного
>> кругозора в той области, о которой вы берётесь с апломбом судить.
> Ну, понятно. По существу возразить нечего, поэтому вы решили важно надуть щеки
> и встать в снисходительную позу :)
Возразить на что? На ваше голословное утверждение о том, что якобы "именно поэтому самые востребованные операционки написаны на Си"? у так папы юникса уже написали Plan 9, уже сделали попытку исправить свои ошибки и уже озвучили причины, по которым, на их взгляд, "востребованные операционки" остаются таковыми.
Вы-то сами чем своё утверждение обосновали? Ничем. Вместо обоснований - переход на личность собеседника в нелестных эпитетах.
Дайте мне что-нибудь, кроме слов, высосанных из пальца, за что я смогу взяться и опровергнуть вашу чушь - опровергну с радостью. До сих пор я слышал только религиозные постулаты и никакой конкретики, любитель говорить по существу вы мой.