Более года назад автор Nim уже отвечал на вопрос про pattern matching.
Как я понимаю, такого как в Scala нет, но его, якобы, можно реализовать через макросы.
Т.к. автор оригинальной статьи причислил «strong core team» к сильным сторонам Rust, могу предположить, что Nim этим не отличается. В контрибьютерах Nim самым активным (что не удивительно) является сам автор языка Andreas Rumpf.
1) Программы, конкурирующие с другими программами, называются «конкурирующими программами», а не конкурентными (конкурирующий vs конкурентный).
2) Во многих источниках, связанных с техническим термином «concurrency», используется перевод «конкурентный» или «одновременный», а не «многопоточный».
3) Термин «многопоточный» на английском языке пишется как «multithreading», а не «concurrency».
Для себя делаю вывод, что выражение «конкурентные программы» правильное и ничего в нём «это ж надо так перевести» нет. Вы, со своей стороны, можете спокойно считать его неправильным. Засим считаю тему закрытой.
Благодаря выступлению Роба Пайка, всегда, когда мне попадается слово «concurrency» в тексте, то сразу приходит на ум фраза «Concurrency is not parallelism». Термин же «многопоточные» на английском — multithreading. Получается, имеем два термина на английском: «concurrency» и «multithreading», но на русском они должны сливаться в один? Я считаю это неправильным.
Однако, никто не будет писать модель погоды на… Scala, как и не будет на них писать систему торгов на бирже… базу данных, сервер сообщений и т.д. и т.п.
Scala с такими задачами отлично справляется. Например, ElasticSearch, OrientDB, Hadoop, Apache Spark тому доказательство. Да, они написаны на Java, но всё что написано на Java может быть написано и на Scala.
Ну и напоследок, «конкурентные программы» — это ж надо так перевести! В-)
Я считаю, что люди переводящие книги будут опытнее меня в переводах, вот отрывок из книги «Семь моделей конкуренции и параллелизма за семь недель»: dmkpress.com/files/PDF/978-5-97060-244-7.pdf
Пример названия главы: «Конкурентные программы для конкурентного мира».
«Scala’s “for comprehensions” are equivalent to Haskell’s “do” notation, and it is nothing more than a syntactic sugar for composition of multiple monadic operations.»
Да, имелось в виду, что этот код можно запустить в REPL. Просто тем, кто не знаком со Scala может показаться что в этом коде так же пропущены геттеры, сеттеры и конструктор, как в примере с Java.
И если совсем уж заморочиться, то можно обойтись и без main с App:
Суть данной статьи не в том, чтобы показать преимущества Scala перед другим языком программирования, а в том, чтобы показать преимущества функционального подхода перед императивным. В примерах Scala можно с лёгкостью заменить на Haskell и получить тот же (возможно даже и лучший) результат. И если вас действительно заинтересовало функциональное программирование, то как-раз советую присмотреться к Haskell(а потом вернуться к Scala и понять насколько этот ЯП крут :).
Уже не обязательное. Даже из описания вакансии удалили.
Интересен и с парктической. Например, на Avito уже больше года используется Kubernetes в качестве платформы для микросервисов. Так что и в наших краях книга будет полезной.
Как я понимаю, такого как в Scala нет, но его, якобы, можно реализовать через макросы.
1) Программы, конкурирующие с другими программами, называются «конкурирующими программами», а не конкурентными (конкурирующий vs конкурентный).
2) Во многих источниках, связанных с техническим термином «concurrency», используется перевод «конкурентный» или «одновременный», а не «многопоточный».
3) Термин «многопоточный» на английском языке пишется как «multithreading», а не «concurrency».
Для себя делаю вывод, что выражение «конкурентные программы» правильное и ничего в нём «это ж надо так перевести» нет. Вы, со своей стороны, можете спокойно считать его неправильным. Засим считаю тему закрытой.
В википедии фразу «Concurrency and data structures» переводят как «Одновременность и структуры данных». Всё же для меня слово «concurrency» по смыслу ближе к одновремменому или конкурентному, чем к многопоточному.
Scala с такими задачами отлично справляется. Например, ElasticSearch, OrientDB, Hadoop, Apache Spark тому доказательство. Да, они написаны на Java, но всё что написано на Java может быть написано и на Scala.
Я считаю, что люди переводящие книги будут опытнее меня в переводах, вот отрывок из книги «Семь моделей конкуренции и параллелизма за семь недель»:
dmkpress.com/files/PDF/978-5-97060-244-7.pdf
Пример названия главы: «Конкурентные программы для конкурентного мира».
Что именно вас смутило в данном словосочетании?
http://docs.scala-lang.org/tutorials/FAQ/yield.html
«Scala’s “for comprehensions” are equivalent to Haskell’s “do” notation, and it is nothing more than a syntactic sugar for composition of multiple monadic operations.»
И если совсем уж заморочиться, то можно обойтись и без main с App: