Những dòng suy nghĩ sau khi đọc bài viết Có nên dùng CoffeeScript trên Blog RubyTechList.com – Blog của một công ty chuyên về Ruby tại Việt Nam. (Hiện đã đóng cửa và không nhớ là mình có lưu lại nội dung bài này trên Pocket không nhỉ?)
Ban đầu mình có dự định học CoffeeScript, đã tải về một vài quyển sách, xem qua một slides khá cơ bản – “A sip of Coffee Script” (Nếu bạn vẫn có ý định tìm hiểu về CoffeeScript thì cũng nên xem qua). Cộng đồng Ruby khá ưa thích CoffeeScript có lẽ phần nào vì cú pháp của CoffeeScript gần gũi với Ruby. Nhưng mình đang cân nhắc lại ý định đó vì …
Có nên dùng CoffeeScript?
Dùng CoffeeScript có vẻ không hơn gì một nightmare! Mặc dù CoffeeScript có nhiều ưu điểm trong cú pháp, giúp cho cách viết trở nên ngắn gọn hơn nhưng sự đánh đổi giữa việc học một ngôn ngữ mới và một chút hoa mỹ có vẻ như là quá nhiều!
Câu này mình thấy rất chuẩn, việc phải học thêm vô số các quy tắc chỉ để làm cho Code trở nên ngắn gọn hơn đúng là cái giá đắt. Hơn nữa, cú pháp JavaScript mình còn chưa rành rẽ mà.
Nguyên nhân vì sao CoffeeScript đối với tôi chẳng hấp dẫn chút nào là vì:
- Bản thân Javascript đã là 1 ngôn ngữ rất đơn giản, đôi khi ta quên sót một số dấu “,”, thừa thiếu 1 số dấu “)” làm code ta bung bét, thì việc đó cũng chẳng khó khăn hơn sửa lỗi căn lề hoặc thiếu dấu trong CoffeeScript
Nếu xuất phát điểm của mình là không rành về JavaScript thì liệu có nên bắt đầu bằng CoffeeScript???
- Phải viết lại 1 hàm nào đó từ Javascript sang CoffeeScript là một cực hình, viết ngược từ CoffeeScript sang Javascript thì như còn cực hình hơn.
Có một số công cụ để chuyển đổi trực tuyến? Dành cho bạn nào lười hoặc cần làm nhanh gọn lẹ. (http://Js2.coffee)
- Hầu hết các library hoặc legacy code đã được viết bằng Javascript, trộn lẫn CoffeeScript sẽ khiến cho ta phải nhảy từ mã này sang mã kia liên tục.
Mình gặp rắc rối với việc trộn lẫn JavaScript và CoffeeScript trong App đầu tiên mình viết dẫn đến cuối cùng là mình phải gỡ CoffeeScript ra, Vì các Plugin mình xài đều không có version CoffeeScript.(Giờ biết được là không cần phải chuyển các thư viện jQuery hay Javascript khác sang CoffeeScript làm gì.)
- Debug code CoffeeScript có vẻ khó hơn, vì đôi khi ta không chắc magic của nó hoạt động có đúng hay không.
Theo mình được biết thì Debug trong CoffeeScript là nỗi đau đầu của nhiều lập trình viên, nhưng đó là chuyện của những năm trước. Còn bây giờ thì CoffeeScript đã hỗ trợ SourceMaps để Debug. http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
Cập nhật ngày 05/01/2015 – Do dự án UBrand dùng chủ yếu là AngularJS trên nền CoffeeScript nên mình cũng có thời gian làm quen với CoffeeScript, tuy không được bài bản … Chủ yếu là người ta viết sẵn như thế nào thì mình viết tiếp như vậy, đọan nào không biết thì vào trang js2.coffee để chuyển từ JavaScript sang CoffeeScript mà copy&paste vào dự án.
Tham khảo thêm một số ý kiến trên mạng: Coffeescript vs. Javascript: Dog eat Dog
Hãy pha một tách Cà Phê và thưởng thức nó cùng CoffeeScript
- Cập nhật tháng 5/2016 - Blog Rubytechlist đã đóng cửa nên link sẽ bị hỏng nhé… Nếu các bạn còn ý định tìm hiểu về CoffeeScript thì nên cân nhắc chuyển sang ES6 hoặc TypeScript xem sao.