LINUX.ORG.RU

Вопросы по scala

 


0

1

Друзья, я хочу начать изучение языка scala. Буду признателен, если ответите на эти вопросы:

Можно ли изучать начать скалу, вообще не зная ява? Какие сайты есть по скале на русском языке? Про скалолаз я знаю, но там подкасты не для новичков и многие рассказывают очень плохо, короче они выступать совсем не умеют. Наверное не готовятся.


Можно ли изучать начать скалу, вообще не зная ява?

Можно.

Какие сайты есть по скале на русском языке?

Таких нет или почти нет, язык не мейнстрим.

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

anonymous
()

Можно ли изучать начать скалу, вообще не зная ява?

Можно, но лучше иметь хотя бы базовые знания явы.

Какие сайты есть по скале на русском языке?

Во-первых, читай книги, во-вторых, читай на английском. Без вариантов.

hippi90 ★★★★★
()

Можно ли изучать начать скалу, вообще не зная ява?

Можно, но для написания продакшен кода надо понимать особенности работы JVM.

Какие сайты есть по скале на русском языке?

Их нет.

Deleted
()
Ответ на: комментарий от LongLiveUbuntu

Мне еще предлагают «Scala. Профессиональное программирование» 3 издание. Там 700 страниц, но говорят понятно написано.

Miha
() автор топика
Ответ на: комментарий от Miha

Собственно, раз предлагают, в чём вопрос? Берите да читайте.

BattleCoder ★★★★★
()

1) Можно. 2) Единственный способ научиться писать нормально на scala - устроиться работать скалистом.

nihirash ★★★
()

Есть книга и курс на курсере от Одерски.

winlook38 ★★
()

А зачем нужны моноиды, монад-трансформеры и вся эта кухня? В книжке про скалу они даже не упоминаются, хотя она называется «профессиональное программирование на скала.»

Miha
() автор топика

Можно ли изучать начать скалу, вообще не зная ява?

Можно, но не нужно. Как и любой другой язык на JVM. Ибо вся шарманка заводится обычно ради горы батареек на жаве, а если ты их не знаешь, то профит нулевой.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Можно, но не нужно. Как и любой другой язык на JVM. Ибо вся шарманка заводится обычно ради горы батареек на жаве, а если ты их не знаешь, то профит нулевой.

Так они все, обычно, достаточно прозрачно (автоматически) интегрируются в этот самый любой другой язык. А для некоторых есть свои альтернативы.

korvin_ ★★★★★
()
Ответ на: комментарий от Aber

специально учить язык ненужно

Нужно как минимум представлять специфику дженериков и неплохо бы заранее владеть батарейками из предметной области. Т.е. если человек раньше писал на жабе, то переключиться на скалу можно довольно быстро. А если нет, то не очень понятно зачем нужна скала, когда есть хаскель, окамл и т.п. Чисто ради заработка на кусок хлеба опять же лучше начать с самой жабки.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Нужно как минимум представлять специфику дженериков и неплохо бы заранее владеть батарейками из предметной области

Дженерики это действительно сложность в жабе, но ТС решил изучать Scala а значит разберется в дженериках.

зачем нужна скала, когда есть хаскель

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

Aber ★★★★★
()

Зависит от целей.

anonymous
()

Можно ли изучать начать скалу, вообще не зная ява?

Вам важно не какой язык изучать, а не развешивать уши. То есть не слушать советы умного мальчика Вовочки (который идиот).

Я тут вижу возникающие бессмысленные обсуждения маргинальных языков. Кто-то случайно упомянул Ada, и тут же набежали любопытствующие: чем он хорош, каков в сравнении с ... (вариантов много). Правильный ответ: нинужен. Устарел и вышел из употребления. Поэтому хоть сравнение с популярными сейчас языками сделать можно, но это скучно.

Также любители Haskell и Lisp (прослышав от болвана мальчика Вовочки, что это наикрутейшие языки, а взрослые дяди то и не знают) то и дело интересуются, как бы их применить, чтобы написать гениальную программу. Ответ: чуваки, обломитесь.

Вот кто-то расхваливает Scala - якобы лучше, чем Java. А некоторые уже стали перебегать со Scala на Kotlin. Умный мальчик Вовочка насоветует... (лучше бы ему помалкивать).

При программировании на Scala или Kotlin не обойтись без применения классов из JDK и готовых библиотек, написанных для Java. Поэтому некоторое предварительное знание Java полезно, но если сильно приспичило изучать Scala, то можно попытаться совместить изучение Scala с ознакомлением с элементами Java. Например, в Scala нет нужной библиотеки, но она есть в Java. Пытаетесь понять документацию в формате JavaDoc к ней и программные примеры на Java, если есть.

