Công nghệ liên tục thay đổi – Ai là người có lỗi



 Trong ngành lập trình, công nghệ là thứ liên tục thay đổi. Những công nghệ mới liên tục ra đời thay thế công nghệ cũ, làm kiến thức rất dễ lỗi thời vì. Do đó, người lập trình viên phải liên tục học hỏi, nếu không họ sẽ trở nên lạc hậu.

Nguyên nhân sâu xa đằng sau chuyện này chính là Tiền. Tại sao mỗi năm FIFA và PES đều ra bản mới? Để bán lấy tiền. Tại sao mỗi năm Iphone lại ra phiên bản mới? Để hút máu người dùng, đế kiếm tiền. Đó cũng là lý do các hãng công nghệ liên tục đưa ra các sản phẩm/công nghệ mới để bán lấy tiền: C# thay đổi từ 2.0 tới 5.0, Windows mỗi 2-3 năm lại ra bản mới, Visual Studio và SQL Server cũng tương tự.

Nhìn chung, sự thay đổi này có mặt tích cực của nó: Các framework/library mới có nhiều tính năng hơn, giúp việc code nhanh và dễ dàng hơn. Tuy nhiên, điều đó cũng đi kèm không ích phiền toái: Mỗi version lại có chút ít cập nhật và thay đổi, làm việc nâng cấp/tích hợp rất mệt mỏi và mất thời gian. Một ví dụ điển hình là ngôn ngữ Python: Python có 2 phiên bản 2 và 3. Phiên bản 3 tích hợp quá nhiều thay đổi, nhiều thư viện của python 2 không chạy được trên bản 3, … do đó cộng đồng Python vẫn tranh cãi về việc dùng phiên bản nào. Phiền toán lớn nhất chính là: Tốn công sức, thời gian mà lập trình viên đã bỏ ra để học ngôn ngữ đó.

Đôi khi một framework/library chết, không được hỗ trợ nữa (VB6, Silverlight). Thử tượng tượng bây giờ MS SQL không được phát triển tiếp xem, một đống dự án sử dụng MS SQL sẽ lao đao. Đó là lý do các ngôn ngữ/công nghệ như Java, C#, PHP, MySQL vẫn được ưa chuộng so với NodeJS, MongoDB, … vì chúng có tuổi đời lâu hơn, đáng tin tưởng hơn.

Vòng đời của một công nghệ: Một công nghệ mới ra đời, được nhiều công ty sử dụng, nhu cầu tuyển dụng cao nên nhiều người theo học. Qua năm tháng, công nghệ chết dần, không ai tuyển nữa nên ít người học. Tuy nhiên, ứng dụng của các công ty được xây dựng bằng các công nghệ cũ, họ vẫn cần developer để bảo trì/nâng cấp ứng dụng. Đó là lý do các developer Cobol, VB6, Fortran vẫn rất được giá (Bọn Nhật có nhiều hệ thống lớn và siêu lớn xây dựng bằng các công nghệ này, toàn outsource cho dân VN bảo trì).

#ntechdevelopers

Ntech Developers

Programs must be written for people to read, and only incidentally for machines to execute.

Post a Comment

Previous Post Next Post