Чи потрібно знати 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.