Tắt Quảng Cáo [X] Đăng Nhập để ẩn Tất Cả Quảng Cáo #j2team_share #j2team_discussion # **LIỆU KOTLIN CÓ HOÀN TOÀN THAY THẾ ĐƯỢC JAVA?** Cách đây 5 năm, khi lần đầu được Google giới thiệu, Kotlin chẳng khác nào một “bom tấn” điện ảnh cả. Không ít người ngày ấy nhanh chóng bỏ Java để theo Kotlin, hoặc người mới thì sẵn sàng lao luôn vào Kotlin mà không cần biết Java. Nhiều người còn cho rằng, không sớm thì muộn, Kotlin sẽ có thể thay thế Java. Ấy vậy mà sau 5 năm rồi mọi thứ vẫn vậy, Kotlin thì hot thật đấy nhưng câu chuyện Kotlin - Java vẫn “anh đi đường anh, em đi đường em” và “nước sông không phạm nước giếng”. Đợt vừa rồi bên mình đang tuyển Kotlin DEV nên mình có cơ hội được nói chuyện với rất nhiều các anh DEV làm việc trong mảng này. Điểm chung là các anh đều cho rằng Kotlin không thể thay thế hoàn toàn được Java và vẫn khuyên hậu bối nên học Java để lấy nền tảng. Vì vậy hôm nay mình xin chia sẻ góc nhìn mà mình thu thập được về vấn đề này sau khi lắng nghe ý kiến từ các DEV nhà mình nhé! *[Disclaimer: Bài viết mang tính chất chia sẻ và tổng hợp góc nhìn. Do mình không phải Kotlin Dev chuyên nghiệp mà chỉ là HR thôi, nên trong quá trình truyền đạt có thể xảy ra sai sót. Các bạn dev trong ngành có insight và kinh nghiệm cùng chia sẻ với nhau nhé.]* ## **LIỆU KOTLIN CÓ THỰC SỰ NHANH VÀ DỄ HƠN JAVA?** Trên thực tế là không. Câu trả lời sẽ phụ thuộc vào các chỉ số hiệu suất (performance metrics) mà bạn muốn. Trong lúc chạy code thì performance của hai loại ngôn ngữ này là tương đương nhau. Tuy nhiên, trong quá trình biên dịch (compile time), Kotlin đôi khi sẽ chậm hơn Java. Mức độ chậm này còn phụ thuộc vào nhiều yếu tố khác nhau như việc sử dụng các annotation processors hay sự xuất hiện của các set code mix giữa Java và Kotlin, v.v.. Nhiều người có thể thấy Kotlin dễ hơn đơn giản bởi vì việc học và viết code bằng Kotlin thường ngắn gọn và dễ hơn Java. Rất nhiều nhân tố khác có thể ảnh hưởng tới việc đánh giá mức độ khó dễ của Kotlin như concise syntax, type inference, explicit nullability, extensive standard library, v.v.. Cái này mình nghĩ nên phụ thuộc vào trải nghiệm của mỗi người chứ không thể kết luận chủ quan được. ## **CÓ THỂ HỌC KOTLIN MÀ KHÔNG CẦN KIẾN THỨC JAVA KHÔNG? MỘT MÌNH KOTLIN CÓ ĐỦ ĐỂ LÀM ANDROID APP KHÔNG?** Kotlin hay bất kỳ một ngôn ngữ nào cũng vậy, bạn có thể học mà không cần đến kiến thức về ngôn ngữ khác. Thậm chí, bạn chỉ cần biết mỗi Kotlin là đủ để xây dựng Android app. Các tài liệu, công cụ và thư viện gần đây cũng có xu hướng tập trung vào Kotlin nhiều hơn nên việc tìm nguồn và tài liệu tham khảo nhìn chung cũng không quá khó. Tuy nhiên, điều này không có nghĩa là việc tích lũy kiến thức về Java từ trước là thừa thãi. Một số anh DEV chuyên về Java nhà mình bảo mọi kiến thức căn bản đều đến từ Java nên Java sẽ cho các bạn một cái nền thật chắc để định hướng được đi lên, dù sau này bạn có học Kotlin hay ngôn ngữ nào khác. Với những người đã có nền tảng Java thì việc học Kotlin khá có lợi bởi một số điểm tương đồng liên quan tới static typing, type inference, và IDE support. Thậm chí có anh còn bảo nếu đã có nền Java trước thì có khi chỉ cần vài ngày là học xong Kotlin =)) Muốn học nhanh các bạn có thể tải app Learn Kotlin trên CH Play hoặc kết hợp xem Youtube. Chung quy lại thì bạn học gì cũng được nhưng tốt nhất đừng nên quá tham cùng một lúc hoặc có thái độ “đứng núi này trông núi nọ”, học Java nhưng lòng hướng về Kotlin hay ngược lại. Trước tiên chỉ nên tập trung 1 ngôn ngữ chính thôi, vì Java và Kotlin có tư duy lập trình cũng khá là giống nhau. Chứ đừng như một số em failed interview ở công ty mình, cái gì cũng học 1 tí thành ra tới năm 3 rồi vẫn loay hoay chả mạnh cái gì. ## **ĐỂ BẮT ĐẦU HỌC LẬP TRÌNH ANDROID THÌ NÊN CHỌN JAVA HAY KOTLIN?** Thực ra thì như mình đã phân tích ở trên, chọn ngôn ngữ nào cũng được, miễn là bạn tập trung. Nếu bạn là người mới hoặc có chút “tham vọng” hơn thì có thể cân nhắc thêm yếu tố thời điểm. Khoảng giai đoạn 2-3 năm về trước thì tương quan tỷ lệ công việc xây dựng các app Android của Java và Kotlin rơi vào khoảng 700. Nghĩa là nhu cầu công việc cho Java nhiều hơn, lúc này bạn có thể học Java trước. Tuy nhiên trong 1-2 năm trở lại đây thì Kotlin đang có xu hướng được sử dụng nhiều hơn. Theo mình quan sát trong các hội nhóm thì cũng thấy ngày càng nhiều đơn vị đăng tuyển Kotlin DEV. ## **LIỆU KOTLIN CÓ THỂ THAY THẾ HOÀN TOÀN CHO JAVA?** Câu trả lời vẫn là KHÔNG! Thực sự mà nói thì mặc dù Java có vẻ như đang dần “mất đất” khi chia sẻ thị trường với Kotlin nhưng nó vẫn là một “chàng khổng lồ” và có những tính năng mà Kotlin không có được. Cái hay là ở chỗ thay vì đứng một mình và cạnh tranh trực tiếp với những ngôn ngữ khác thì Java chọn cách “hòa nhập nhưng không hòa tan”, vừa giữ những tính năng độc nhất, vừa học cách “thích nghi” và phát triển các tính năng mới từ các ngôn ngữ lập trình hiện đại, trong đó có Kotlin. Nhìn dưới góc độ “thực dụng” hơn một chút thì việc có thêm Kotlin càng làm cho thị trường Android cạnh tranh hơn, và người hưởng lợi sau cùng chính là mấy ông DEV chứ còn gì nữa ## **CHỐT LẠI…** Tổng kết lại thì học cái gì cũng được, làm hướng nào cũng ổn, miễn là bạn “bền bỉ” và thay vì tập trung vào chuyện ngôn ngữ nào hot và dễ học thì hãy chọn cách học có trọng tâm, có định hướng và cố gắng tìm ra một môi trường thích hợp để học tập và phát triển khả năng của bản thân. Nếu bạn là một Java DEV, cảm thấy mình đủ chắc ở Java thì có thể lựa chọn “tâm huyết” với nghề hoặc cân nhắc mày mò thêm về Kotlin để gia tăng cơ hội nghề nghiệp. “Mày mò” có thể thông qua tự học hoặc chân thực nhất là thông qua các dự án thực tế, bằng cách tìm một công ty có thể cho phép bạn trải nghiệm cả hai. Còn nếu bạn đã có nền tảng Kotlin và muốn cùng Kotlin “hạnh phúc viên mãn mãi mãi về sau” thì hãy thử sức ở những vị trí có “trình độ” một chút như Junior, Middle; đọc thật kỹ JD xem lộ trình thăng tiến, phát triển bản thân ra sao; công ty ấy có những người ở trình độ cao như Senior không, để bạn có thể học hỏi hoặc thậm chí là debate và trau dồi hơn mỗi ngày. Sau tất cả, ngôn ngữ vẫn chỉ là một công cụ làm việc và có phần nặng về lý thuyết, thứ khiến ta “lung lay” đôi khi không phải là độ hot của các loại ngôn ngữ mà nằm ở những thứ thực tế hơn như tính chất công việc, môi trường, đồng nghiệp, thăng tiến, v.v.. Chúc các bạn, dù đang làm Java, Kotlin hay bất kỳ loại ngôn ngữ nào khác, cũng đều “giữ lửa” với nghề và tìm được niềm vui trong công việc mỗi ngày!
mọi người nghĩ sao về flutter. Mình xưa học java nhưng mê game quá nên nhảy sang unity (C#) để làm game. Làm một hồi lại về java cố học xong cho ra trường. Ra trường xong xin việc mấy công ty ko đc , nên về quê học kotlin. Học 1 hồi chán quá lại về unity . Xong thấy làm game ko ai chơi nên học flutter. Nhưng lại vẫn lén làm game nhiều hơn mò flutter
Bài viết khá hay. Mình từ dev java qua kotlin đúng chỉ trong 1 tháng. Code của kotlin đọc rất tường minh và ngắn gọn. Hiện tại tiêu chí của tụi mình là code convention. Ngoài tiêu chuẩn về Dependencies Inversion, tụi mình chỉ cần viết code sao để các eng global khác nhìn vào phải hiểu ngay. Vấn đề performance thì khi benchmark vẫn chưa thấy sự chênh lệch quá nhiều. Có lẽ Kotlin convention sẽ là yếu tố chính để lựa chọn thay vì Java
Các giải pháp nuôi tài khoản mạng xã hội, cheat airdrop và whitelist miễn phí có sẵn tại cộng đồng Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO và group Facebook Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO |//////////////////////////// Get FREE Here ✔️✔️✔️ Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO