Tại sao dân lập trình thường tranh cãi về các ngôn ngữ

Nếu bạn tiếp xúc nhiều mới các lập trình viên hiện nay thì có một điều mà bạn sẽ dễ dàng nhận thấy đó là niềm tin mãnh liệt vào ngôn ngữ lập trình ưa thích của họ là tốt nhất.

Nếu bạn tiếp xúc nhiều mới các lập trình viên hiện nay thì có một điều mà bạn sẽ dễ dàng nhận thấy đó là niềm tin mãnh liệt vào ngôn ngữ lập trình ưa thích của họ là tốt nhất. Họ gần như trở thành tín đồ của ngôn ngữ lập trình đó.

Những câu hỏi đơn giản như "Liệu tôi nên học ngôn ngữ lập trình nào?" trên các trang web lớn như Quora hoặc Reddit luôn luôn nhận được sự quan tâm đặc biệt của các thành viên trang web này. Bạn sẽ nhận được một danh sách dài các ngôn ngữ lập trình và cả vô vàn lý do tại sao bạn nên học chúng. Những lý do được đưa ra một cách chu đáo và thuyết phục. Đôi khi, những câu hỏi này cũng gây nên những tranh luận gay gắt giữa các lập trình viên luôn muốn bảo vệ ý kiến cũng như ngôn ngữ lập trình mà họ "tôn thờ".

Trong số các ngôn ngữ lập trình hiện nay thì Python và Java nhận được nhiều sự quan tâm cũng như tranh cãi nhất. Java thường được đem ra so sánh với Google Go hay Ruby. Java là một ngôn ngữ khá "cổ xưa" đối với việc phát triển các ứng dụng web. Các lập trình viên hiện nay thường ưa thích sử dụng các ngôn ngữ mới hiện đại và nhanh hơn.

Gần đây, đề tài tranh cãi mới nhất là giữa Object-C (ngôn ngữ lập trình lên hầu hết các ứng dụng cho điện thoại iPhone hiện nay) với ngôn ngữ mới của chính Apple là Swift. Apple kỳ vọng Swift sẽ là người kế nhiệm xứng đáng của Object-C và cũng hứa hẹn rằng đây sẽ là một ngôn ngữ giúp các lập trình viết các ứng dụng một cách nhanh chóng và dễ dàng hơn. Swift đang phát triển một cách mạnh mẽ nhưng nó vẫn chỉ là phần nhỏ trong bức tranh toàn cảnh của iPhone và iPad.

Các cuộc tranh luận nhìn từ nhiều phía

Những cuộc tranh luận về ngôn ngữ lập trình nào là tốt nhất thường được xem là khá vô vị đối với những người không phải lập trình viên. Những ngôn ngữ này ẩn dưới các ứng dụng mà họ sử dụng hằng này nên họ chỉ quan tâm đến những ứng dụng đó chứ không hề có khái niệm gì về thứ tạo nên những ứng dụng đó.

Các lập trình viên luôn muốn chọn một ngôn ngữ mang đến nhiều triển vọng trong công việc cùng với mức thu nhập cao nên họ cần phải luôn luôn cập nhật các kỹ năng của mình để phù hợp cho bất kỳ công việc nào tương lai. Một số khác, đặc biệt là những người có khả năng tìm hiểu và nghiên cứu những cái mới thì bị hấp dẫn bởi sự mới lạ, thách thức của việc học một ngôn ngữ lập trình mới và tất cả những nhược điểm của nó.

Hầu hết mọi người đều có những cảm xúc mạnh mẽ về ngôn ngữ lập trình họ chọn. Sự khác biệt giữa các ngôn ngữ là nhỏ và phần lớn những khác biệt này chỉ là vấn đề của cách trình bày.

Những lập trình viên quá chú trọng vào nghiên cứu các chỉ số hay theo dõi các bảng xếp hạng ngôn ngữ lập trình hàng đầu trên TIOBE Index hoặc các công ty phân tích như Red Monk được ví những người theo dõi thị trường chứng khoán, ngồi nhìn lá trên cây để đoán thế giới sẽ đi tới đâu.

