NỘI DUNG BÀI VIẾT
Trong bài viết này, chúng ta sẽ cùng nhau phân tích câu hỏi rất chi là học búa “Data scientist có nên học JavaScript không?”,. Thật khó để trả lời cho những ai đang tìm hiểu về ngành khoa học dữ liệu, nhưng một khi đã hiểu tường tận vấn đề, ai cũng có thể đưa ra câu trả lời cho chính bản thân của mình. Cùng mình tìm hiểu nhé!
Tổng quan về ngôn ngữ, thị trường
Nếu bạn đã theo dõi bối cảnh công nghệ trong những năm gần đây, bạn có thể nhận thấy ít nhất hai điều.
Đầu tiên, bạn có thể nhận thấy rằng JavaScript là một ngôn ngữ rất phổ biến ngày nay. Nó ngày càng trở nên phổ biến kể từ khi Node.js cho phép các lập trình viên JavaScript viết code back-end.
Gần đây hơn, các framework như Electron, Cordova và React-Native đã cho phép các lập trình viên JavaScript xây dựng các ứng dụng gốc trên nhiều nền tảng.
Có thể bạn cũng nhận thấy rằng có rất nhiều điều thú vị xoay quanh lĩnh vực khoa học dữ liệu, đặc biệt là học máy. Những tiến bộ gần đây về lý thuyết và công nghệ đã làm cho lĩnh vực bí truyền một thời này dễ tiếp cận hơn với các nhà phát triển.
Khi đó, bạn có thể hỏi, liệu chúng có tạo thành một cặp tự nhiên không? Các Data scientist có nên cân nhắc việc học JavaScript không? Cũng có những cuốn sách viết về ứng dụng của JavaScript trong khoa học dữ liệu như cuốn “JavaScript for Data Science” chẳng hạn.
Hầu hết các Data scientist làm việc với một số kết hợp của Python, R và SQL. Nếu bạn là người mới trong lĩnh vực này, đây là những ngôn ngữ bạn nên thành thạo đầu tiên.
Các Data scientist cũng có thể chuyên về một ngôn ngữ khác như Scala hoặc Java. Có nhiều lý do tại sao những ngôn ngữ này lại phổ biến như vậy.
Nhưng tương đối ít Data scientist chuyên về JavaScript.
Tuy nhiên, với tính phổ biến của JavaScript và tính phổ biến của khoa học dữ liệu, các Data scientist có thể thu lợi bao nhiêu từ việc học ngay cả những kiến thức cơ bản của ngôn ngữ này? Còn các nhà phát triển JavaScript muốn khám phá khoa học dữ liệu thì sao?
Hãy bắt đầu tìm câu trả lời cho câu hỏi “Data scientist có nên học JavaScript không?” bằng cách xem xét một số phản đối quan trọng, sau đó xem xét một số lập luận ủng hộ.
Data scientist có nên học JavaScript không?
Vậy “Data scientist có nên học JavaScript không nhỉ?”, rất nhiều người sẽ phản ứng ngay lập tức và trả lời là KHÔNG, tại sao vậy?
Phản đối
Chức năng: JavaScript không có nhiều thư viện khoa học dữ liệu và chức năng có sẵn so với các ngôn ngữ như R và Python. Nếu bạn không ngại phát minh lại bánh xe, điều này có thể ít gây ra vấn đề hơn. Nhưng nếu bạn cần chạy các phân tích phức tạp hơn, bạn sẽ nhanh chóng hết các lựa chọn.
Năng suất: Một lợi thế khác của hệ sinh thái rộng lớn của Python và R là có nhiều hướng dẫn và cách thực hiện cho hầu hết mọi nhiệm vụ khoa học dữ liệu mà bạn muốn thực hiện. Đối với JavaScript, điều này không thực sự đúng như vậy. Bạn có thể sẽ mất nhiều thời gian hơn để tìm ra cách giải quyết một vấn đề khoa học dữ liệu trong JavaScript so với Python hoặc R.
Đa luồng: Việc xử lý các tập dữ liệu lớn hoặc chạy các mô phỏng song song thường rất hữu ích. Tuy nhiên, Node.js không phù hợp với các tác vụ đòi hỏi sự ràng buộc về CPU, chuyên sâu về tính toán. Đối với những tác vụ như vậy, các ngôn ngữ như Python, Java hoặc Scala có ưu thế hơn JS. Tuy nhiên, hãy xem dự án Napa.js của Microsoft. Nó cung cấp thời gian chạy JavaScript đa luồng có thể bổ sung cho Node.js.
Chi phí cơ hội: Có lẽ lý do chính mà các Data scientist có xu hướng không học nhiều ngôn ngữ ngoài Python và R là do ‘chi phí cơ hội’. Mỗi giờ học một ngôn ngữ khác là một giờ có thể được đầu tư vào việc học một khung Python mới hoặc một thư viện R khác. Mặc dù những ngôn ngữ này thống trị thị trường việc làm khoa học dữ liệu, nhưng có nhiều động lực hơn để học chúng. Và bởi vì khoa học dữ liệu là một lĩnh vực phát triển nhanh như vậy, nên luôn có điều gì đó mới để tìm hiểu.
Ủng hộ
Trực quan hóa: JavaScript vượt trội trong việc trực quan hóa dữ liệu. Các thư viện như D3.js, Chart.js, Plotly.js và nhiều thư viện khác giúp hiển thị dữ liệu mạnh mẽ và trang tổng quan thực sự dễ dàng xây dựng.
Tích hợp sản phẩm: Ngày càng có nhiều công ty sử dụng công nghệ web với tech stack dựa trên Node để xây dựng sản phẩm hoặc dịch vụ cốt lõi của họ. Nếu vai trò của bạn là một Data scientist yêu cầu bạn làm việc chặt chẽ với các nhà phát triển sản phẩm, thì bạn không thể ‘nói’ cùng một ngôn ngữ.
ETL: Mô-đun hệ thống tệp của Node ‘fs’ cung cấp một API tuyệt vời cho phép bạn gọi các hoạt động hệ thống tệp tiêu chuẩn đồng bộ hoặc không đồng bộ. Node cũng chơi tốt với MongoDB và nhiều hệ thống cơ sở dữ liệu phổ biến khác. API luồng giúp bạn dễ dàng làm việc với các luồng dữ liệu lớn – một lợi thế tiềm năng khác cho ETL.
Tensorflow.js: Ai nói JS không thể tạo ra những thứ hay ho về học máy? Đầu năm 2018, Tensorflow.js đã được phát hành. Điều này mang lại khả năng học máy cho các nhà phát triển JavaScript – cả trong trình duyệt và phía máy chủ. Tensorflow là một thư viện học máy phổ biến, được Google phát triển và làm mã nguồn mở vào năm 2015. Nhận dạng cử chỉ, nhận dạng đối tượng, sáng tác nhạc… bạn đặt tên cho nó, chắc hẳn bạn cũng có thể có.
Kết luận
Với những lập luận ở trên, theo bạn, các Data scientist có nên học JavaScript không?
Học JavaScript sẽ không gây hại cho CV của bạn. Nhưng đừng học nó để thay thế cho các ngôn ngữ khác.
Là ngôn ngữ thứ nhất, lời khuyên tốt nhất là học một trong hai Python hoặc R. Bạn cũng nên cảm thấy thoải mái khi sử dụng một số ngôn ngữ cơ sở dữ liệu, chẳng hạn như SQL hoặc MongoDB.
Tuy nhiên, khi bạn đã quen thuộc với những điều cơ bản, bạn có thể muốn chuyên sâu hơn. Có lẽ bạn muốn học Apache Spark để làm việc với các tập dữ liệu phân tán, khổng lồ. Hoặc có thể bạn muốn học một ngôn ngữ khác như Scala, MATLAB hoặc Julia.
JavaScript sẽ có giá trị nếu bạn muốn chuyên về trực quan hóa dữ liệu hoặc nếu vai trò của bạn yêu cầu bạn phải làm việc chặt chẽ với một sản phẩm được xây dựng bằng JavaScript hoặc một công nghệ có liên quan.
Khả năng học máy của JavaScript đang tiến bộ nhanh chóng. Đối với một số trường hợp sử dụng, nó có lẽ đã là một sự thay thế mạnh mẽ cho các ngôn ngữ khoa học dữ liệu thông thường.
Cuối cùng, quyết định vừa thực tế vừa mang tính cá nhân. Nó phụ thuộc vào khía cạnh nào của khoa học dữ liệu mà bạn thấy thú vị nhất và những cơ hội nghề nghiệp nào khiến bạn hứng thú nhất.
Nhưng với xu hướng hiện tại, một điều chắc chắn là như vậy. Trong những năm tới, JavaScript sẽ mở ra nhiều cánh cửa hơn là đóng lại.
Cảm ơn bạn đã theo dõi bài viết!
Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.
Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.
TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU
KHOÁ HỌC BOOTCAMP JAVA/PHP/.NET TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG