На самом деле, я не понимаю синтаксических ивзращений во многих современных языках. C-подобный синтаксис широко распространен, привычен, весьма компактный итп итд. Но когда делают типо С-подобный, но с извращениями, мне вообще непонятно.
int x; //C-like
var x: Int; // Kotlin
const int x; // C-like
val x: Int; // Kotlin
int foo(int a, int b); // C-like
fun foo(a: Int, b: Int): Int // Kotlin
Каких-то особых профитов эти извращения не дают. Ну, некоторые говорят, что для вывода типов, но, простите:
auto x = 3;
var x = 3;
Особенные лучи радости в различии между константами и переменными: val и var.
Но всё остальное точно такое же ). Вообще создатели Котлина (если не ошибаюсь то это ребята с IntelliJIdea ) сильно вдохновлялись Scala, да и сам Котлин это по сути та же скала только без мозговыносящих вещей типа монад, функторов и извращений с тИпами. По крайней мере так было на момент выхода первой книги по Котлину )
Нет, я в курсе, что такое константа и зачем они нужны. Я о синтаксисе, что ключевое слово для объявления переменной и константы отличаются одной буквой. Поэтому довольно легко объебаться и потом трудно заметить.
Например в C/C++/C# const int и int трудно перепутать.
В JS в этом плане не так и плохо, const сразу видно, что const. Правда, с какого хуя обычная переменная - let. А var - блядское наследие древнего говна, которому еще поебать на области видимости, поэтому надо выкинуть нахуй.
С js хуже всего в том плане, что как ни один другой язык он должен тащить за собой вагон совместимости. Сколько в сети древних сайтов, обновлявшихся в прошлом десятилетии, и современные браузеры обязаны корректно их отображать.
Это на компилируемом языке можно не переписывать исходники под новый компилятор, а взять уже имеющийся экзешник. Да даже с php не такая уж проблема — обновляй исходники или откатывай версию пыха. Версии браузеров у посетителей не откатишь.
Мне лично нравится подход использованный в Swift. Там let -- константы, var -- переменные. Причем хоть типизация и строгая но допустимо писать и так: var num: Int = 0 и так var num = 0. Если задаешь начальное значение переменной тип определиться при компиляции автоматически.
Ну почти то же самое и в котлине, и в скале, только ключевые слова другие. И в плюсах, и в c#, только немного другой синтаксис. Нахрен извращаться с синтаксисом тот еще вопрос. Хотя, конечно, const auto& в плюсах может смотреться дико.
Болконский
@1_аз1:_о1с1_тап
Жена отправляет мужа-программиста в магазин: — Купи батон хлеба, если будут яйца — возьми десяток.
А муж так и не вернулся, ведь этого в запросе не было указано.
One morning you wake up find out you have access to God’s developer console. What’s the first thing you do with this power?
Discussion
♦ 154 + W 479 & Share
^ BEST COMMENTS ▼
I like forks • 5h
hehe3301 • 7h
sudo rm -rf oceans/*/contents/
*.plástic
sudo rm -rf people/*/*.cáncer sudo rm -rf v
Предупреждение
Пожалуйста, внимательно прочитайте следующую важную информацию перед тем, как продолжить.
Пожалуйста, внимательно прочитайте следующую важную информацию. Вы обязательно должны знать, что Вас может ожидать в дальнейшем.
1. ДАННАЯ СБОРКА ЯВЛЯЕТСЯ МОДИФИКАЦИЕЙ ОРИГИНАЛЬНОЙ ВЕРСИИ ПРО
На самом деле, я не понимаю синтаксических ивзращений во многих современных языках. C-подобный синтаксис широко распространен, привычен, весьма компактный итп итд. Но когда делают типо С-подобный, но с извращениями, мне вообще непонятно.
int x; //C-like
var x: Int; // Kotlin
const int x; // C-like
val x: Int; // Kotlin
int foo(int a, int b); // C-like
fun foo(a: Int, b: Int): Int // Kotlin
Каких-то особых профитов эти извращения не дают. Ну, некоторые говорят, что для вывода типов, но, простите:
auto x = 3;
var x = 3;
Особенные лучи радости в различии между константами и переменными: val и var.
Да, JetBrains. Но со скалой не знаком, судить не могу.
Есть решения и похуже. В JS, например, есть var, let, const
Например в C/C++/C# const int и int трудно перепутать.
В JS в этом плане не так и плохо, const сразу видно, что const. Правда, с какого хуя обычная переменная - let. А var - блядское наследие древнего говна, которому еще поебать на области видимости, поэтому надо выкинуть нахуй.
Это на компилируемом языке можно не переписывать исходники под новый компилятор, а взять уже имеющийся экзешник. Да даже с php не такая уж проблема — обновляй исходники или откатывай версию пыха. Версии браузеров у посетителей не откатишь.
Наследие Basic.