Artikel ini membutuhkan penyuntingan lebih lanjut mengenai tata bahasa, gaya penulisan, hubungan antarparagraf, nada penulisan, atau ejaan. Anda dapat membantu untuk menyuntingnya.
Artikel ini perlu dikembangkan agar dapat memenuhi kriteria sebagai entri Wikipedia. Bantulah untuk mengembangkan artikel ini. Jika tidak dikembangkan, artikel ini akan dihapus.
Nama Scala adalah lakuran dari "scalable" dan "language", untuk menggambarkan bahwa bahasa ini dirancang supaya berkembang sesuai keperluan penggunanya.[2]
Sejarah
Desain Scala dimulai pada 2001 di École Polytechnique Fédérale de Lausanne (EPFL) oleh Martin Odersky. Hal ini diikuti dari bekerja pada Corong, sebuah bahasa pemrograman yang menggabungkan ide-ide dari pemrograman fungsional dan Petri nets.[3] Odersky sebelumnya bekerja pada Generic Javadan javac, Sun Java compiler.
Setelah internal yang rilis pada akhir 2003, Scala dirilis ke publik pada awal tahun 2004 di platform Java,[4] dan pada .NET Framework pada bulan juni 2004.[5] versi kedua (v2.0) diikuti pada bulan Maret 2006.NET dukungan resmi turun pada tahun 2012.[6]
Meskipun Scala memiliki dukungan yang luas untuk pemrograman fungsional dari awal, Sebagian besar Java tetap berorientasi objek bahasa sampai masuknya ekspresi lambda dengan Java 8 pada 2014.
Platform dan lisensi
Scala berjalan pada platform Java (Java virtual machine) dan kompatibel dengan yang ada program Java. Sebagai aplikasi Android yang biasanya ditulis di Java dan diterjemahkan dari bytecode Java ke bytecode Dalvik (yang selanjutnya dapat diterjemahkan ke asli kode mesin selama instalasi) ketika dikemas, kompatibilitas Scala dengan Java memungkinkan pengembangan Android, lebih jadi ketika fungsional pendekatan yang lebih disukai.[7]
Scala juga dapat dikompilasi ke JavaScript, memungkinkan pengembang menulis program Scala yang dapat berjalan di peramban web.[8]
Tidak seperti aplikasi pemrograman tunggal dari Java, bahasa pemrograman ini tidak membutuhkan suatu deklarasi kelas statik; sebuah objek tunggal dibuat dengan menambahkan kata kunci object di dalamnya.
Ketika pengguna menyimpan dengan nama HelloWorld.scala, pengguna dapat menjalankan kompilasi dengan perintah
$ scalac HelloWorld.scala
dan dapat dijalankan dengan perintah:
$ scala HelloWorld
Konsep ini mirip dengan proses kompilasi dan menjalankan kode Java, karena model kompilasi dan eksekusi Scala identik dengan Java, sehingga kompatibel dengan alat build Java seperti Apache Ant.
^Odersky, M.; Rompf, T. (2014). "Unifying functional and object-oriented programming with Scala". Communications of the ACM. 57 (4): 76. doi:10.1145/2591013.
^Martin Odersky, "The Scala Language Specification Version 2.7"