Tâm diểm tháng 11: Điều gì đã xảy ra với các ngôn ngữ kịch bản?

2biendongngonngu

Đã có một thời gian mà các ngôn ngữ gõ động, còn được gọi là ngôn ngữ kịch bản, là tương lai. Nó dễ viết, dễ chạy. Tại sao bạn cần phải khai báo một biến trước khi bạn có thể sử dụng nó? Tại sao chúng ta phải sử dụng tất cả các chú thích loại này trong suốt một thời gian? Do đó, các ngôn ngữ như Perl, Python, PHP và Ruby rất phổ biến trong thời gian đó.

Hôm nay là một câu chuyện khác. Chỉ có Python là vẫn còn mạnh mẽ, các ngôn ngữ kịch bản khác đang dần dần  ra khỏi top 20. Điều gì đã xảy ra? Hầu hết các lỗi trong ngôn ngữ kịch bản xảy ra trong thời gian chạy. Chúng xuất hiện khi chạy một chương trình. Mặc dù thực tế,  người ta có thể viết tất cả các unit tests để bù đắp cho vấn đề này nhưng nó vẫn còn khá nguy hiểm vì những lỗi này có thể xảy ra khi chạy ứng dụng trong sản xuất. Vì nhu cầu về chất lượng đang ngày càng cao, hầu như ngày nay không ai dám viết một hệ thống phần mềm quan trọng và lớn bằng một ngôn ngữ kịch bản. Ngay cả một ngôn ngữ kịch bản như JavaScript cũng không thể tránh khỏi trong khi làm chương trình web, buộc phải phát triển loại ngôn ngữ an toàn hơn. Microsoft đã giới thiệu một phiên bản JavaScript gọi là TypeScript và tất cả các loại khung như Angular và React đã được phát triển để bảo vệ ngôn ngữ (và thêm chức năng bổ sung).

Mặt khác, các ngôn ngữ đánh máy tĩnh phản ứng với mối đe dọa của các ngôn ngữ kịch bản bằng cách giảm tính hữu dụng kiểu của nó: tất cả bắt đầu bằng từ khóa “var” trong C #, sau đó là suy luận kiểu trong Java và các trình định danh tự động trong C ++. Đây luôn là cách mà các ngôn ngữ lớn tồn tại: bởi anh đào chọn các tính năng đẹp và đầy hứa hẹn của các đối thủ cạnh tranh.

Chỉ số Cộng đồng Lập trình TIOBE là một chỉ số về sự phổ biến của các ngôn ngữ lập trình. Chỉ mục được cập nhật mỗi tháng một lần. Xếp hạng dựa trên số kỹ sư có tay nghề trên toàn thế giới, các khóa học và các nhà cung cấp bên thứ ba. Các công cụ tìm kiếm phổ biến như Google, Bing, Yahoo !, Wikipedia, Amazon, YouTube và Baidu được sử dụng để tính toán xếp hạng. Điều quan trọng cần lưu ý là chỉ số TIOBE không phải là về ngôn ngữ lập trình tốt nhất hoặc ngôn ngữ mà hầu hết các dòng mã đã được viết.

Chỉ số này có thể được sử dụng để kiểm tra kỹ năng lập trình của bạn vẫn còn cập nhật hay đưa ra quyết định chiến lược về ngôn ngữ lập trình cần được thông qua khi bắt đầu xây dựng một hệ thống phần mềm mới. Định nghĩa của chỉ số TIOBE có thể được tìm thấy ở đây.

1
Các ngôn ngữ lập trình khác

Top 50 ngôn ngữ ngôn ngữ lập trình được liệt kê dưới đây. Báo cáo này chỉ mang tính tương đối, vì không loại trừ khả năng có ngôn ngữ lập trình nào đó bị mất. Nếu bạn thấy thiếu ngôn ngữ lập trình, vui lòng thông báo cho chúng tôi theo địa chỉ tpci@tiobe.com. Vui lòng kiểm tra tổng quan về tất cả ngôn ngữ lập trình mà chúng tôi đang theo dõi.

