История изменений
Исправление alysnix, (текущая версия) :
в-третьих - аргументируйте пожалуйста свою позицию по делу, а не оценочными эпитетами без содержания, а лучше приведите пример который однозначно вызовет проблемы у новичка на си и не вызовет на паскале - лично я таких примеров не знаю…
я тут говорю не про овеянный легендами паскаль вирта, а про free pascal - куда более продвинутую систему, с которой си и рядом не стоит.
си имеет смысл изучать студентам железячных специальностей, поскольку это и есть ниша си.
что плохого в си?
-
препроцессор и слишком высокая его важность - без него никуда.
-
макросы.
-
нет нормальных типизированных констант.
-
нет нормального булевского типа, соместимость була с интом = это неправильно.
-
операции не типизированы. смысл операции определяется целиком ее мнемоникой, а не типом операндов. то есть си - не вполне типизированный язык.
-
плохой синтаксис для указателей. попробуйте сравнить запись функционального типа в си и в паскале.
-
нет модулей…
-
указатель на массив, есть указатель на его первый элемент и совместим по типу. ничоси типизация… указатель на int и указатель на массив интов - одно и тоже!!!
ну это навсидку… если б не легаси, си можно было б на помойку выносить. но функцию - быть «предассемблерным» языком он выполняет исправно. потому и живет.
но учить программировать на нем - нельзя, если только не железячников.
Исходная версия alysnix, :
в-третьих - аргументируйте пожалуйста свою позицию по делу, а не оценочными эпитетами без содержания, а лучше приведите пример который однозначно вызовет проблемы у новичка на си и не вызовет на паскале - лично я таких примеров не знаю…
я тут говорю не про овеянный легендами паскаль вирта, а про free pascal - куда более продвинутую систему, с которой си и рядом не стоит.
си имеет смысл изучать студентам железячных специальностей, поскольку это и есть ниша си.
что плохого в си?
-
препроцессор и слишком высокая его важность - без него никуда.
-
макросы.
-
нет нормальных типизированных констант.
-
нет нормального булевского типа, соместимость була с интом = это неправильно.
-
операции не типизированы. смысл операции определяется целиком ее мнемоникой, а не типом операндов. то есть си - не вполне типизированный язык.
-
плохой синтаксис для указателей. попробуйте сравнить запись функционального типа в си и в паскале.
-
нет модулей…
ну это навсидку… если б не легаси, си можно было б на помойку выносить. но функцию - быть «предассемблерным» языком он выполняет исправно. потому и живет.
но учить программировать на нем - нельзя, если только не железячников.