Nói chuyện về Kotlin

Thời gian gần đây, Google đã chính thứ hỗ trợ phát triển ứng dụng trên Android bằng ngôn ngữ lập trình Kotlin. Kotlin ra đời và phát triển một cách nhanh chóng, vậy thì Kotlin có thế mạnh gì? Tại sao Google lại hỗ trợ Kotlin mà không phải là một ngôn ngữ nào khác? Hãy cùng tôi thảo luận trong bài viết này nhé.

Tìm hiểu gốc gác

Kotlin là một ngôn ngữ lập trình, điều này ai cũng biết. Kotlin được phát triển bởi JetBrains, điều này chắc cũng kha khá người biết. Các đoạn code viết bằng Kotlin được chạy trên máy ảo Java (Java Virtual Machine – JVM), điều này ai ngó qua trang chủ của Kotlin chắc sẽ biết. Ngoài ra, Kotlin còn có thể compile ra JavaScript, điều này thì chắc ai tìm hiểu Kotlin rồi mới biết.

Kotlin là ngôn ngữ lâp trình dạng statically typed. Chắc sẽ có bạn thắc mắc “statically typed” là gì?

Statically typed có nghĩa là các biến, hàm, hay phép toán đều được xác định trước kiểu dữ liệu để có thể kiểm tra ngay tại thời điểm compile.

Nhiều bạn sẽ hỏi rằng, ủa chứ “statically typed” có lợi gì?

Lợi là tại thời điểm compile, compiler sẽ giúp chúng ta kiểm ta mọi thứ xem có gì sai trái hay không và vì thế mà giúp developer giảm được những bug đơn giản một cách sớm nhất có thể.

Nhiều bạn khác sẽ hỏi rằng, ủa chứ “dynamic typing” viết code khoẻ quá trời mà?

Vâng, rất khoẻ nhưng lại tiềm ẩn khá nhiều vấn đề mà chắc là tôi sẽ phân tích trong một bài khác nhé.

Nhiều bạn có kiến thức về Java rồi sẽ hỏi rằng, ủa chứ Java cũng “statically typed” mà?

Đúng rồi đó, chúng ta qua phần tiếp theo để tìm hiểu nhé.

Kotlin có gì hơn Java

Theo như quảng cáo thì mục đích chính của Kotlin là thừa kế những sự tốt đẹp của Java và giải quyết những vấn đề mà Java gặp phải.

Đầu tiên, đó là syntax. Kotlin syntax ở một khía cạnh nào đó rất giống Java, nhưng cũng rất khác, ngắn gọn và rõ ràng hơn. Điều này giúp cho số dòng code của Kotlin giảm đến 40% theo như quảng cáo so với số dòng code của Java với cũng một mục đích.

Và lại theo như quảng cáo thì JetBrains nói rằng Java developer sẽ học Kotlin trơn tru và dễ dàng. Và theo như cảm nhận khách quan của tôi thì việc học Kotlin đối với một Java developer cũng không quá khó khăn, nhưng cũng không quá dễ dàng, bởi vì để tận dụng triệt để sức mạnh của Kotlin cũng cần kha khá thời gian để tìm hiểu.

Thứ hai, Kotlin compiler khá là “thông minh” khi giúp bạn thoát khỏi những lỗi gây đau khổ cho Java developer trên toàn nhân loại như là “NullPointerException”.

Nếu các bạn tìm hiểu kĩ một chút, các bạn sẽ thấy rằng Kotlin là một ngôn ngữ hiện đại, và có những thuật ngữ riêng. Tôi lấy ví dụ như data classes, sealed classes, inline function, etc… Hầu hết những thứ này đều có trong Java, nhưng muốn sử dụng thì cũng phải tự viết một số thứ khá rườm rà và phức tạp.

Kotlin tích hợp khá tốt với những thư viện hay framework của Java, ví dụ như là chúng ta có thể dùng Kotlin với Spring Boot.

Ngoài ra, theo như quảng cáo của JetBrains thì họ cung cấp rất nhiều đồ chơi cho developer, chẳng hạn như bạn có thể dịch code từ Java sang Kotlin. Và “IntelliJ” thì nhiều đồ chơi khỏi phải nói rồi.

Học Kotlin như thế nào bây giờ?

Tất cả syntax của Kotlin sẽ được giải thích ở Kotlin Reference.

Các bạn có thể thử code Kotlin và tìm một số ví dụ ở Try Kotlin.

Về sách thì tôi thấy series “in Action” của nhà xuất bản Manning có một quyển về Kotlin tên là “Kotlin in Action”. Series này đọc khá là dễ hiểu và thường đi kèm với một ví dụ thực tế xuyên suốt sách nên tôi khá thích, các bạn có thể tìm đọc.

Tóm lại

Bài viết này chỉ nhằm mục đích giới thiệu Kotlin nên tôi không hề đi vào chi tiết từng tính năng của Kotlin mà chỉ nói bao quát những thứ nổi trội. Vậy ý kiến của các bạn về Kotlin như thế nào, cùng thảo luận ở phần comment nhé.

Nếu các bạn muốn có bài viết tiếp theo về Kotlin ví dụ như là viết API bằng Kotlin thì hãy comment cho tôi biết nhé, hoặc chỉ đơn giản là like hoặc share bài viết này, nếu lượng ủng hộ lớn, tôi sẽ sắp xếp để viết bài viết tiếp theo về Kotlin.

Tạm biệt.

Advertisements

Bình luận

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s