Каковы лучшие функции Scala? [закрытый]

11
задан 2 revs, 2 users 100% 4 October 2011 в 18:15
поделиться

4 ответа

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

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

13
ответ дан 3 December 2019 в 01:20
поделиться

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

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

8
ответ дан 3 December 2019 в 01:20
поделиться

Мне нравится писать на Scala. Это особенность №1 в моей книге :)

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

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

Что касается 2.8 против 2.7... Я провел время только с 2.8 ;-)

10
ответ дан 3 December 2019 в 01:20
поделиться

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

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

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

11
ответ дан 3 December 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: