Tại sao C lại có chỉ số phổ biến TIOBE rất cao, trong khi C ++ chỉ ở dưới đây, nhưng không phổ biến? [đóng cửa]


18

Tôi không thể nghĩ về điều này. Nếu C được sử dụng nhiều, nhưng C không phải là C ++, ai đó có thể giải thích cho tôi những lý do quan trọng nhất khiến C được sử dụng nhiều hơn C ++ không? Trường hợp tất cả các mã C này được viết cho?

Đây có phải là về lĩnh vực công nghiệp phụ thuộc nhiều vào lập trình mệnh lệnh nhưng không thể hỗ trợ chi phí thực hiện hoặc điều chỉnh trình biên dịch C ++? Có nhiều tin tặc không?

Tiobe có liên quan không? Tôi chưa bao giờ vấp vào bất kỳ bài viết hay bài bình luận nào hoặc giải thích cách xếp hạng của tiobe đơn lẻ, và những gì nó thực sự nói về những gì ngành công nghiệp thích, và những gì nó có thể nói về những gì ngành công nghiệp thực sự sử dụng, để xác định nhu cầu thực sự của ngành. Thật khó để giải thích.

Tôi chỉ thấy kỳ lạ là nhiều công ty muốn các công việc C #, php, java chứ không phải các công việc C hoặc C ++ (chỉ liên quan đến thất nghiệp của tôi và các cuộc phỏng vấn của tôi ở đây) ngay cả khi các công việc C / C ++ đó là tào lao. Tôi sẽ lấy những cái đó thay thế. Hay điều này có nghĩa là sự cường điệu ngôn ngữ đóng một vai trò mạnh mẽ ở đây?


18
Is tiobe relevant ?Nhiều người nghĩ rằng nó không phải là.
Simon Bergot

1
Tôi sẽ chỉ sử dụng nó để đánh giá mười ngôn ngữ hàng đầu có thể đang được sử dụng. Thứ hạng trên chỉ số tiobe không liên quan đến sự nổi tiếng thực sự của họ.
Martin York

4
Rất nhiều chương trình nhúng được thực hiện trong C. Nó không chỉ là về chi phí thực hiện / điều chỉnh trình biên dịch C ++; đó là chi phí để chạy C ++ trên thiết bị nhúng.
Velociraptors

5
C là cách ít phức tạp hơn C ++.
fanl

8
Chỉ số TIOBE là một phép đo thú vị; rất vui vì tất cả chúng ta đều là kỹ sư và chúng tôi thấy các phép đo rất thú vị bởi vì chúng tôi có thể lập biểu đồ cho chúng và tưởng tượng các dự đoán và kết luận dựa trên chúng. Nhưng chúng ta cũng biết những thứ rộng và phức tạp như việc sử dụng thực tế và mức độ phổ biến của ngôn ngữ chưa phải là những thứ chúng ta có khả năng đo lường với bất kỳ độ chính xác nào cả. Vì vậy, niềm vui của TIOBE, nhưng nơi nó dường như không phù hợp với thực tế, có lẽ nó không.
Jimmy Hoffa

Câu trả lời:


16

Chỉ mục TIOBE dựa trên lượt truy cập của công cụ tìm kiếm - xem http://www.tiobe.com/index.php/content/apersinfo/tpci/tpci_def định.htmlm

Điều này có nghĩa là (ví dụ, về lý thuyết) bạn có thể có một ngôn ngữ mà mọi người đang nói về nó có rất nhiều lượt truy cập và được đánh giá cao mặc dù không ai sử dụng nó và bạn có thể có một ngôn ngữ mà nhiều người đang sử dụng nhưng không có nhiều trang web / lượt truy cập để nó được xếp hạng thấp. Nó thậm chí không tính đến những gì các trang web chứa (ví dụ, hãy tưởng tượng một triệu trang web nói một ngôn ngữ nhất định là khủng khiếp, tất cả đều làm tăng chỉ số TIOBE của ngôn ngữ).

