LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

в-третьих - аргументируйте пожалуйста свою позицию по делу, а не оценочными эпитетами без содержания, а лучше приведите пример который однозначно вызовет проблемы у новичка на си и не вызовет на паскале - лично я таких примеров не знаю…

я тут говорю не про овеянный легендами паскаль вирта, а про free pascal - куда более продвинутую систему, с которой си и рядом не стоит.

си имеет смысл изучать студентам железячных специальностей, поскольку это и есть ниша си.

что плохого в си?

  1. препроцессор и слишком высокая его важность - без него никуда.

  2. макросы.

  3. нет нормальных типизированных констант.

  4. нет нормального булевского типа, соместимость була с интом = это неправильно.

  5. операции не типизированы. смысл операции определяется целиком ее мнемоникой, а не типом операндов. то есть си - не вполне типизированный язык.

  6. плохой синтаксис для указателей. попробуйте сравнить запись функционального типа в си и в паскале.

  7. нет модулей…

  8. указатель на массив, есть указатель на его первый элемент и совместим по типу. ничоси типизация… указатель на int и указатель на массив интов - одно и тоже!!!

ну это навсидку… если б не легаси, си можно было б на помойку выносить. но функцию - быть «предассемблерным» языком он выполняет исправно. потому и живет.

но учить программировать на нем - нельзя, если только не железячников.

Исходная версия alysnix, :

в-третьих - аргументируйте пожалуйста свою позицию по делу, а не оценочными эпитетами без содержания, а лучше приведите пример который однозначно вызовет проблемы у новичка на си и не вызовет на паскале - лично я таких примеров не знаю…

я тут говорю не про овеянный легендами паскаль вирта, а про free pascal - куда более продвинутую систему, с которой си и рядом не стоит.

си имеет смысл изучать студентам железячных специальностей, поскольку это и есть ниша си.

что плохого в си?

  1. препроцессор и слишком высокая его важность - без него никуда.

  2. макросы.

  3. нет нормальных типизированных констант.

  4. нет нормального булевского типа, соместимость була с интом = это неправильно.

  5. операции не типизированы. смысл операции определяется целиком ее мнемоникой, а не типом операндов. то есть си - не вполне типизированный язык.

  6. плохой синтаксис для указателей. попробуйте сравнить запись функционального типа в си и в паскале.

  7. нет модулей…

ну это навсидку… если б не легаси, си можно было б на помойку выносить. но функцию - быть «предассемблерным» языком он выполняет исправно. потому и живет.

но учить программировать на нем - нельзя, если только не железячников.