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


15

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

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


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 #?

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.