Как я вижу, на самом деле есть только три основных элемента синтаксиса, которые были перенесены от C к остальному миру: блоки, обозначенные фигурными фигурными скобками, полуколоны, обозначающие концы линий, и общий «крутизна» стиля.
Упаковочные блоки в одном символе имеют разумный смысл; во-первых, это быстрый тип, не занимает много экранной недвижимости (в отличие от пары ключевых слов BEGIN-END). Во-вторых, синтаксис довольно гибкий, поэтому вы можете форматировать свои блоки по своему усмотрению в особых случаях (чего вы не можете сделать в чем-то вроде Python.) Наконец, ваш код можно немного портить чем-то вроде почтового клиента и по-прежнему читаться как людьми, так и компилятором (это единственная реальная проблема, с которой я сталкиваюсь с отступом в стиле python-for-blocks).
Почему фигурные скобки, правда? Я не знаю, какой исторический прецедент для их использования в C (или, скорее, BCPL) был, но я могу опасаться догадки. На «стандартной» американской клавиатуре не так много парных символов: {} []() и <> об этом. Если мы хотим сделать жизнь легкой в компиляторе, нам нужны уникальные символы для BEGIN и END, поэтому используйте что-то вроде | или # для окончаний блока. Из наших пар {} действительно единственное, что уже не означает что-то -() и [], у обоих есть много математического багажа (который более или менее напрямую переводится с функциями и массивами), и как <, так и> всевозможные вещи. Я бы выбрал {} для блоков.
С новым языком, если вы не идете с ключевыми словами или отступом, зачем его менять? Легионы программистов используются для их использования, чтобы обозначать блоки, почему недействительны все эти мышцы?
То же самое относится и к использованию точек с запятой. Использование чего-либо для обозначения конца строки облегчает жизнь компилятору. Использование только одного символа облегчает жизнь программисту. Сканирование одиночных символов на клавиатуре, полуколонна является одним из немногих, что не означает многого, математически говоря. С точки зрения грамматики английского языка период (или, может быть, запятая) имеет наибольший смысл, но они уже используются в качестве десятичных точек. И, если вы немного прищурились, имея полуточку, так как ваш терминатор линии имеет достаточно похожий смысл, как на английском. И снова, если вы начинаете новый язык, зачем его менять?
Что касается основной терминологии, я бы сказал, что это был единственный, который вы могли бы сказать, объективно, была хорошей идеей. Чем меньше символов я могу напечатать, чтобы передать идею на компьютер, но все еще достаточно близко, чтобы читать по-английски, тем лучше.
(Вы можете утверждать, что большинство языков C-типа также занимают большую часть словарного запаса ключевых слов, но на самом деле большинство ключевых слов C взяты из более старых языков, таких как ALGOL, FORTRAN и BCPL, и действительно - все они (в основном) здравый смысл. И снова, как только вы подготовили сообщество программирования, что такое «while loop», зачем менять имя?)
Я бы сказал, что любой язык сегодня, который не использует синтаксис много так как C's делает это из-за некоторого фундаментального сдвига парадигмы (например, подхода Python с отступом). Если вы делаете язык, который работает в основном таким же образом, зачем что-то менять? Ваша целевая аудитория уже может поразить ключ с фигурными фигурками своими мизиными, почему сделать этот навык никчемным?
Или, чтобы сделать это последнее предложение еще одним шагом, если вы пытаетесь продать сообщество программирования на своем новом, меняющем игру языке (Java, C# и т. Д.), У вас будет намного меньше препятствия для перехода, если ваши клиенты уже знают синтаксис.
+1 Обратите внимание, что легко реализовать немного. У них также была значительная проблема с памятью, и система (с ее отдельным препроцессором-компилятором-ассемблером-компоновщиком) была разработана для минимизации состояния, необходимого в памяти сразу, чтобы максимизировать размер программ, которые могли быть скомпилированы для заданного объема памяти , –
+1 Макросъемка с учетом урожайности памяти в момент возникновения C некоторых дизайнерских решений. Кроме того, кто-либо еще любит боязнь Я? –
Поскольку некоторые люди помещают открывающую скобку на следующую строку, это может быть даже общим для фигурных скобок, чтобы занимать больше места. – rpetrich