Dlaczego C jest tak wysoki w indeksie popularności TIOBE, podczas gdy C ++ też jest tutaj poniżej, ale nie tak popularny? [Zamknięte]

18

Nie mogę się tym zająć. Jeśli C jest tak często używane, ale C nie jest C ++, czy ktoś może mi wyjaśnić najważniejsze powody, dla których C jest częściej używany niż C ++? Gdzie jest napisany cały ten kod C?

Czy chodzi o sektor przemysłowy, który w dużej mierze opiera się na koniecznym programowaniu, ale nie może ponieść kosztów wdrożenia lub strojenia kompilatorów C ++? Czy jest tylu hakerów jądra?

Czy tiobe jest istotny? Nigdy nie natknąłem się na żaden artykuł, ani nie komentowałem ani nie tłumaczyłem, jak wygląda ranking singla tiobe i co tak naprawdę mówi o tym, co lubi przemysł, i co może powiedzieć o tym, co przemysł faktycznie wykorzystuje, aby wskazać prawdziwe potrzeby branży. Trudno to wyjaśnić.

Po prostu uważam to za dziwne, że wiele firm chce pracy w C #, php, java, a nie w C lub C ++ (po prostu odnosząc się do mojego bezrobocia i moich wywiadów tutaj), nawet jeśli te prace w C / C ++ są badziewne. Zamiast tego wziąłbym je. Czy to oznacza, że ​​hype języka odgrywa tutaj ważną rolę?

żart
źródło
18
Is tiobe relevant ?Wiele osób uważa, że ​​tak nie jest.
Simon Bergot,
1
Użyłbym go tylko do oceny dziesięciu najważniejszych języków, które prawdopodobnie są w użyciu. Pozycja w indeksie tiobe nie jest związana z ich prawdziwą popularnością.
Martin York,
4
Wiele osadzonych programów odbywa się w C. Nie chodzi tylko o koszt wdrożenia / strojenia kompilatorów C ++; to koszt uruchomienia C ++ na urządzeniu wbudowanym.
Velociraptors
5
C jest znacznie mniej złożony niż C ++.
fanl
8
Indeks TIOBE jest zabawnym pomiarem; dobrze się bawimy, ponieważ wszyscy jesteśmy inżynierami, a pomiary są dla nas zabawne, ponieważ możemy je sporządzać na wykresach i wyobrażać sobie oparte na nich przewidywania i wnioski. Ale wiemy również, że rzeczy tak szerokie i złożone, jak faktyczne użycie i popularność języka nie są jeszcze rzeczami, które jesteśmy w stanie zmierzyć z jakąkolwiek dokładnością. Więc TIOBE jest fajne, ale tam, gdzie wydaje się, że nie jest zgodne z rzeczywistością, prawdopodobnie nie.
Jimmy Hoffa

Odpowiedzi:

16

Indeks TIOBE opiera się na wynikach wyszukiwania w wyszukiwarkach - patrz http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm

Oznacza to, że (na przykład teoretycznie) możesz mieć język, o którym wszyscy mówią, który ma wiele trafień i otrzymuje wysoką ocenę, nawet jeśli nikt go nie używa, i możesz mieć język, którego używa wiele osób ale nie ma wielu stron / hitów, więc dostaje niską ocenę. Nie bierze nawet pod uwagę zawartości stron internetowych (na przykład wyobraź sobie milion stron internetowych, które mówią, że dany język jest okropny, że wszystkie zwiększają indeks języka TIOBE).

Teoretycznie należałoby zastosować współczynniki ważenia, aby uzyskać wykorzystanie z trafień internetowych / indeksu TIOBE. Na przykład w przypadku złożonego języka, takiego jak C ++ (gdzie każdy, kto go używa, najprawdopodobniej ma jedną lub więcej podręczników), użycie może być wyższe niż wskazuje indeks TIOBE; a w przypadku języków używanych głównie do tworzenia stron internetowych (gdzie większość dokumentacji jest zazwyczaj dostępna w Internecie, a użytkownicy są bardziej skłonni do tworzenia stron internetowych), użycie prawdopodobnie będzie niższe niż wskazuje indeks TIOBE.

Oczywiście właściwie niemożliwe jest dokładne określenie odpowiednich wag dla każdego języka; dlatego też indeks TIOBE można w najlepszym razie uznać za przybliżone przybliżenie zużycia.

Brendan
źródło
32
„na przykład wyobraź sobie milion stron internetowych, które mówią, że określony język jest okropny, że wszystkie zwiększają indeks języka TIOBE” : W końcu rozumiem, dlaczego PHP znajduje się w pierwszej dziesiątce.
Arseni Mourzenko
4
+1, a także podejrzewam, że niektóre języki są częściej używane do eksperymentów / pracy weekendowej, a języki te będą miały nieproporcjonalnie dużą liczbę wyszukiwań pod względem ich poziomu wykorzystania (tj. Jeśli nie będziesz go używać każdego dnia, zwykle szukać więcej). To powiedziawszy, nie sądzę, aby ten argument miał szczególne zastosowanie do C. Bardziej odpowiednie może być to, że wiele wyszukiwań w C ++ kończy się sklasyfikowaniem jako C z powodu nieporozumień / lenistwa programistów.
Daniel B
16

„Jeśli C nie jest tak często używane” - byłbym zainteresowany, aby sprawdzić, czy ktoś mógłby to zrobić.

Wszystkie poniższe są napisane w czystym C: -

  • jądro Linux.
  • repozytorium git.
  • Otwarte źródła MySql, PostgreSQL, SQLite.
  • Własne bazy danych Oracle, DB2, Informix, SYBASE.
  • Duże fragmenty systemu operacyjnego Windows.
  • Serwer WWW Apache, serwer WWW ngnix.
  • Implementacje referencyjne języka Perl, Python, PHP, Lua.

    Podsumowując, powiedziałbym, że jest więcej programów C, które są wykonywane częściej niż jakikolwiek inny język.

James Anderson
źródło
3
Sporo też tytułów gier AAA.
Alan B
3
Są to podstawowe usługi, kodowane przez garstkę wykwalifikowanych programistów. Co z „kodem front-end”? Aplikacje dla użytkowników? Gdy te podstawowe usługi, o których mówisz, zostaną zakodowane i debugowane, zostaną uruchomione, ale nie będziesz nic robił, korzystając z nich.
Jokoon
2
Dodaj do tego większość kontroli przemysłowej, większość systemów wbudowanych, przemysł motoryzacyjny. Rdzeń wszystkiego, co napisano przed 1995 r. (To nie jest Cobol ani Ada) .....
Mattnz
1
Nitpick: Z 4 implementacji Python na poziomie produkcyjnym 3 nie są napisane w C. Z trzech implementacji PHP na poziomie produkcyjnym 2 nie są napisane w C. Większość implementacji Git nie jest napisana w C.
Jörg W Mittag
@ jokoon - Oczywiście „kod front-end” nie jest wymagany na tej liście. Jeśli Twoim celem jest dowiedzieć się, jakich języków uczyć się w celu znalezienia pracy, może strona z ofertą pracy byłaby lepsza?
JeffO