Scalaを試す前にJavaを知る必要がありますか


15

Scalaの学習に興味があります。私はそれについて多くのことを読んでいますが、多くの人々はそれを高く評価しています

私の質問は、Scalaで物事がどのように機能するかを理解/評価するためにJavaを知る必要があるということですか?最初にJavaでスタブを実行してからScalaを試す方が良いでしょうか、それともJavaのバックラウンドをまったく使用せずにScalaを起動できますか?


5
のこぎりの動作を理解するために、バイフェイスが必要ですか?:D
back2dos

笑、私はこの答えに賛成です。
ギズゴク

回答:


17

Scalaは独自の言語であり、それ自体は既存の言語の知識を必要としません。必要に応じて、Scalaを第一言語として学ぶことができます。WebサイトLearning Scalaページには、初めてのプログラマーからプログラミング言語の研究者、関数型プログラミングの専門家に至るまで、さまざまなレベルの経験のためのチュートリアルへのエントリポイントがあります。

ドキュメントのほとんどは、残念ながらプログラミングの方法を知っている人に焦点を当てていますが、実際にはいくつかのScalaチュートリアルを実行しました。それは悪いことではありません。ただし、特定の基本的な概念を理解していることが期待されます。


4
トーマスは完全に正しいです。Scalaの魅力の一部を追加したいのは、Javaの巨大な標準ライブラリ全体を再利用できることです。それは重要な場合も重要でない場合もありますが、重要な場合は、Javaの以前の経験が明らかに非常に役立ちます。
キリアンフォス

@キリアン私はそれについて考えました。私はまだScalaを学んでおり、実際にはまだ何も意味のあることをしていませんが、ScalaでJavaライブラリを使用できるようにするためにJavaを知ることの重要性はわかりません。ScalaからプリコンパイルされたJARを呼び出すためにJava構文/スタイルにドロップするのではありません。
トーマスオーエンズ

1
ほぼすべての最新のプラットフォームでは、言語の構文を学ぶよりも標準ライブラリを学ぶのに時間がかかります。したがって、Scalaを学習しようとしている場合、Javaライブラリーを知ることには利点があります。
ジェレミー

16

Javaは2つの異なることを意味します。

  1. Java言語-これには、構文、規則、機能、および全体的なセマンティクスを含む言語が含まれます
  2. Javaプラットフォーム-これには、ランタイム(JVM)、標準ライブラリ全体、多くの一般的なフレームワーク/ライブラリが含まれます。また、GWTを介したクロスコンパイル後にJavaScriptとして実行される、またはAndroid上のJava(別のランタイムで実行される)など、他のJava「ランタイム」もあります。

Java言語とScalaは両方とも同じプラットフォームで実行されます。AFAIK ScalaはJavaコードを非常に簡単に呼び出すことができるため、Scalaを理解/活用するためにJavaを学習することに本当に興味がある場合、これがどのように機能し、Scalaアプリ内からJavaコードを最適に使用できるかを理解することが重要です。言語として、Javaは、C#が今まで教えてくれなかったことを教えてくれることはまずありません(私はあなたのプロファイルからC#の経験があると仮定しました)。

この質問の.NETアナロジーは次のようになります。

F#を試す前にC#/ VB.NETを知る必要がありますか?

どちらの場合でも、答えはかなりしっかりした「いいえ」です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.