Здравствуйте, Caracrist, Вы писали:
C>Однако, иногда нужны были бы модификаторы. Вопрос такой, какое поведение вы выбрали по умолчанию, а какое с модификатором из следующих категорий?
C>Константность: C>const / mutable
const. Параметры функций не могут быть mutable вообще. А скорей я бы отказался от отдельного ключевого слова для объявления переменной, переменная объявляется сама при первом упоминании.
C>Асинхронность: C>sync / async
В JS сделано нормально, ничего бы не стал менять. Если язык не низкоуровневый, скорей всего выбрал бы вариант с зелеными потоками и отказ от async-конструкций в принципе.
C>Виртуальность: C>virtual / direct
Отказался бы от наследования классов, поэтому вопрос смысла не имеет.
C>Передача: C>ref / value
value, ref в языке не нужен.
C>Видимость: C>public / private / ...
В интерфейсах всё public, в классах всё private (точней package-private), менять это нельзя.