>> Требовать от языка программирования С чтобы он был легким, просты и удобным
>> - это как минимум не понимать, для чего он был создан и для чего изначально применялся.
> Вообще то (как обычно) он и создавался чтобы на тот момент быть
> самым легким, простым и удобным. И неспецифичным.Это уже вторичные цели. Прежде всего язык С должен быть достаточно низкоуровневым,
чтобы позволять писать эффективный код и вместе с тем - должен быть переносимым,
чтобы операционную систему можно было бы легко переносить между разными платформами.
Если одновременно надо достичь эти две цели - то и получится в результате язык С.
Например, в Java - приоритеты как раз более смещены в сторону простоты, удобства
и легкости написания/сопровождения софта, поэтому, например, там есть сборщик мусора.
James Gosling: Java — это C++, из которого убрали все пистолеты, ножи и дубинки.
Java = simple, object oriented, distributed, interpreted, robust, secure,
architecture neutral, portable, high performance, multithreaded,
dynamic language – Gosling, “Java: An Overview” (1995)
В результате:
Прирост производительности разработчиков от простого перехода в разработке ПО с языка программирования C++ на языки Java и C# оценивается экспертами в 500% — чем, собственно, и объясняется вытеснение первого языка двумя последними в течение достаточно короткого срока. [...] Java и C# обладают двумя важными свойствами: а) они лишают программиста возможности сделать некоторые чрезвычайно болезненные ошибки, исправление которых часто требовало неадекватного и непредсказуемого времени, и б) они сильно облегчают возможность сборки программы из крупных готовых частей. - цитата из http://dz.ru/solutions/phantom/