Apakah Anda perlu tahu Java sebelum mencoba Scala

15

Saya tertarik mempelajari Scala. Saya sudah membaca banyak tentang hal itu, tetapi banyak orang menghargainya karena memiliki model aktor yang lebih baik untuk concurrency, ia menangani xml dengan cara yang jauh lebih baik, memecahkan masalah fungsi kelas satu.

Pertanyaan saya adalah apakah Anda perlu tahu Java untuk memahami / menghargai cara kerja di Scala? Apakah lebih baik untuk pertama mengambil bacokan di Jawa dan kemudian coba Scala atau Anda dapat memulai Scala dengan benar-benar tidak ada java backround?

gizgok
sumber
5
Apakah Anda perlu biface untuk menghargai cara kerja gergaji? : D
back2dos
hahaha, saya akan menjawab jawaban ini.
gizgok

Jawaban:

17

Scala adalah bahasanya sendiri, dan dengan sendirinya tidak memerlukan pengetahuan tentang bahasa yang ada. Jika Anda mau, Anda bisa belajar Scala sebagai bahasa pertama Anda. Pada halaman Learning Scala di situs web mereka , ada titik masuk ke tutorial untuk berbagai tingkat pengalaman, mulai dari pemrogram pemula hingga peneliti bahasa pemrograman hingga pakar pemrograman fungsional.

Sebagian besar dokumentasi difokuskan pada orang-orang yang tahu cara memprogram, sayangnya, tetapi saya sebenarnya telah mengerjakan beberapa tutorial Scala. Tidak seburuk itu. Diharapkan Anda memahami konsep dasar tertentu.

Thomas Owens
sumber
4
Thomas sepenuhnya benar. Saya hanya ingin menambahkan bahwa bagian dari daya tarik Scala adalah bahwa Anda dapat menggunakan kembali seluruh perpustakaan standar besar klakson Jawa. Itu mungkin atau mungkin tidak penting dalam kasus Anda, tetapi jika ya, maka pengalaman sebelumnya dengan Java jelas akan sangat membantu, karena Anda tidak bisa tidak belajar banyak tentang perpustakaan standar.
Kilian Foth
@Kilian aku memikirkannya. Saya masih belajar Scala dan belum benar-benar melakukan sesuatu yang bermakna dengan itu, tapi saya tidak yakin betapa pentingnya untuk mengetahui Java untuk dapat menggunakan perpustakaan Java di Scala. Ini tidak seperti Anda masuk ke sintaks / gaya Java untuk memanggil JAR yang telah dikompilasi dari Scala.
Thomas Owens
1
Untuk hampir semua platform modern, dibutuhkan waktu lebih lama untuk mempelajari pustaka standar daripada mempelajari sintaks bahasa. Jadi ada manfaat dalam mengetahui perpustakaan Java jika Anda mencoba mempelajari Scala.
Jeremy
16

Jawa berarti dua hal yang berbeda:

  1. bahasa Java - ini termasuk bahasa, dengan sintaks, aturan, fitur dan semantik keseluruhannya
  2. platform Java - ini termasuk runtime (JVM), seluruh perpustakaan standar dan sejumlah kerangka kerja / perpustakaan populer. Perhatikan ada juga "runtime" Java lainnya seperti dieksekusi sebagai JavaScript setelah kompilasi silang melalui GWT, atau Java pada Android, yang juga berjalan dalam runtime yang berbeda

Bahasa Jawa dan Scala keduanya berjalan pada platform yang sama. AFAIK Scala dapat menelepon ke bawah untuk kode Java cukup mudah, jadi jika ada salah bunga riil dalam belajar Java untuk memahami / leverage Scala, maka itu adalah untuk memahami cara kerja ini dan bagaimana Anda dapat terbaik penggunaan kode Java dari dalam aplikasi Scala. Sebagai bahasa, Java tidak mungkin mengajarkan Anda apa pun yang C # tidak akan mengajarkan Anda sekarang (saya berasumsi dari profil Anda, Anda memiliki beberapa pengalaman C #).

Pertanyaan ini .NET-analogi adalah:

Apakah Anda perlu tahu C # / VB.NET sebelum mencoba F #?

Dalam kedua kasus itu, jawabannya adalah "Tidak" yang tegas .

back2dos
sumber