C/C++
Возможно ли создание ЯП производительнее Си?
У Си самый простой человечный синтаксис, поэтому его проще компилировать с максимальной оптимизацией. Возможно ли более производительное решение, на которое претендует Rust? Какие недостатки есть у Си по сравнению с Rust?
Из языков высокого уровня - маловероятно. Но если ты очень хорошо знаешь систему команд процессора, то можешь написать более производительный код на ассемблере.
Главная проблема C - безопасность кода. Находить ошибки в C-коде очень сложно и компилятор никак в этом никак не помогает.
Rust многократно сложнее C, но за счёт этого усложнения можно писать более безопасный код. По производительности скомпилированного кода Rust всё ещё уступает C (и, возможно, C++), но отставание достаточно небольшое.
Главная проблема C - безопасность кода. Находить ошибки в C-коде очень сложно и компилятор никак в этом никак не помогает.
Rust многократно сложнее C, но за счёт этого усложнения можно писать более безопасный код. По производительности скомпилированного кода Rust всё ещё уступает C (и, возможно, C++), но отставание достаточно небольшое.
Как человечность синтаксиса связана с оптимизацией кода компилятором?
Если производительность измеряется, как средняя скорострельность исполняемого модуля, какой в смысл в таком критерии
Человечность Си тоже на любителя (или на знатока)....
Совсем растерялся, а в чём вопрос-то? Сегодня каждая корпорация старается обзавестись своим синтаксисом. В каждой реализации есть свои особенности, но абсолютного лидера нет и быть не может
Если производительность измеряется, как средняя скорострельность исполняемого модуля, какой в смысл в таком критерии
Человечность Си тоже на любителя (или на знатока)....
Совсем растерялся, а в чём вопрос-то? Сегодня каждая корпорация старается обзавестись своим синтаксисом. В каждой реализации есть свои особенности, но абсолютного лидера нет и быть не может
ассемблер никто не отменял
> У Си самый простой человечный синтаксис, поэтому его проще компилировать с максимальной оптимизацией
Одно с другим не связано. И у Си далеко не самый простой синтаксис.
У современных компиляторов есть два блока:
- разбор исходного кода.
- генерация машинного кода.
Второй блок может быть один и тот же для разных языков программирования. Оптимизацией занимается главным образом второй блок.
https://ru.wikipedia.org/wiki/LLVM
Ещё иногда используется компиляция через промежуточный язык. Обычно это Си.
Одно с другим не связано. И у Си далеко не самый простой синтаксис.
У современных компиляторов есть два блока:
- разбор исходного кода.
- генерация машинного кода.
Второй блок может быть один и тот же для разных языков программирования. Оптимизацией занимается главным образом второй блок.
https://ru.wikipedia.org/wiki/LLVM
Ещё иногда используется компиляция через промежуточный язык. Обычно это Си.
>> Возможно ли создание ЯП производительнее Си?
нивозможно
Для справки Си не производительнее PHP
нивозможно
Для справки Си не производительнее PHP
Многое зависит от архитектуры программного кода
Кривой код даже на Си будет не эффективным
И немаловажную роль играет удобство, сомневаюсь что конечного пользователя будет волновать разница в N секунд/миллисекунд выполнения, если вы перепишете программу с Python/Java на Си
Зато на Си программа будет более громоздкой и сложной (если вы не гик, или не имеете за спиной много лет разработки на этом языке)
Упрощу мысль:
Понятность, безопасность и качество кода - важнее оптимизации
Это правило имеет свои рамки и свои исключения, о которых можно долго говорить
Если соблюдать критерии из правила выше и подобрать нужный язык под нужную задачу, то и оптимизация скорее всего не потребуется
Кривой код даже на Си будет не эффективным
И немаловажную роль играет удобство, сомневаюсь что конечного пользователя будет волновать разница в N секунд/миллисекунд выполнения, если вы перепишете программу с Python/Java на Си
Зато на Си программа будет более громоздкой и сложной (если вы не гик, или не имеете за спиной много лет разработки на этом языке)
Упрощу мысль:
Понятность, безопасность и качество кода - важнее оптимизации
Это правило имеет свои рамки и свои исключения, о которых можно долго говорить
Если соблюдать критерии из правила выше и подобрать нужный язык под нужную задачу, то и оптимизация скорее всего не потребуется
Похожие вопросы
- Сложен ли ЯП "C++"?
- Актуальность Си и Си++
- Изучение Си/Си++ дорожная карта?
- Си!!! БЕЗ УКАЗАТЕЛЕЙ, ЯЗЫК СИ
- Решить задачу на языке СИ
- Программа на СИ. Циклы с постусловием и предусловием
- Написать код на языке си
- Написать программу на языке Си
- Помогите пожалуйста написать программу на Си
- Как убрать пробел перед ответом (Си)