Чи потрібно знати Java, перш ніж спробувати Scala


15

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

Моє запитання: чи потрібно вам знати Java, щоб зрозуміти / оцінити спосіб роботи в Scala? Чи краще спершу зробити удар на Java, а потім спробувати Scala, або ви можете запустити Scala з абсолютно відсутнім java-фоном?


5
Чи потрібно вам двостороння, щоб оцінити, як працюють пилки? : D
back2dos

хаха, я б підтримав цю відповідь.
gizgok

Відповіді:


17

Скала є власною мовою, і сама по собі не вимагає знання жодної існуючої мови. Якби ви цього хотіли, ви могли б вивчити Scala як свою першу мову. На сторінці " Навчальна шкала" на їхньому веб-сайті розміщені точки входу до підручника для різних рівнів досвіду, починаючи від програмістів-початківців до дослідників мови програмування до експертів функціонального програмування.

Більшість документації, на жаль, орієнтовані на людей, які вміють програмувати, але я фактично працював через деякі навчальні посібники Scala. Це не так вже й погано. Очікується, що ви розумієте певні основні поняття.


4
Томас абсолютно правильний. Хочу лише додати, що частина привабливості Scala полягає в тому, що ви можете повторно використовувати всю велику стандартну бібліотеку Java. Це може бути або не бути важливим у вашому випадку, але якщо це так, то попередній досвід роботи з Java, очевидно, буде дуже корисним, адже ви не можете допомогти, дізнавшись багато про стандартну бібліотеку.
Кіліан Фот

@Kilian Я думав про це. Я все ще вивчаю Scala і ще фактично не зробив нічого значимого з цим, але я не впевнений, наскільки важливо знати Java, щоб мати можливість використовувати бібліотеку Java у Scala. Це не так, як ви потрапляєте в синтаксис / стиль Java, щоб викликати попередньо складений JAR від Scala.
Томас Оуенс

1
Практично для кожної сучасної платформи потрібно вивчити стандартну бібліотеку набагато більше часу, ніж вивчити синтаксис мови. Отож, пізнання бібліотек Java має користь, якщо ви намагаєтесь вивчити Scala.
Джеремі

16

Java означає дві різні речі:

  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.