Ngôn ngữ lập trình nào sẽ lên ngôi trong cách mạng công nghiệp 4.0?

  1. Lập trình

Từ khóa: 

lập trình

,

lập trình

Mỗi ngôn ngữ lập trình đều có những ưu điểm và nhược điểm riêng. Trong thời kỳ cách mạng công nghiệp lần thứ 4, ngôn ngữ lập trình nào phù hợp nhất để xử lí dữ liệu, nhất là dữ liệu lớn; thuận tiện nhất để xây dựng và triển khai các thuật toán học tự động và giải quyết các bài toán nghiệp vụ, sẽ là ngôn ngữ chiếm ưu thế. 

Chúng ta không nên nói là ngôn ngữ lập trình nào sẽ lên ngôi vương, thống trị và bao trùm. Có lẽ sẽ không có ngôn ngữ nào thống trị. Thị trường sẽ phân mảnh, mặc dù sẽ có một số ngôn ngữ được sử dụng rộng rãi hơn những ngôn ngữ khác.

Ngoài yếu tố phù hợp, thuận tiện nêu trên, còn có yếu tố quan trọng là số lượng các nền tảng mã nguồn lớn (legacy codes) mà các hãng phần mềm cần liên tục duy trì thay vì đập bỏ. Ví dụ cụ thể như C, C++, Java, đã, đang và sẽ vẫn là các ngôn ngữ quan trọng, chưa thể thay thế. Dạo gần đây, người ta nói nhiều về sự phổ biến của Python, tuy nhiên những thư viện quan trọng nhất, cái lõi của chúng thì đều được viết bằng C/C++ thì mới đảm bảo tốc độ. Python chậm gấp trăm lần C, C++ hay Java. Python chỉ là vỏ bề ngoài tiện cho nhiều người làm việc hàng ngày thôi. Một ví dụ khác, rất nhiều lập trình viên thành thạo với các ngôn ngữ lập trình .NET không thấy có lí do gì phải dùng một ngôn ngữ khác nếu mọi thứ vẫn đáp ứng được nhu cầu của họ.

Một yếu tố nữa là ngôn ngữ lập trình luôn phát triển. Ví dụ, nếu bạn không thích Python, đã từng yêu thích Java, muốn sử dụng một ngôn ngữ kết hợp được các ưu điểm của cả hai, hạn chế được một số nhược điểm của cả hai, thì có thể sử dụng Scala hay Julia.

Nói riêng, các lập trình viên nên học những cái họ cần chứ không nên học theo trào lưu. Và nên mặc kệ xu hướng, vì thời gian của mỗi người là có hạn. ;-)

Trả lời

Mỗi ngôn ngữ lập trình đều có những ưu điểm và nhược điểm riêng. Trong thời kỳ cách mạng công nghiệp lần thứ 4, ngôn ngữ lập trình nào phù hợp nhất để xử lí dữ liệu, nhất là dữ liệu lớn; thuận tiện nhất để xây dựng và triển khai các thuật toán học tự động và giải quyết các bài toán nghiệp vụ, sẽ là ngôn ngữ chiếm ưu thế. 

Chúng ta không nên nói là ngôn ngữ lập trình nào sẽ lên ngôi vương, thống trị và bao trùm. Có lẽ sẽ không có ngôn ngữ nào thống trị. Thị trường sẽ phân mảnh, mặc dù sẽ có một số ngôn ngữ được sử dụng rộng rãi hơn những ngôn ngữ khác.

Ngoài yếu tố phù hợp, thuận tiện nêu trên, còn có yếu tố quan trọng là số lượng các nền tảng mã nguồn lớn (legacy codes) mà các hãng phần mềm cần liên tục duy trì thay vì đập bỏ. Ví dụ cụ thể như C, C++, Java, đã, đang và sẽ vẫn là các ngôn ngữ quan trọng, chưa thể thay thế. Dạo gần đây, người ta nói nhiều về sự phổ biến của Python, tuy nhiên những thư viện quan trọng nhất, cái lõi của chúng thì đều được viết bằng C/C++ thì mới đảm bảo tốc độ. Python chậm gấp trăm lần C, C++ hay Java. Python chỉ là vỏ bề ngoài tiện cho nhiều người làm việc hàng ngày thôi. Một ví dụ khác, rất nhiều lập trình viên thành thạo với các ngôn ngữ lập trình .NET không thấy có lí do gì phải dùng một ngôn ngữ khác nếu mọi thứ vẫn đáp ứng được nhu cầu của họ.

Một yếu tố nữa là ngôn ngữ lập trình luôn phát triển. Ví dụ, nếu bạn không thích Python, đã từng yêu thích Java, muốn sử dụng một ngôn ngữ kết hợp được các ưu điểm của cả hai, hạn chế được một số nhược điểm của cả hai, thì có thể sử dụng Scala hay Julia.

Nói riêng, các lập trình viên nên học những cái họ cần chứ không nên học theo trào lưu. Và nên mặc kệ xu hướng, vì thời gian của mỗi người là có hạn. ;-)