Вам нужно знать Java, прежде чем пытаться Scala

15

Я заинтересован в изучении Scala. Я много читал об этом, но многие люди ценят это, потому что у него есть актерская модель, которая лучше для параллелизма, она намного лучше обрабатывает xml, решает проблему функций первого класса.

Мой вопрос: вам нужно знать Java, чтобы понять / оценить, как все работает в Scala? Лучше сначала сделать удар в Java, а затем попробовать Scala, или вы можете запустить Scala абсолютно без поддержки Java?

gizgok
источник
5
Вам нужно раздвоение, чтобы оценить, как работают пилы? : D
back2dos
лол, я бы одобрил этот ответ.
Гизгок

Ответы:

17

Scala - это собственный язык, и он не требует знания каких-либо существующих языков. Если вы хотите, вы можете выучить Scala как свой родной язык. На странице Learning Scala их веб-сайта есть точки входа в учебное пособие для разных уровней опыта, от начинающих программистов до исследователей языка программирования и экспертов по функциональному программированию.

К сожалению, большая часть документации ориентирована на людей, которые знают, как программировать, но на самом деле я работал над некоторыми из руководств по Scala. Это не так уж плохо. Ожидается, что вы понимаете некоторые основные понятия.

Томас Оуэнс
источник
4
Томас совершенно прав. Я только хочу добавить, что часть привлекательности Scala заключается в том, что вы можете повторно использовать всю стандартную большую библиотеку Java. Это может или не может быть важным в вашем случае, но если это так, то предыдущий опыт работы с Java, очевидно, будет очень полезным, потому что вы не можете не узнать много нового о стандартной библиотеке.
Килиан Фот
@Kilian Я думал об этом. Я все еще изучаю Scala и на самом деле еще ничего не сделал с этим, но я не уверен, насколько важно знать Java, чтобы иметь возможность использовать библиотеку Java в Scala. Не похоже, что вы переходите в синтаксис / стиль Java для вызова предварительно скомпилированного JAR из Scala.
Томас Оуэнс
1
Практически для каждой современной платформы изучение стандартной библиотеки занимает гораздо больше времени, чем изучение синтаксиса языка. Таким образом, знание библиотек Java полезно, если вы пытаетесь изучать Scala.
Джереми
16

Ява означает две разные вещи:

  1. язык Java - включает в себя язык с его синтаксисом, правилами, функциями и общей семантикой
  2. платформа Java - это включает среду выполнения (JVM), целую стандартную библиотеку и ряд популярных фреймворков / библиотек. Обратите внимание, что существуют также другие Java-среды выполнения, такие как выполняемые как JavaScript после кросс-компиляции через GWT, или Java на Android, которые также запускаются в другой среде выполнения.

Язык Java и Scala работают на одной платформе. AFAIK Scala может навлекать на Java код довольно легко, поэтому , если есть какой - либо реальный интерес к изучению Java , чтобы понять / рычаги Scala, то , чтобы понять , как это работает и как вы можете наилучшим образом использовать Java - код из приложения в Scala. Как язык, Java вряд ли научит вас чему-либо, чему C # не научил бы вас сейчас (я предполагал, что из вашего профиля у вас есть некоторый опыт работы с C #).

.NET-аналогия этого вопроса будет:

Вам нужно знать C # / VB.NET, прежде чем пытаться F #?

В любом случае, ответ довольно твердое «Нет».

back2dos
источник