Функция main имеет прототипы с возвращаемым int:
int main() { ... }
int main(int argc, char * argv[]) { ... }
но return делать не обязана. Если return'а нет, это равносильно return 0.
Может, вы задание не читали?
>Мне нужно было склеить все непустые description'ы, разделив их переносами строки.
И сравните с
map description >>> delete "" >>> List.intersperse "\n" >>> concat
описания - непустые - разделив переносами - склеить
Где тут "как"?
А вот как раз на Шарпе и не понятно, что же делается. Видно цикл, в котором вызывается метод, потом идет проверка и конкатекация. А что же это такое в целом - вы в голове додумываете сами. Просто мы настолько к этому привыкли, что делаем это автоматически.
>Пример на Питоне (который "\n".join(...)) — меня просто убил. :) Как из этого вывести идею алгоритма — собрать текст из строк, разделённых \n — мне, например, ОЧЕНЬ неочевидно
Это значит лишь, что вы вообще не знаете Хаскель или Питон. Я Хаскель изучал довольно поверхностно, Питон в глаза не видел, но все три примера понял сразу, хотя с нотацией >>> на Хаскеле тоже не знаком.
Есть мнение, что за счёт инлайнов тот же "сорт" работает в Си++ быстрее. Мнение, кстати, не просто "есть", оно проверяется легко.
Это, конечно, частность, но как минимум видно, что Си++ ну не медленнее, если руки из плеч.
Про асм тоже интересно. Много ли человек могут писать на асме лучше, чем генерирует современный компилятор? И сколько будет стоить такой код?
Про бизнес приложения и "куча кетайцов" "свободно ориентироваться" по отношению к Си++ вообще как-то нелепо.
Есть мнение, что писать highload сервера нынче модно на Erlang'е.
"Второй тест используется только по отношению к важным сотрудникам, поскольку содержит 400 вопросов"
Очень понравилось. Меня бы наверное стимулировало не быть важным сотрудником.
или int main(int argc, char * argv[])
int main() { ... }
int main(int argc, char * argv[]) { ... }
но return делать не обязана. Если return'а нет, это равносильно return 0.
>Мне нужно было склеить все непустые description'ы, разделив их переносами строки.
И сравните с
map description >>> delete "" >>> List.intersperse "\n" >>> concat
описания - непустые - разделив переносами - склеить
Где тут "как"?
Все ручки пишут синим. У меня две на столе лежат - они пишут синим.
Это значит лишь, что вы вообще не знаете Хаскель или Питон. Я Хаскель изучал довольно поверхностно, Питон в глаза не видел, но все три примера понял сразу, хотя с нотацией >>> на Хаскеле тоже не знаком.
Это, конечно, частность, но как минимум видно, что Си++ ну не медленнее, если руки из плеч.
Про асм тоже интересно. Много ли человек могут писать на асме лучше, чем генерирует современный компилятор? И сколько будет стоить такой код?
Про бизнес приложения и "куча кетайцов" "свободно ориентироваться" по отношению к Си++ вообще как-то нелепо.
Есть мнение, что писать highload сервера нынче модно на Erlang'е.
Или вы хотите, чтоб код на всех языках выглядел одинаково понятно без знаний?
std::swap(x, y);
Это короче, и во сто крат понятней.
В Си++ это UB, а не обмен значений.
Очень понравилось. Меня бы наверное стимулировало не быть важным сотрудником.