Saya seorang programmer berpengalaman yang mencoba mempelajari pengembangan web. Saya mencoba mengembangkan aplikasi web sisi klien yang menggunakan svg atau kanvas untuk grafik. Saya memutuskan untuk menulis kode aplikasi dalam Coffeescript. Saya tidak tahu Javascript atau Coffeescript.
Bagaimana perlu mengetahui pengembangan web Javascript ke Coffeescript? Apakah saya mungkin mengalami masalah yang sulit yang mengharuskan saya untuk memahami Javascript? Bisakah saya bekerja dengan senang hati dengan Javascript API dari Coffeescript?
Sunting : Saya dapat dengan mudah mempelajari dasar-dasar Javascript dalam seminggu. Saya lebih khawatir bahwa Javascript tampaknya memiliki banyak sisi tajam yang tersembunyi. Dalam pertanyaan fitur bahasa yang paling aneh pada StackOverflow Javascript adalah salah satu bahasa yang paling umum. Ini memiliki objek dan model kelas yang tidak biasa. Ini memiliki aturan pelingkupan nama yang tidak jelas. Saya merasa perlu lebih dari seminggu bagi saya untuk benar-benar tahu bahasa.
Saya akan mengerjakan proyek kecil sederhana untuk mempelajari pengembangan web. Apakah saya akan lebih baik menggunakan Javascript atau Coffeescript? Saya pikir dalam jangka panjang saya akan lebih suka Coffeescript tapi saya bersedia untuk mulai dengan Javascript jika itu saya akan membutuhkan pemahaman menyeluruh tentang Javascript untuk menggunakan Coffeescript.
class
kata kunci dalam CS tidak melakukan apa pun yang ajaib; itu hanya menggunakan mekanisme warisan asli prototipal JavaScripts. Untuk alasan ini, saya akan merekomendasikan memiliki setidaknya pengetahuan tambahan tentang beberapa fitur JavaScripts lebih jelas.Jawaban:
Saya kira itu tidak akan mutlak diperlukan, tetapi Anda akan mencapai penghalang jalan dalam jangka panjang jika tidak.
Anda perlu memahami apa yang terjadi di bawah tenda dan apa yang ditranskripkan oleh kompiler CoffeeScript, karena itulah yang dilakukan oleh browser (dengan asumsi kita sedang berbicara tentang menggunakan CoffeeScript di lingkungan browser) perlu menafsirkan. Artinya, Anda juga perlu melakukan debug , terutama mengingat CoffeeScript cukup baru dan kami mungkin masih menemukan beberapa masalah dan bug dalam mekanisme transkripsi. Selain itu, jika tidak menggunakan alat debugging khusus untuk debugging, Anda harus melewati kode JavaScript yang dihasilkan untuk melakukan debug menggunakan Firebug atau Chrome Dev Tools atau konsol JS pilihan Anda. Dalam beberapa kasus Anda akan dapat melihat bagaimana kesalahan JS berhubungan langsung dengan pernyataan CoffeeScript sumber. Di pihak lain, karena transkripsi itu tidak sepele,
Ambillah seperti ini: Anda dapat mengembangkan perangkat lunak dengan sangat baik di Java dan C # tanpa pernah melakukan pengembangan tingkat rendah. Namun Anda akan memiliki waktu yang sangat buruk untuk memahami apa yang terjadi dan mengapa Anda menekan hambatan kinerja dan masalah memori jika Anda tidak memiliki petunjuk dan tidak dapat membuat tebakan yang berpendidikan tentang apa yang perlu dilakukan runtime bahasa ini untuk Anda di latar belakang, dan bagian mana dari tebakan yang mungkin mereka lakukan karena mereka tidak dapat melakukan keajaiban.
Selain itu, jika Anda mempelajari JavaScript, Anda akan menyadari betapa sangat sulitnya hal itu daripada yang terlihat pada awalnya, dan Anda akan lebih menghargai CoffeeScript untuk sintaksnya yang singkat dan bersih :)
sumber
Anda bertanya:
Saya bisa mengatakan, dengan tegas, ya. Secara umum, jika Anda melakukan sesuatu yang menarik, pada titik tertentu Anda setidaknya perlu memahami apa yang terjadi di tingkat di bawah Anda. (Terkadang Google + cut + paste dapat menyelamatkan Anda, tetapi Anda tidak ingin menjadi pria itu.)
Setiap "programmer yang cukup berpengalaman" kemudian mengambil bahasa baru tidak akan memakan waktu lama. JavaScript adalah bahasa yang cukup sederhana. Segala sesuatu yang sulit tentang hal itu berasal dari lingkungan yang dijalankannya: yaitu, beberapa peramban web berbeda dengan gagasan berbeda tentang cara melakukan sesuatu.
Banyak informasi "bagaimana" yang akan Anda temukan di web akan ditulis dengan JavaScript, jadi Anda mungkin akan memiliki waktu yang lebih mudah jika Anda belajar cara membaca JavaScript dan menerjemahkannya ke dalam CoffeeScript yang setara.
Jujur saja, kecuali jika Anda sengaja mencoba untuk tetap bodoh, Anda mungkin akan berakhir dengan mempelajari JavaScript sebagai efek samping dari bekerja di CoffeeScript. Jadi mulailah saja.
sumber
Karena " Aturan emas CoffeeScript adalah: 'Ini hanya JavaScript' ," Saya merekomendasikan setidaknya dasar keakraban dengan JavaScript. Secara khusus, lihat buku kecil Douglas Crockford , JavaScript: The Good Parts . Anda juga dapat menonton presentasi pengantar Crockford yang hebat tentang hal itu.
CoffeeScript pada dasarnya membungkus bagian-bagian yang baik dari JavaScript dalam paket yang berbeda: " CoffeeScript adalah eksperimen pemikiran sederhana untuk membayangkan sebuah bahasa yang memperlihatkan sintaks minimal untuk model objek indah yang mendasari JavaScript. " Anda tidak perlu mengetahui semua detail, cukup untuk memahami bahwa JavaScript, itu sendiri, bukan bahasa berorientasi objek berbasis kelas. Tidak memiliki kelas sama sekali. Sebaliknya, ia menggunakan " prototipe ," dan itu membuat beberapa perbedaan dari bahasa OO lainnya. Jeremy Ashkenas membersihkan beberapa bagian buruk sintaksis JavaScript, menambahkan beberapa penyempurnaan, dan membuatnya sedikit lebih Python -sque.
JavaScript memiliki beberapa "gotcha" terkenal yang harus diwaspadai. Kalau tidak, itu adalah bahasa yang hebat dan sangat umum digunakan, hari ini. Kami tidak akan memiliki AJAX atau jQuery tanpanya, antara lain.
Semoga Sukses dengan CoffeeScript Anda!
sumber
Iya. Ini bukan akhir dunia jika Anda tidak, tapi ya.
Mengapa? Yah pertama-tama, JavaScript sangat mudah dipelajari. Saya benar-benar butuh 4 hari untuk mempelajarinya (well, sebagian besar). Juga, saya percaya ini lebih berharga daripada CoffeeScript. Saya benar-benar berpikir Anda bahkan tidak perlu CoffeScript. Tapi itu masih alat yang bagus.
sumber
Tergantung.
Jika CoffeeScript abstrak JavaScript cukup, sehingga Anda tidak perlu mengetahuinya (seperti C # abstrak bahasa Intermediate), maka ya, Anda dapat melakukan apa pun yang Anda ingin lakukan dalam CoffeeScript tanpa belajar JavaScript.
Tetapi pengalaman saya mengatakan bahwa tidak peduli berapa banyak saya mencoba melarikan diri dari JavaScript, ketika datang ke klien, saya kadang-kadang benar-benar harus membuat tangan saya kotor dan menulis JavaScript murni.
Ya kamu benar. sementara sintaksis JavaScript mudah dan Anda bisa mempelajarinya dalam waktu yang lemah, tetapi butuh waktu bertahun-tahun untuk menguasainya.
IMHO, seperti yang saya lihat CoffeeScript, itu tidak cukup dewasa untuk membungkus semua seluk-beluk JavaScript sepenuhnya. Jadi, saya tidak mengambil risiko tidak belajar atau bekerja secara langsung dengan JavaScript.
sumber
Dokumentasi coffeescript mendefinisikan coffescript dalam hal javascript yang setara. Jika Anda tidak mengerti javascript, Anda juga tidak akan mengerti skrip kopi.
sumber