Подтвердить что ты не робот

Каковы наилучшие функции Scala?

Я могу сказать, что мне действительно нравится Scala, но теперь я хотел бы знать, какие функции вы не можете прожить, не работая с Scala? Что относительно Scala 2.8?

4b9b3361

Ответ 1

Если бы мне пришлось вернуться на Java, то я бы пропустил больше всего: замыкания, функции более высокого порядка, сопоставление образцов, классы case и упор на неизменность.

Я был на 2.8 на некоторое время. Если бы мне пришлось вернуться к 2.7, главное, что я пропустил, это согласованность, чистота и богатство API-интерфейсов 2.8. Это waaaaaay лучше 2.7. Но я также пропустил именованные и аргументы по умолчанию.

Ответ 2

Вывод типа сохраняет столько бессмысленной типизации. map и foreach и т.п. в коллекциях отличные, особенно в сочетании с илатерами по умолчанию и лёгким функциональным синтаксисом.

Но, как кто-то, кто делает много научных вычислений, то, что я действительно пропустил больше всего, способен писать высокопроизводительный код, обертывать его в эффективные классы, а затем использовать карты и математические операторы (+, *, что бы ни было), чтобы манипулировать этими конструкциями высокого уровня, как я на самом деле думаю о них.

Что касается 2,8 против 2,7 - улучшение с моей точки зрения является довольно постепенным. Это немного лучше во многих областях; там мало что сказать и сказать: "О, вау, это!". Я ожидаю, что новая специализированная аннотация поможет мне много, но я еще не видел ее полностью в действии в библиотеке, поэтому я отказываюсь от решения.

Ответ 3

Мне нравится писать в Scala. Что # 1 функция в моей книге:)

Я могу просто продолжить то, что хочу, вместо того, чтобы танцевать через обручи Java:

  • val/var означает, что мне не нужно писать тип дважды
  • Закрытие означает, что мне не нужно писать много анонимных интерфейсов и может повторно использовать много больше кода
  • Именованные параметры означают, что мне не нужно запоминать позицию каждого аргумента - отлично подходит для чтения и записи
  • Типы классов означают, что я получаю toString и равно бесплатно... упрощает отладку!
  • Приличный API для коллекций (например, map, fold) означает, что я могу сказать, что я хочу сделать, вместо того, чтобы танцевать итерационный танец.

Что касается 2,8 против 2,7... Я действительно всегда проводил качественное время с 2,8; -)

Ответ 4

Я думаю, что это не особенность, но краткость, которой достигается Scala, - это то, что мне больше всего нравится.

Это, конечно, возможно только из-за вывода типа, закрытия, отличной системы типов и т.д. Я просто не думаю, что вы можете разбить его на одну или две функции. Они работают вместе, и результат, сжатый код, - это то, что я бы назвал функцией killer.