Качество компиляции или компилятор по-взрослому
ВБП!
Подскажите, дате линк на С/С++/С# код, компиляция которого наглядно показывает качество компилятора. Пллизз. |
А что такое качество? А еще это разные языки и разные компиляторы. К тому же, C# компилируется в байткод и выполняется в виртуальной машине (как джава), так что ставить его в один ряд с C и C++ некорректно.
|
Цитата:
Не имеет значения какой язык. Для чего вообще существует кодирование? Чтобы в результате получился "мягкий" продукт, продукция. А у продукции имеются характеристики - повторяемость, производительность, объём кода и др. Зачем популярные компиляторы имеют в исходниках сотни тысяч строк кода? |
ALLY, вы чего-то путаете. Качество кода зависит от прямоты рук того, кто его пишет, а не от компилятора.
|
Цитата:
Компилятор ни чем не поможет. Смотри лучше на сам алгоритм написанного кода. ЗЫ Поддержу shisikа. Не заметил что добавлено им уже всё то, что сам сказал. |
Современные компиляторы оптимизируют код. Например, убирают выделение памяти под неиспользуемые переменные, убирают лишние повторы в циклах. Но, в основном, зависит от программиста. Можно такое понаписать...
Сейчас нейросети прекрасно справляются с написанием кода. Вопрос времени, когда программисту надо будет только грамотно составить ТЗ. |
Цитата:
1 Компиляция на Бэйсике? 2 Компиляция на Ассемблере? 3 Компиляция на Си? 4 Компиляция на D? 5 Компиляция на Digital Mars? 6 Компиляция на Go? 7 Компиляция на V? Цитата:
Цитата:
Сама по себе нейросеть, тупак-тупаком. Представляете, какой объем знаний потребуется? ПС. Значит вы хором говорите, что плевать на какой "железяке" код воплощается? Если код создал "пряморукий" кодер, то всё будет ОК? Даже если код 64-рядный, а "железяка" 16-рядная? |
Цитата:
Цитата:
|
shisik,
Хорошо, если главное это "пряморукость", хотя не представлю как физически можно набрать код шлёпая несгибаемыми ладонями по клаве? Тогда почему значимые компании обзавелись собственными компиляторами? У Интэл - DPC++ SYCL, у Гугла - LLVM Clang, у Виндовс - Рослин? Получается, что они "криворукие". |
Цитата:
Только при чём здесь криворукость? Дай кодеру с прямыми руками любые инструменты - и он сделает хорошо (в рамках той задачи, для чего подходят эти инструменты). А криворукому ничего не поможет, часто даже ментор уровня "гуру", не говоря уже об инструментах. |
shisik,
Продолжаем разговор. Скажем у вас имеется Надёжный-Проверенный-Компилятор. По ходу жизни вам потребовалось изменить ваш НПК, что-то к нему "прикрутив", возможно языковой сервер. Вы продолжите считать ваш НПК таковым? Как это проверить? Можно дважды запустить компиляцию и потом сравнить получившиеся бинарники. А это время и ресурсы. Тут логично, после изменения НПК запустить на компиляцию каноническо-образцовый код и проверить результат. Если он отличается от более ранних результатом, то ветвление: Отказаться от предложенной работы Учесть результат при написании заказанного кода. Якши? |
ALLY, компилятор какого языка и что значит "прикрутить" что-то? Зачем? Компилятор есть компилятор, он получает на входе текст пррограммы на ЯП, а на выходе - объектный файл. К слову, испольлняемый файл, как и библиотеки, создаёт не компилятор, а линковщик из вот этих объктных файлов. Так куда вы чего-то прикрутить предлагаете?
|
Цитата:
У последнего Лязга++ номер 18.1.2. Как вы думаете почему? Может быть потому, что к нему постоянно "прикручивают и прикручивают"? Пытаясь повысить качество компиляции? |
ALLY, что-то вы всё в одну кучу валите. Выпуск новой версии разработчиком - это их дело. Сами языки тоже, между прочим, на месте не стоят. А вот что вы как пользователь прикручивать собираетесь?
|
Цитата:
Я автор. |
Цитата:
|
shisik,
Спасибо за содержательную беседу. Но поскольку искомый мною код проверки качества компиляции в природе отсутствует, прощевайте. Пойду создавать. Начать следует с повторяемости и воспроизводимости. С индукции нисходящей левосторонней рекурсии. |
ALLY, вы лучше начните с чего-то совсем простого. Ну там с классического C например. Попробуйте добиться чтоб оно хотя бы в одной ОС хотя бы на одном процессоре работало без ошибок. Ну чтоб хотя бы hello world компилировался и запускался. И попробовав, через несколько недель забросите это дело...
Тут важно, чтоб не получилось как в той истории про олимпиаду по программированию, когда в конкурсе архиваторов победила программа копирования. Остальные "архиваторы" просто были не в состоянии распаковать то, что запаковали. |
Цитата:
Года через три кубитовая информатика вытеснит всё ныне имеющееся. Пока у них всё разваливается после тридцатого кубита, но они бодро говорят о 50-ти кубитах. Все ваши знания, все ваши умения превратятся в ничто, в блоб. Кто не успел, тот опаздун. Лет пятнадцать назад, я видел на форуме фото молодого человека стоящего на обочине, с картонкой в руках. На картонке надпись : Программирую на С. Дорогу осилит идущий. |
Мне нечего добавить к тому, что я уже сказал. Сколько уже таких "авторов" было? Я создам лучшую в мире операционную систему, язык программирования, архиватор, 3D движок, компилятор (нужное подчеркнуть). И где оно всё? В 99% случаев бросают через пару недель, в оставшемся 1% у особо упоротых получается что-то едва работающее и ни разу не похожее на "лучшее в мире". Почему так происходит? Потому что эффект Даннинга-Крюгера.
|
ALLY, прочел и ничего не понял.
Поддержу попытки shisik дать вам в руки книгу и поисковые инструменты. По поводу сравнения компиляторов -- https://godbolt.org/ Выбрать язык, выбрать компилятор, выбрать параметры оптимизации. Можно использовать свой код. Более наглядного сайта мне пока не встречалось. |
Время: 23:54. |
Время: 23:54.
© OSzone.net 2001-