f f() {}
В bash можно даже без первой f.
void my_function() {}, motherfucker! (C, C++, C#, Java).
На самом деле, я не понимаю синтаксических ивзращений во многих современных языках. 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.
На самом деле, я не понимаю синтаксических ивзращений во многих современных языках. 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.
Там где написано Kotlin в сообщении выше, должно быть Scala
У скалы же вроде def, а не fun?
Но всё остальное точно такое же ). Вообще создатели Котлина (если не ошибаюсь то это ребята с IntelliJIdea ) сильно вдохновлялись Scala, да и сам Котлин это по сути та же скала только без мозговыносящих вещей типа монад, функторов и извращений с тИпами. По крайней мере так было на момент выхода первой книги по Котлину )
> если не ошибаюсь то это ребята с IntelliJIdea
Да, JetBrains. Но со скалой не знаком, судить не могу.
Да, JetBrains. Но со скалой не знаком, судить не могу.
Можно не знать про монады, но пользоваться ими _ большинство контейнеров из библиотеки коррекций в скале (в котлине наверное тоже) - монады
Ох, опять автоисправление подводит. Коллекций конечно же
Val и var нужны для immutability. На самом деле весьма удобно. Да и компилятору проще
Есть решения и похуже. В JS, например, есть var, let, const
Есть решения и похуже. В JS, например, есть var, let, const
Нет, я в курсе, что такое константа и зачем они нужны. Я о синтаксисе, что ключевое слово для объявления переменной и константы отличаются одной буквой. Поэтому довольно легко объебаться и потом трудно заметить.
Например в C/C++/C# const int и int трудно перепутать.
В JS в этом плане не так и плохо, const сразу видно, что const. Правда, с какого хуя обычная переменная - let. А var - блядское наследие древнего говна, которому еще поебать на области видимости, поэтому надо выкинуть нахуй.
Например в C/C++/C# const int и int трудно перепутать.
В JS в этом плане не так и плохо, const сразу видно, что const. Правда, с какого хуя обычная переменная - let. А var - блядское наследие древнего говна, которому еще поебать на области видимости, поэтому надо выкинуть нахуй.
С js хуже всего в том плане, что как ни один другой язык он должен тащить за собой вагон совместимости. Сколько в сети древних сайтов, обновлявшихся в прошлом десятилетии, и современные браузеры обязаны корректно их отображать.
Это на компилируемом языке можно не переписывать исходники под новый компилятор, а взять уже имеющийся экзешник. Да даже с php не такая уж проблема — обновляй исходники или откатывай версию пыха. Версии браузеров у посетителей не откатишь.
Это на компилируемом языке можно не переписывать исходники под новый компилятор, а взять уже имеющийся экзешник. Да даже с php не такая уж проблема — обновляй исходники или откатывай версию пыха. Версии браузеров у посетителей не откатишь.
> обычная переменная - let
Наследие Basic.
Наследие Basic.
Мне лично нравится подход использованный в Swift. Там let -- константы, var -- переменные. Причем хоть типизация и строгая но допустимо писать и так: var num: Int = 0 и так var num = 0. Если задаешь начальное значение переменной тип определиться при компиляции автоматически.
Ну почти то же самое и в котлине, и в скале, только ключевые слова другие. И в плюсах, и в c#, только немного другой синтаксис. Нахрен извращаться с синтаксисом тот еще вопрос. Хотя, конечно, const auto& в плюсах может смотреться дико.
В js еще есть стрелочные функции. Правда, они отличаются this-ом.
() => {}
Чтобы написать коммент, необходимо залогиниться