著者は社会人2年目、Webアプリケーション作成経験あり。
社会人1年目、春のJava研修後、Scalaに触れるがあまりにも理解できず…。
そこで「Scalaの特徴」を活かした学習方法に切り替えたことにより
別プロジェクトへ配属となるまでの3週間で、効率的にScalaを学ぶことができました。
Scalaについての記事ではありますが、
プログラミング言語を学び始めた方にもおすすめできるような内容だと思いますので
「勉強の仕方が分からない!」という方もぜひ参考にしてみてください!
Scalaの学習で参考にしたものは?
下記のサイトを参考にさせていただきました。
- Scala研修テキスト
IDEの導入方法やScalaの書き方や考え方が分かりやすくまとめられているので
細かい部分で分からなくなったときによく見ていました。 - Scala公式サイト – チュートリアル
Javaを学んだことがある人向けの記事があるため、参考にしていました。
Scalaの特徴とは
「Scalaの特徴」とは言っても、大きなものから細かなものまでたくさんあります。
その中でも、私が学習方法に取り入れたところは
プログラミング言語「Java」との互換性がある という内容になります。
Scala は、Java 用に開発された豊富なライブラリをシームレスに使用できます
引用:Scala公式サイト – JAVA 開発者のための SCALA
引用させていただいた内容のように、ScalaではJavaのライブラリを利用できるため
Scalaで書かれたソースコードを一部Javaの書き方に変えたり、その逆もまた然りなのです。
肝心の学習方法!
リード文に書いたように、私はScalaの学習を始める前に研修で「Java」を学んでいたので、
Scalaについては知らなくても、Javaについてはある程度は理解ができていました。
Scalaについて学習を始めた当初は、漠然とScalaの書き方を真似ていただけで
なんとなく理解できている気にはなっても、しっかりと身についてはいきませんでした。
そこで、研修で作成してきたプログラムのソースコードを利用して、
「Javaで構成されたソースコードをScalaに置き換えていく」という学習方法に切り替えたことで
より具体的にScalaの書き方を理解できるようになっていきました。
// 例えば、これを…
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!!");
}
}
// これに書き換える!
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello, World!")
}
}
まとめ
この学習方法を思いついたのは、研修の時にやっていた
「知っている内容を、学ぶ内容に置き換える」という学習の仕方を思い出したことでした。
Javaの研修時は、それまでほとんどプログラミングをしていなかったため
知っているプログラミング言語がありませんでした。
しかし、処理の内容自体を理解することはできたため、それを図などに書き出して
そこからJavaのプログラムに置き換えていくという方法をとっていました。
「知っている」処理の内容を図に書いてそれを、「学ぶ」Javaのプログラムに置き換える。
「知っている」Javaの書き方を、「学ぶ」Scalaの書き方に置き換える。
この考え方はScalaだけでなく、新しいことを学ぶ際にも大事なことだと思うので
これからプログラミングに触れる方も是非参考にしてみてください!