Thống kê những ngôn ngữ lập trình bị "ghét" nhất

Bạn có biết ngôn ngữ lập trình nào bị ghét bỏ hay không? Hãy cùng Quản Trị Mạng tham khảo thống kê những ngôn ngữ lập trình bị "ghét" nhất trong bài viết dưới đây nhé!

Trên Stack Overflow Jobs (stackoverflow.com), bạn có thể tạo Developer Story (Câu chuyện lập trình) cho riêng mình để giới thiệu về những thành tựu và bước tiến trong sự nghiệp. Hơn nữa, trong đó bạn có lựa chọn thêm các tag trong mục bạn muốn làm và không muốn làm.

Stack Overflow Jobs

Nhờ vậy mà chúng ta có cơ hội tham khảo ý kiến của hàng trăm hàng nghìn các nhà phát triển khác trên thế giới. Có nhiều cách để đo mức độ phổ biến của các ngôn ngữ lập trình, ví dụ chúng tôi thường sử dụng các lần truy cập hoặc các câu hỏi trên Stack Overflow để biết các xu hướng đó. Tuy nhiên, tập dữ liệu này là một cơ hội hiếm có để biết được công nghệ và ngôn ngữ lập trình nào bị ghét bỏ dựa theo CV của họ.

Ngôn ngữ lập trình

Ngôn ngữ lập trình

Để hiểu mức độ khác biệt của các tag, chúng ta xem xét tần suất xuất hiện thường xuyên trong tag Không thích (Disliked) so với tần suất xuất hiện trong tag Thích (Liked). Nếu một tag đạt 50% nghĩa là nó có lượng thích ngang bằng với không thích. Còn nếu đạt 99% nghĩa là cứ 99 người thích sẽ có một người không thích. (Chúng tôi sử dụng phương pháp thực nghiệm Bayes mô tả trong bài đăng để ước lượng mức độ trung bình với khoảng 95% độ tin cậy).

Hãy bắt đầu bằng cách xem danh sách các ngôn ngữ lập trình được chọn (khác với nền tảng như Android hoặc các thư viện như JQuery), tất cả đều được nhắc tới ít nhất 2.000 lần trong các CV của lập trình viên.

Danh sách các ngôn ngữ lập trình được chọn

Các ngôn ngữ lập trình bị ghét nhiều nhất là Perl, Delphi và VBA. Tiếp theo là PHP, Objective-C, Coffeescript và Ruby. Trong khi đó R là ngôn ngữ lập trình được yêu thích nhất.

Nếu bạn theo dõi các bảng xếp hạng về công nghệ thì sẽ nhận ra rằng những ngôn ngữ lập trình có khả năng phát triển nhanh đều được lập trình viên yêu mến. R, Python, Typescript, Go và Rust đều rất nổi tiếng trên Stack Overflow. Tương tự, Perl, Objective-C và Ruby là những ngôn ngữ bị ghét bỏ nhất và ngày càng trở nên "heo hút" hơn.

Chúng ta có thể thấy rõ điều này hơn bằng việc so sánh mức độ phủ sóng cũng như tốc độ phát triển của từng ngôn ngữ với % người không thích nó, trong đó màu cam thể hiện ngôn ngữ lập trình bị ghét. Để bảo đảm tính nhất quán, chúng tôi giới hạn số liệu thống kê trong các nước phát triển như US, UK, Đức và Canada.

Số liệu thống kê

Thông thường chúng đều có mối quan hệ giữa sự phát triển của tag với việc nó có thường bị ghét hay không. Gần như các ngôn ngữ lập trình bị ghét đều có Stack Overflow traffic rất thấp trong khi R, Rust, Typescript và Kotlin thì ngược lại, chúng có tốc độ truy cập rất cao. Các tag ít bị ghét nhất - R, Rust, Typescript và Kotlin - tất cả đều nằm trong số các tag phát triển nhanh (Typescript và Kotlin phát triển rất nhanh nên chúng ít bị ghét hơn).

Clojure là một trường hợp khá đặc biệt khi nó không hề nổi tiếng và cũng nằm trong các ngôn ngữ bị giảm traffic nhưng không bị ghét bỏ. Tương tự MATLAB cũng vậy, dù không nổi tiếng nhưng cũng không bị các lập trình viên ghét bỏ. Qua đó, ta thấy sự giới hạn trong việc không thể phân tích về mặt tình cảm.

Trong khi, các nhà phát triển web có ý kiến về PHP, C# hoặc Ruby thì những người không làm việc trong phân tích dữ liệu có ít lý do để đưa ra ý kiến về MATLAB. (Đây có lẽ là một phần lý do ngôn ngữ lập trình R hiếm khi được đề cập trong danh sách "Dislikes".) Đó là bởi nếu họ không làm việc với các ngôn ngữ lập trình như MATLAB thì họ cũng chả quan tâm về nó.

Ngoài ra còn có nhiều nhân tố ảnh hưởng khác mà ta không biết như việc đưa ra lựa chọn theo đám đông hoặc thích một ngôn ngữ lập trình nhưng không bao giờ dùng lại nó mà đã chuyển qua ngôn ngữ khác. Một khả năng khác là mọi người cảm thấy thoải mái khi thể hiện công khai điều họ không thích nếu cảm thấy ngôn ngữ lập trình đó không còn phổ biến. Cũng có thể các nhà phát triển thường sử dụng lĩnh vực này để đánh giá công nghệ mà họ đã sử dụng để làm việc nhưng giờ không còn dùng nữa. Điều này dẫn đến sự tiến triển tự nhiên của các công nghệ “thay thế” trong phần Không thích.

