Информация об изменениях

Сообщение Re: Никогда не недооценивайте силу по умолчанию от 11.09.2022 13:10

Изменено 11.09.2022 13:24 vsb

Re: Никогда не недооценивайте силу по умолчанию
Здравствуйте, 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, менять это нельзя.
Re: Никогда не недооценивайте силу по умолчанию
Здравствуйте, 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), менять это нельзя.