Интересный вопрос! Вот мои мысли.
Когда был создан C, над языком ассемблера существовала небольшая абстракция. Были FORTRAN, B и другие, но когда появился C, это был, возможно, язык самого высокого уровня из существующих. Его цель состояла в том, чтобы предоставить функциональные возможности и синтаксис, достаточно мощные для создания и обслуживания операционной системы, и это удалось замечательно.
Подумайте, что в то время перенос системы на новую платформу означал переписывание и адаптацию компонентов к языку ассемблера платформы. С выпуском C в конечном итоге дело дошло до переноса компилятора C и перекомпиляции существующего кода.
Вероятно, тогда было преимуществом то, что сам синтаксис языка заставлял вас различать типы, которые могли поместиться в регистр, и типы, которые не могли.
Синтаксис языка сильно изменился с тех пор, и большинство вещей, которые мы привыкли видеть в современных языках, отсутствуют в C. Определяемые пользователем пространства имен — лишь одно из них, и я не думаю, что концепция «синтаксического сахара» "тогда даже существовал. Вернее, C был вершиной синтаксического сахара.
Мы окружены такими вещами. Я имею в виду, взгляните на свою клавиатуру: почему у нас есть клавиша PAUSE/BREAK? Не думаю, что я нажимал эту клавишу годами.
Это наследие того времени, когда это имело смысл.
person
slezica
schedule
09.10.2010