3cacngonngukhac
50 ngôn ngữ lập trình tiếp theo

Danh sách các ngôn ngữ sau đây biểu thị từ # 51 đến # 100. Vì sự khác biệt là tương đối nhỏ, các ngôn ngữ lập trình chỉ được liệt kê (theo thứ tự chữ cái).

  • 4th Dimension/4D, ABC, ActionScript, APL, Arc, AutoLISP, Bash, bc, Bourne shell, C shell, CFML, CL (OS/400), Clipper, Common Lisp, Elixir, Euphoria, F#, Forth, Haskell, Icon, IDL, Inform, Io, J, Korn shell, Ladder Logic, Maple, ML, MOO, MQL4, MUMPS, NATURAL, NXT-G, OCaml, OpenCL, OpenEdge ABL, Oz, PL/I, PostScript, PowerShell, Q, REXX, Ring, Scheme, Smalltalk, SPARK, SPSS, Standard ML, Stata, Tcl

Những thay đổi chỉ số TIOBE trong tháng 11

Tháng này đã có những thay đổi sau đây đối với định nghĩa của chỉ mục:

  • Boyd Stephen Smith Jr. đề nghị thêm Idris vào chỉ mục TIOBE như một ngôn ngữ lập trình mới. Idris bước vào chỉ mục ở vị trí 183.
  • Có rất nhiều mail đang cần được xử lý. Nên nếu mail của bạn chưa được phản hồi xin hãy kiên nhẫn.

Nhìn lại thứ hạng các ngôn ngữ lập trình qua các năm

Để xem hình ảnh lớn hơn, hãy tìm bên dưới vị trí của 10 ngôn ngữ lập trình hàng đầu trong nhiều năm trở lại đây. Xin lưu ý rằng đây là các vị trí trung bình cho một khoảng thời gian 12 tháng.

4
Bảng tổng kết này liệt kê tất cả ngôn ngữ lập trình đạt giải “Ngôn ngữ lập trình của năm”. Danh hiệu được trao cho ngôn ngữ lập trình có mức xếp hạng cao nhất trong một năm.

Các ngôn ngữ lập trình từng ngôi vương

5
Đề xuất thay đổi và sửa lỗi

  1. Ngoài việc “lập trình ngôn ngữ”, cần phải thử nghiệm các câu hỏi khác như “lập trình với <language>”, “ngôn ngữ phát triển” và “ngôn ngữ lập trình”.
  2. Thêm truy vấn cho các ngôn ngữ tự nhiên khác (ngoài tiếng Anh). Ý tưởng là bắt đầu với công cụ tìm kiếm Baidu của Trung Quốc. Điều này đã được thực hiện một phần và sẽ được hoàn thành trong vài tháng tới.
  3. Thêm một danh sách tất cả các yêu cầu về cụm từ tìm kiếm đã bị từ chối. Điều này là để giảm thiểu số lượng thư định kỳ về Rails, JQuery, JSP, v.v.
  4. Bắt đầu một chỉ mục TIOBE cho cơ sở dữ liệu, các hệ thống quản lý cấu hình phần mềm và các khuôn khổ ứng dụng.
  5. Một số công cụ tìm kiếm cho phép truy vấn các trang đã được thêm vào năm ngoái. Chỉ mục TIOBE chỉ nên theo dõi những trang được thêm vào gần đây.

Trên đây là top 5 yêu cầu thay đổi và sửa lỗi. Nếu bạn có bất kỳ gợi ý nào thêm đừng ngần ngại gửi một e-mail đến tpci@tiobe.com.

Câu hỏi Thường Gặp (FAQ)

Q: Tôi có được phép sử dụng TIOBE index trong trang web / bài thuyết trình / ấn phẩm của tôi không?

A: Có, điều kiện duy nhất là tham khảo nguồn gốc “www.tiobe.com”.

Q: Tôi có thể chỉ định một ngôn ngữ mới để được thêm vào TIOBE index như thế nào?

