Понадобилось - не понадобилось, речь вообще не об этом. Побочные эффекты в других ЯП тоже не аргумент (вообще избавиться от побочных эффектов невозможно). Сам стиль программы на С, состоящей практически полностью из побочных эффектов (и по-другому не написать), травмирует мышление начинающего.
Насчет отсутствия массивов. Я плохо умею объяснять. Вот, скажем, массив
int p[20];
А теперь мы пишем *(p + 5) = 12; Так правильно?
Или всё-таки p[5] = 12; ?
Я тут вижу имитацию массива указателями.
А вообще, рекомендую почитать А.В. Столяров, "Язык С и начальное обучение программированию".
Сишники не отличают процедуры от функций, не понимают побочных эффектов (поскольку практически все сишные выражения - один сплошной побочный эффект).
И вообще, С в силу своей ограниченности (отсутствие массивов, вложенных функций, процедур и пр., а также нелогичного синтаксиса (указателей) формирует неправильные представления о концепциях/парадигмах программирования. И эти представления очень трудно (если вообще) преодолимы). Очень похоже на подобных программистов, начинавших с Бейсика, о которых Дейкстра говорил, что их мозг безвозвратно искалечен.
Название статьи несколько тенденциозно и не соответствует действительности.
Кванты электромагнитного поля — фотоны, могут проявлять как волновые свойства, так и корпускулярные (а в квантовой механике вообще все частицы обладают такими свойствами).
Поэтому это не ошибка, а случай, когда оба правы.
У Столярова хорошо изложено. Я только ухудаю.
Нет в С полноценного типа "массив". Попробуйте передать в функцию хотя бы двумерный массив. (Указатель на массив - страшная вещь!)
Понадобилось - не понадобилось, речь вообще не об этом. Побочные эффекты в других ЯП тоже не аргумент (вообще избавиться от побочных эффектов невозможно). Сам стиль программы на С, состоящей практически полностью из побочных эффектов (и по-другому не написать), травмирует мышление начинающего.
Насчет отсутствия массивов. Я плохо умею объяснять. Вот, скажем, массив
int p[20];
А теперь мы пишем *(p + 5) = 12; Так правильно?
Или всё-таки p[5] = 12; ?
Я тут вижу имитацию массива указателями.
А вообще, рекомендую почитать А.В. Столяров, "Язык С и начальное обучение программированию".
Сишники не отличают процедуры от функций, не понимают побочных эффектов (поскольку практически все сишные выражения - один сплошной побочный эффект).
И вообще, С в силу своей ограниченности (отсутствие массивов, вложенных функций, процедур и пр., а также нелогичного синтаксиса (указателей) формирует неправильные представления о концепциях/парадигмах программирования. И эти представления очень трудно (если вообще) преодолимы). Очень похоже на подобных программистов, начинавших с Бейсика, о которых Дейкстра говорил, что их мозг безвозвратно искалечен.
Начинать программировать с С - навсегда угробить в себе программиста (заработать сишность головного мозга).
Не только получения, но и транспортировки, хранения и использования - углеводороды.
Думаю, большинство проблем будет снято.
Кванты электромагнитного поля — фотоны, могут проявлять как волновые свойства, так и корпускулярные (а в квантовой механике вообще все частицы обладают такими свойствами).
Поэтому это не ошибка, а случай, когда оба правы.