Всё принципиально новое в языках программирования, как и сами языки программирования изобретены программистами. Следовательно программисты могут изобрести свой язык программирования и с принципиально новыми идеями. Сам «изобрёл» несколько штук. Не знаю насколько это принципиально, насколько это новое, но у меня можно при определении необязательных аргументов функции использовать переменные и другие аргументы, а также переменные в качестве аргументов оператора switch, блоки сохранения значений, а также операторы break и continue c параметром, чтобы можно было прерывать сразу несколько вложенных циклов, обратный foreach на уровне языка, а также с возможностью попарного перебора элементов списка и игнорирования нескольких элементов в начале и в конце списка, а также конструкция else для циклов, ни разу не выполнившихся.