LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Всего то нужно сделать, чтобы тип был в конце объявления (см. Kotlin, Rust, TypeScript, Python, Pascal и другие).

function foo(x: Int, y: Int): Int

или

function foo(x: Int, y: Int) -> Int

Ну и ещё может быть автовывод/any-тип, тогда тип не указывается.

Сразу исчезает неоднозначность и больше не нужно знать все типы, чтобы корректно распарсить файл.

Помимо упрощения парсера, это ещё и мне, как программисту, удобнее. В 90% случаев я решаю как назвать переменную раньше, чем выбираю её тип (так как имя переменной продиктовано алгоритмом, а тип уже деталями реализации, алгоритм, как правило, придумывается чуть раньше деталей). Соответственно, в языках где тип идёт после имени, не возникает этой небольшой паузы, когда ты уже знаешь имя, но чтобы продолжить писать код нужно ещё и сообразить какой должен быть тип, а просто имя записать не можешь. Мелочь, а приятно.

Исправление KivApple, :

Всего то нужно сделать, чтобы тип был в конце объявления (см. Kotlin, Rust, TypeScript, Python, Pascal и другие).

function foo(x: Int, y: Int): Int

или

function foo(x: Int, y: Int) -> Int

Ну и ещё может быть автовывод/any-тип, тогда тип не указывается.

Помимо упрощения парсера, это ещё и мне, как программисту, удобнее. В 90% случаев я решаю как назвать переменную раньше, чем выбираю её тип (так как имя переменной продиктовано алгоритмом, а тип уже деталями реализации, алгоритм, как правило, придумывается чуть раньше деталей). Соответственно, в языках где тип идёт после имени, не возникает этой небольшой паузы, когда ты уже знаешь имя, но чтобы продолжить писать код нужно ещё и сообразить какой должен быть тип, а просто имя записать не можешь. Мелочь, а приятно.

Исправление KivApple, :

Всего то нужно сделать, чтобы тип был в конце объявления (см. Kotlin, Rust, TypeScript, Python, Pascal и другие).

function foo(x: Int, y: Int): Int

или

function foo(x: Int, y: Int) -> Int

Ну и ещё может быть автовывод/any-тип, тогда тип не указывается.

Помимо упрощения парсера, это ещё и мне, как программисту, удобнее. В 90% случаев я решаю как назвать переменную раньше, чем выбираю её тип (так как имя переменной продиктовано алгоритмом, а тип уже деталями реализации, алгоритм, как правило, придумывается чуть раньше деталей). Соответственно, в языках где тип идёт после имени, не возникает этой небольшой паузы, когда ты уже знаешь имя, но чтобы продолжить писать код нужно ещё и сообразить какой должен быть тип, а просто имя записать не можешь.

Исправление KivApple, :

Всего то нужно сделать, чтобы тип был в конце объявления (см. Kotlin, Rust, TypeScript, Python, Pascal и другие).

function foo(x: Int, y: Int): Int

или

function foo(x: Int, y: Int) -> Int

Ну и ещё может быть автовывод/any-тип, тогда тип не указывается.

Помимо упрощения парсера, это ещё и мне, как программисту, удобнее. В 90% случаев я решаю как назвать переменную раньше, чем выбираю её тип. Соответственно, в языках где тип идёт после имени, не возникает этой небольшой паузы, когда ты уже знаешь имя, но чтобы продолжить писать код нужно ещё и сообразить какой должен быть тип, а просто имя записать не можешь.

Исходная версия KivApple, :

Всего то нужно сделать, чтобы тип был в конце объявления (см. Kotlin, Rust, TypeScript, Pascal).

function foo(x: Int, y: Int): Int

или

function foo(x: Int, y: Int) -> Int

Ну и ещё может быть автовывод/any-тип, тогда тип не указывается.

Помимо упрощения парсера, это ещё и мне, как программисту, удобнее. В 90% случаев я решаю как назвать переменную раньше, чем выбираю её тип. Соответственно, в языках где тип идёт после имени, не возникает этой небольшой паузы, когда ты уже знаешь имя, но чтобы продолжить писать код нужно ещё и сообразить какой должен быть тип, а просто имя записать не можешь.