Partisan ★★★★★
()

Без ангельского даже не лезь. Серьёзно.

anonymous
()
Ответ на: комментарий от Partisan

Жаба содержит подмножество абстракций доступных в Scala и Kotlin, это значит что освоив любой из этих языков будет легко разобраться в жабе. Совсем другая ситуация например с такими языками как clojure и python, те кто начнет с них не поймут код на жабе, вот им придется учить жабу чтоб понять что там творится и как использовать нужный класс.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)
Ответ на: комментарий от Partisan

Kotlin не маргинален, кстати. В нем как раз мейнстримовские концепции и сам он в неком тренде новых языков общего назначения, как и Swift. И если что, на ряду с Java, Kotlin - официальный язык платформы Android. С той же Scala никогда такого не было.

anonymous
()

сайт по скале => github + google translate

Int0l ★★
()

Можно ли изучать начать скалу, вообще не зная ява?

Условно скажем так. Scala крутится на jvm и имеет очень плотное сопряжение со многими либами на java. Т е нужен тебе некий функционал, гуглишь, и он с вероятностью 99% будет в виде java библиотеки. Поэтому понимать в общем виде хотя бы нужно. Но это совершенно не относится к работе на дядю. Так как дяди в большинстве своем рассматривают скалу как этакую высокоуровневую надстройку над java. Поэтому на большинстве собеседований на должность скала разработчика тебя по полной программе сначала пропустят по знаниям java, а уже потом будут разбираться что ты знаешь по scala.

Что еще можно сказать. На данный момент есть несколько библиотек, которые несмотря на то что не входят в стандартную библиотеку языка, являются стандартом дефакто при работе с этим языком. Это akka и scalaz. Это то, что с тебя со 100% вероятностью спросят на любом собеседовании собеседовании.

Так же нужно понимать, что у скалы весьма серьезная ниша - это высоконагруженные распределенные системы. Поэтому к знаниям ко всему вышеперечисленному прилипают автоматически такие штуки как Cassandra, Kaffka, Kuberentes/Mesos, Spark и т. п. технологии из мира BigData.

Про русский язык вообще забудь, вся документация и литература по вышеперечисленному только на английском языке.

И из всего вышесказанного можно сказать что план изучения зыка такой. 1. Изучить основы языка. 2. Твердо усвоить функциональную парадигму чтением соответствующей литераторы. 3. Изучить асинхронные парадигмы в отношении scala. 4. Изучить стек akka. 5. Изучить scalaz. 6. Изучить общую теорию современных распределенных систем. 7. Изучить конкретные элементы распределенных систем.

Serbis
()

Вот что рекомендую почитать по списку. 1. Martin Odersky - Programming In Scala 2. Paul Chiusano, Runar Bjarnason - Functional Programming in Scala 3. Aleksandar Prokopec - Learning Concurrent Programming in Scala 4. Packt - Scala Design Patterns 5. Joshua D. Suereth - Scala in Depth 6. Riti P. - Practical Scala DSLs

Это так сказать минимальный набор, после которого вы начнете понимать как на скале. После этого можно начать изучать например акку или скалаз.

Serbis
()
Ответ на: комментарий от Serbis

1. Martin Odersky - Programming In Scala

Только одна эта книжка это 1к страниц. Помню я осилил 250 и бросил. Остальное из твоего списка даже страшно представить.

Aber ★★★★★
()
Ответ на: комментарий от Aber

Не, ну я конечно все понимаю, но scala это не python. Ее по урокам с тюбика не выучишь, ибо нужно четко владеть теорией таких языков. А если человек задается такими вопросам, как изучить скалу, этой теории у него нет. А значит ее нужно так сказать намайнить путем изучения подобной литературы.

Я не говорю о том что ее нужно всквозуню читать. Я не явлюсь сторонником штудирования книг от корки до корки, но ознакомиться по крайне мере в общем виде о чем идет речь в той или иной книге все таки следует.

Serbis
()

Можно ли изучать начать скалу, вообще не зная ява?

...Особенно не зная как правильно писать и произносить название платформы и языка («джава», на худой конец «жаба»).

Но впрочем можно.

Какие сайты есть по скале на русском языке?

Есть лента fprog, но почти мертвая http://fprog.ru/planet/ Есть https://eax.me

Но в целом на русском мало чего есть. Английский в IT - обязателен.

lovesan ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.