Những tag công nghệ nào bị ghét và yêu thích nhất?

Ở phần trên chúng ta nói về ngôn ngữ lập trình không phải hệ điều hành, nền tảng platform hay thư viện. Vậy đâu là công nghệ bị ghét bỏ nhất? Để bảo đảm tính chính xác, chúng tôi sẽ chỉ giới hạn những công nghệ được đề cập tới ít nhất 1.000 lần:

Những tag công nghệ nào bị ghét và yêu thích nhất.
Có vài ứng viên đến từ công nghệ Microsoft, đặc biệt là Internet Explorer và Visual Basic, cũng như “Microsoft” tag ("Apple" cũng có mặt trong danh sách này, mặc dù số ứng viên Không thích không đáng kể). Flash cũng góp mặt trong bàn tiệc “bị ghét nhất”. Các ngôn ngữ lâu đời như COBOL, Fortran và Pascal cũng xuất hiện.

Lưu ý rằng nó không ám chỉ việc các công nghệ trên quá tệ mà chỉ thể hiện thái độ không tích cực của các lập trình viên đối với chúng (ít nhất trong một nhóm lập trình viên, người mà chia sẻ công khai cảm xúc của họ).

Chúng ta cũng có thể nhắc đến những công nghệ phổ biến nhất, những thứ gần như không bao giờ bị ghét bỏ. (Lần này, vì các tag được đánh giá cao phổ biến hơn nên chúng tôi chỉ tập trung vào các công nghệ được đề cập đến ít nhất 10.000 lần.)

Những công nghệ phổ biến nhất

Git có thể khiến nhiều nhà phát triển cảm thấy thất vọng (chắc chắn có tôi) nhưng rất ít ai dám viết điều đó ra trên CV của họ vì đây là tag được ưa thích nhất trong Developer Stories. Ngôn ngữ lập trình R cũng xuất hiện và nó không chỉ là tag duy nhất gây tranh cãi. Machine learning cực kỳ được yêu mến bởi cộng đồng CNTT. Còn Python-3.X, CSS3 và HTML5 cho ta biết lập trình viên ít khi nhớ hoặc nói cụ thể phiên bản nào họ không thích trong công nghệ đó. Và như thường lệ, jQuery vẫn rất nổi tiếng trên Stackoverflow.

Xem thêm: 9 lý do bạn nên trang bị một chút kiến thức về HTML và CSS

Mạng lưới giữa các tag

Chúng tôi kết hợp tất cả các tag thành một mạng lưới nhằm thể hiện hệ sinh thái công nghệ phần mềm. Qua đó, bạn sẽ thấy rõ ràng hơn những phần nào bị ghét bỏ và gây tranh cãi.

Mạng lưới giữa các tag

Qua hình trên bạn có thể thấy rõ sự đối nghịch giữa các tag trong Microsoft (tập trung quanh C# và .NET), PHP (cùng với WordPress và Drupal) và lập trình phát triển di động (đặc biệt là Objective-C) cũng như trong tag về hệ điều hành với WindowsOSX.

Xem thêm: Lý do khiến ngôn ngữ lập trình C không bao giờ lỗi thời

Đối thủ

Nếu ai đó thích một tag cụ thể thì liệu có bất kỳ thẻ nào mà họ thường không thích hay không? Chúng ta có thể đo lường điều này bằng cách sử dụng một phi hệ số giữa sự xuất hiện của một tag cụ thể được thích. (Khi tính toán các tương quan này, chúng tôi chỉ xem những người không thích ít nhất một tag).

Đối thủ

Qua hình thể hiện sự cạnh tranh đối lập giữa: Linux và OSX vs Windows; Git vs SVN, vim vs emacs và R vs SAS. Những công nghệ này không hẳn là đối thủ mà chúng là 2 phương thức tiếp cận một mục tiêu khác nhau. Bên cạnh đó, chúng còn thể hiện sự phát triển từ công nghệ cũ lên công nghệ mới. (SVN được thay bằng Git, XML được thay bằng JSON, VB thay thế bằng C#). Điều này có ý nghĩa về những gì mọi người sẽ liệt kê trong hồ sơ; thông thường các nhà phát triển chỉ định rằng họ không muốn làm việc với thứ mà họ coi là lỗi thời.

Lời kết

Tôi không hề có hứng thú với “cuộc chiến ngôn ngữ lập trình” và cũng không có bất kỳ phán xét nào về người dùng chia sẻ công nghệ mà họ không muốn. Điều quan trọng là chúng ta có cái nhìn mở rộng và sẵn sàng học hỏi điều mới bởi dù sao, những gì chúng ta làm sẽ làm nên con người, chứ không phải những thứ ta ghét.

Nếu bạn quan tâm đến việc chia sẻ những công nghệ bạn thích và không thích cũng như tìm bước tiếp theo trong sự nghiệp của mình, bạn có thể tự tạo Developer Story dành cho nhà phát triển của mình.

Tác giả: David Robinson

Tham khảo thêm một số bài viết: 

Chúc các bạn vui vẻ!

Thứ Tư, 07/03/2018 15:18
51 👨 1.140