Існують швидше, ніж мови С.
Мови існують швидше, ніж C. Наприклад, Fortran, як уже згадувалося, справляється дуже добре, оскільки має набагато більш обмежені правила зшивання мов.
Існують також експериментальні збірки, як мови, які атакують С на фронті, де він використовується як мова асемблеру високого рівня, наприклад створення компілятора. Коли-небудь чули про С-- чи Януса? Але ці двоє були вбиті проектом LLVM.
Я б погодився, що APL або інші математичні мови видують C з води в спеціальні області додатків, оскільки вони мають вбудовану підтримку для технологічних одиниць Vector. Це те, що неможливо для C (а хлопці: НІ! Спеціалізовані оптимізовані бібліотеки з C-зв’язком не мають нічого спільного з C як мовою).
Також виробники процесора видалили всі матеріали, допомагаючи авторам-компіляторам на інших мовах - пам’ятаєте позначені арифметичні асемблерні коди для того, щоб зробити LISP реалізацією на SPARC швидко? Віднесені вітром.
І якщо ви перейдете від мікро-орієнтирів до розробки додатків, то для розробки додатків існують швидші мови. Мій особистий приклад тут завжди SmartEiffel. Він націлений на C, але використовує глобальну оптимізацію системи, що робить його швидшим, ніж C, у розробці реальних програм.
У цій галузі навіть прості неправильні або низькі абстракції можуть знищити всю мову. Оскільки C не пропонує високих абстракцій, більшість людей кажуть, що це проблема програмування, але це не так. Наприклад, подивіться на відсутність дженериків. У C ви опинитеся з повільними реалізаціями, такими як функція бібліотеки "qsort", яка може бути записана на швидкість швидше за допомогою дженериків (де виклик функції для порівняння ключів усувається).
Просто порівняйте виклик qsort на мегабайтному масиві ints з хорошою письмовою реалізацією, яка використовує доступ до масиву та вбудований оператор <<.