A: Nếu ngôn ngữ đáp ứng các tiêu chí được liệt kê (nghĩa là nó là Turing hoàn chỉnh và có một mục Wikipedia riêng cho thấy nó liên quan đến một ngôn ngữ lập trình) và nó là phổ biến (phổ biến hơn 5.000 lượt truy cập cho + “ngôn ngữ lập trình” Cho Google), sau đó vui lòng viết một e-mail đến tpci@tiobe.com.

Q: Tôi muốn có bộ dữ liệu hoàn chỉnh TIOBE index phải làm thế nào?

A: Chúng tôi đã dành rất nhiều nỗ lực để có được tất cả dữ liệu và giữ cho TIOBE index được cập nhật. Vì vậy, để có được toàn bộ dữ liệu cảu TIOBE index bạn cần chi một khoản phí là 5.000 US $ cho bộ dữ liệu hoàn chỉnh. Bộ dữ liệu chạy từ tháng 6 năm 2001 cho đến ngày hôm nay. Nó bắt đầu với 25 ngôn ngữ lập trình vào năm 2001, và bây giờ đo hơn 150 ngôn ngữ một lần một tháng. Dữ liệu có sẵn ở định dạng được phân cách bằng dấu phẩy. Vui lòng liên hệ sales@tiobe.com để biết thêm thông tin.

Q: Tại sao tính mức tối đa tính toán xếp hạng cho một nhóm, tại sao không tính tổng?

AVâng, bạn có thể làm điều đó theo cách nào đó và cả hai đều sai. Nếu bạn lấy tổng, sau đó bạn sẽ lập dữ liệu 2 lần. Nếu bạn tính tối đa, sau đó bạn bỏ lỡ sự khác biệt. Nên lwacj chọn cái nào? Giả sử một ai đó đưa ra một thuật ngữ tìm kiếm mới là 10% của bản gốc. Nếu bạn lấy tối đa, không có gì thay đổi. Nếu bạn tính tổng thì xếp hạng sẽ tăng 10%. Vì vậy, đây là động lực cho một số để đưa ra với tất cả các loại thuật ngữ tối nghĩa cho một ngôn ngữ. Đó là lý do tại sao chúng tôi quyết định lấy tối đa.

Cách thích hợp để giải quyết vấn đề này, tất nhiên sẽ lấy tổng và trừ đi giá trị trùng. Điều này sẽ làm tăng thêm một số truy vấn phải được thực hiện. Giả sử một ngôn ngữ có một nhóm 15 thuật ngữ, sau đó bạn phải thực hiện 32.768 truy vấn. Vì vậy, điều này dường như không thể hoặc là … Nếu ai đó có một giải pháp cho điều này, xin vui lòng cho chúng tôi biết.

Q: Điều gì đã xảy ra với Java vào tháng 4 năm 2004? Bạn có thay đổi phương pháp của bạn?

A: Không, chúng tôi đã không thay đổi phương pháp của chúng tôi vào thời điểm đó. Google đã thay đổi phương pháp của nó. Họ đã thực hiện một hành động quét chung để loại bỏ tất cả các loại trang web đã được đẩy lên. Hậu quả là, có các ngôn ngữ như Java và C + +. Để giảm thiểu các biến động như vậy trong tương lai, chúng tôi thêm hai công cụ tìm kiếm (MSN và Yahoo) vài tháng sau sự kiện này.

Q: Tại sao YouTube được sử dụng như một công cụ tìm kiếm cho chỉ mục TIOBE?

A: Trước hết, YouTube chiếm dưới 10% tất cả xếp hạng, vì vậy nó không có ảnh hưởng đến thống kê. YouTube đã được thêm vào làm thử nghiệm. Nó có đủ điều kiện cho TIOBE index vì có thứ hạng cao trên Alexa. YouTube là một nền tảng trẻ (do đó là chỉ số phổ biến) và có khá nhiều bài giảng, bài thuyết trình, mẹo lập trình và giới thiệu ngôn ngữ có sẵn trên YouTube.

Theo TIOBE