Về lý thuyết, các yếu tố trọng số sẽ cần được áp dụng để có được mức sử dụng từ các lần truy cập web / chỉ số TIOBE. Ví dụ, đối với ngôn ngữ phức tạp như C ++ (nơi mọi người sử dụng có thể có một hoặc nhiều sách tham khảo) khả năng sử dụng có thể cao hơn so với chỉ số TIOBE chỉ ra; và đối với các ngôn ngữ chủ yếu được sử dụng để phát triển web (trong đó hầu hết các tài liệu thường trực tuyến và người dùng có nhiều khả năng tạo trang web), mức độ sử dụng có thể thấp hơn so với chỉ số TIOBE chỉ ra.

Tất nhiên, hầu như không thể xác định chính xác trọng số phù hợp cho từng ngôn ngữ; và do đó, chỉ số TIOBE chỉ có thể được coi là một xấp xỉ thô của việc sử dụng ở mức tốt nhất.


32
"Ví dụ, hãy tưởng tượng một triệu trang web nói rằng một ngôn ngữ nhất định là khủng khiếp, tất cả đều làm tăng chỉ số TIOBE của ngôn ngữ" : Cuối cùng tôi cũng hiểu tại sao PHP lại nằm trong top 10.
Arseni Mourzenko

4
+1 và tôi cũng nghi ngờ rằng một số ngôn ngữ nhất định có xu hướng được sử dụng nhiều hơn cho công việc thử nghiệm / cuối tuần và những ngôn ngữ này sẽ có số lượng tìm kiếm không tương xứng cho mức độ sử dụng của chúng (ví dụ: nếu bạn không sử dụng nó mỗi ngày, bạn có xu hướng để tìm kiếm thêm). Điều đó nói rằng, tôi không nghĩ rằng lập luận đó có thể áp dụng đặc biệt cho C. Có liên quan hơn có thể là nhiều tìm kiếm C ++ cuối cùng được phân loại là C do sự hiểu lầm / lười biếng của nhà phát triển.
Daniel B

16

"Nếu C không được sử dụng nhiều" - Tôi sẽ quan tâm xem liệu có ai có thể sao lưu điều này không.

Tất cả những điều sau đây được viết bằng C thuần túy: -

  • nhân Linux.
  • kho git.
  • Cơ sở dữ liệu nguồn mở MySql, PostgreSQL, SQLite.
  • Cơ sở dữ liệu độc quyền của Oracle, DB2, Informix, SYBASE.
  • Khối lớn của hệ điều hành Windows.
  • Máy chủ web Apache, máy chủ web ngnix.
  • Các triển khai tham chiếu ngôn ngữ Perl, Python, PHP, Lua.

    Nói chung, tôi muốn nói rằng có nhiều chương trình C được thực thi thường xuyên hơn bất kỳ ngôn ngữ nào khác.


3
Khá nhiều tựa game AAA nữa.
Alan B

3
Đó là những dịch vụ cốt lõi, được mã hóa bởi số ít các lập trình viên lành nghề. Thế còn 'mã đầu cuối' thì sao? Các ứng dụng cho người dùng? Khi các dịch vụ cốt lõi mà bạn đang nói đến được mã hóa và gỡ lỗi, chúng sẽ chạy, nhưng bạn không làm gì chỉ bằng cách sử dụng chúng.
jokoon

2
Thêm vào đó, hầu hết các điều khiển công nghiệp, hầu hết các hệ thống nhúng, ngành công nghiệp ô tô. Cốt lõi của mọi thứ được viết trước năm 1995 (Đó không phải là Cobol hay Ada) .....
mattnz

1
Nitpick: Trong số 4 triển khai Python ở cấp độ sản xuất, 3 không được viết bằng C. Trong ba triển khai PHP ở cấp độ sản xuất, 2 không được viết bằng C. Phần lớn các triển khai Git không được viết bằng C.
Jörg W Mittag

@jokoon - Rõ ràng 'mã mặt trước' không phải là một yêu cầu có trong danh sách này. Nếu mục tiêu của bạn là tìm ra ngôn ngữ nào để học việc làm, có lẽ một trang web việc làm sẽ tốt hơn?
JeffO
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.