Bản năng sinh tồn

Các lập trình viên không phải lúc nào cũng có thể tự do lựa chọn ngôn ngữ lập trình cho mình. Đôi khi, họ phải làm việc với một dự án đã bắt đầu khá lâu. Điều đó có nghĩa là các lựa chọn đã được thực hiện. Trong một vài trường hợp khác, việc mất thời gian để tìm hiểu những điều mới mẻ là không phù hợp với dự án đó.

Thậm chí sau đó luôn có một vài lựa chọn mà sẽ khiến bạn phân vân. Vì vậy, không có ngôn ngữ lập trình nào là tốt nhất. Các cuộc tranh luận về ngôn ngữ lập trình tốt nhất phần lớn chỉ cuộc tranh luận để bảo vệ niềm tin.

Có hai khía cạnh khác có liên quan trong câu chuyện tranh cãi này

Trước hết, cộng đồng là thực sự quan trọng. Lợi ích của cộng đồng là bạn sẽ nhận được sự hỗ trợ của những người dạn dày kinh nghiệm, những người đã có nhiều hiểu biết về vấn đề mà bạn đang gặp phải. Vì vậy, bạn có thể tiết kiệm được nhiều thời gian cũng như công sức để giải quyết chúng. Nhưng một kết quả ngoài ý muốn ở đây là bạn có thể bị lạc trong đường hầm phát triển. Nếu bạn quá thân thiết với những người lập trình Go thì bạn sẽ khó tìm thấy giải pháp cho vấn đề không liên quan đến ngôn ngữ Go.

Yếu tố cuối cùng ở đây là các lập trình viên luôn muốn bảo vệ thời gian và công sức mà họ đã đầu tư vào việc học ngôn ngữ đó. Cũng giống như ngôn ngữ nói, một số người có thể học tốt ngôn ngữ mới hơn những người khác, nhưng nó vẫn là một cuộc chiến lâu dài.

Bên cạnh việc tìm hiểu các ngôn ngữ, đa phần những lập trình viên chuyên nghiệp hiện nay đều trải qua quá trình đào tạo bài bản trước khi thực sự bước vào việc tìm kiếm vị trí công việc xứng đáng. Những mô hình giảng dạy đạt tiêu chuẩn toàn cầu giúp cho việc hệ thống kiến thức của người học trở nên dễ dàng, cập nhật và logic. Nhờ đó, lập trình viên có nhiều cơ hội lựa chọn vị trí công việc cùng mức lương thỏa đáng hơn.

Là đơn vị tiên phong trong lĩnh vực đào tạo các lập trình viên phát triển phần mềm ứng dụng, Công ty CP Stanford – Đào tạo và phát triển công nghệ luôn mong muốn mang tới các học viên chương trình đào tạo tối ưu nhất giúp các bạn dễ dàng học tập và có thể lựa chọn chương trình học phù hợp nhất với khả năng của mình.

Với phương châm “học để làm việc”, cùng đội ngũ giảng viên, chuyên gia nhiều năm tham gia giảng dạy và có nhiều kinh nghiệm thực tế từ các dự án phần mềm lớn, học viên tại Stanford không những được đào tạo bài bản về kiến thức mà còn được rèn luyện kỹ năng và kinh nghiệm khi trực tiếp tham gia vào những dự án phần mềm lớn ngay trong chương trình học.

Ngoài ra lớp học tại Stanford – dạy kinh nghiệm thực tế còn được bố trí theo phong cách làm việc nhóm tại các công ty phần mềm để tăng sự tương tác giữa giảng viên và học viên với số lượng từ 5-12 người. Chi tiết tham khảo tại website: stanford.com.vn

Sưu tầm

Nhật Lệ ( Stanford - Nâng tầm tri thức )

Tags: