Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Качество компиляции или компилятор по-взрослому (http://forum.oszone.net/showthread.php?t=355069)

ALLY 21-03-2024 10:36 3025617

Качество компиляции или компилятор по-взрослому
 
ВБП!
Подскажите, дате линк на С/С++/С# код, компиляция которого наглядно показывает качество компилятора.
Пллизз.

shisik 22-03-2024 03:23 3025648

А что такое качество? А еще это разные языки и разные компиляторы. К тому же, C# компилируется в байткод и выполняется в виртуальной машине (как джава), так что ставить его в один ряд с C и C++ некорректно.

ALLY 22-03-2024 09:58 3025655

Цитата:

Цитата shisik
А что такое качество? »

Качество компиляции это ВСЁ.
Не имеет значения какой язык.
Для чего вообще существует кодирование?
Чтобы в результате получился "мягкий" продукт, продукция.
А у продукции имеются характеристики - повторяемость, производительность, объём кода и др.
Зачем популярные компиляторы имеют в исходниках сотни тысяч строк кода?

shisik 22-03-2024 20:18 3025667

ALLY, вы чего-то путаете. Качество кода зависит от прямоты рук того, кто его пишет, а не от компилятора.

yurfed 22-03-2024 20:26 3025668

Цитата:

Цитата ALLY
компиляция которого наглядно показывает качество компилятора. »

А нет таких. Зависит скорей от исходника. Можно выстроить и в одну строку, а можно и кулак соплями обматать, при этом результат хоть и будет одним и тем же, но алгоритм построения самой программы - совсем разным.
Компилятор ни чем не поможет.
Смотри лучше на сам алгоритм написанного кода.
ЗЫ Поддержу shisikа. Не заметил что добавлено им уже всё то, что сам сказал.

Grabber2006 22-03-2024 20:52 3025669

Современные компиляторы оптимизируют код. Например, убирают выделение памяти под неиспользуемые переменные, убирают лишние повторы в циклах. Но, в основном, зависит от программиста. Можно такое понаписать...

Сейчас нейросети прекрасно справляются с написанием кода. Вопрос времени, когда программисту надо будет только грамотно составить ТЗ.

ALLY 23-03-2024 01:17 3025671

Цитата:

Цитата shisik
Качество кода зависит от прямоты рук того, кто его пишет, а не от компилятора. »

Качество какого "мягкого" продукта будет выше:
1 Компиляция на Бэйсике?
2 Компиляция на Ассемблере?
3 Компиляция на Си?
4 Компиляция на D?
5 Компиляция на Digital Mars?
6 Компиляция на Go?
7 Компиляция на V?

Цитата:

Цитата yurfed
А нет таких. »

Похоже, что так. А я то губищу раскатал.

Цитата:

Цитата Grabber2006
когда программисту надо будет только грамотно составить ТЗ. »

Сначала эту самую сеть потребуется научить.
Сама по себе нейросеть, тупак-тупаком.
Представляете, какой объем знаний потребуется?

ПС.
Значит вы хором говорите, что плевать на какой "железяке" код воплощается?
Если код создал "пряморукий" кодер, то всё будет ОК?
Даже если код 64-рядный, а "железяка" 16-рядная?

shisik 23-03-2024 01:26 3025672

Цитата:

Цитата ALLY
Качество какого "мягкого" продукта будет выше:
1 Компиляция на Бэйсике?
2 Компиляция на Ассемблере?
3 Компиляция на Си?
4 Компиляция на D?
5 Компиляция на Digital Mars?
6 Компиляция на Go?
7 Компиляция на V? »

Постановка вопроса некорректна. На любом языке можно написать хорошо, а можно написать плохо. Соответственно качество будет выше там, где написано хорошо. А еще решение реальной задачи с использованием разных языков программирования подразумевает еще и использование разных библиотек и фреймворков, так что вопрос тем более некорректен.

Цитата:

Цитата ALLY
Значит вы хором говорите, что плевать на какой "железяке" код воплощается?
Если код создал "пряморукий" кодер, то всё будет ОК?
Даже если код 64-рядный, а "железяка" 16-рядная? »

Совершенно верно. Ведь если программист будет запускать 64-битное приложение на 16-битной платформе, то он точно дурак.

ALLY 23-03-2024 01:58 3025673

shisik,

Хорошо, если главное это "пряморукость", хотя не представлю как физически можно набрать код шлёпая несгибаемыми ладонями по клаве?
Тогда почему значимые компании обзавелись собственными компиляторами?
У Интэл - DPC++ SYCL, у Гугла - LLVM Clang, у Виндовс - Рослин?
Получается, что они "криворукие".

shisik 23-03-2024 02:53 3025674

Цитата:

Цитата ALLY
Тогда почему значимые компании обзавелись собственными компиляторами? »

А еще они новые языки создают, и что? В мире вообще мало что не имеет альтернатив. Даже архитектур процессоров существует уйма, и синтаксисов ассемблера есть минимум два. Хотя казалось бы: пользуйтесь тем, что уже есть. Но нет, велосипедостроительством любят заниматься очень многие. А потом продавать это дело.

Только при чём здесь криворукость? Дай кодеру с прямыми руками любые инструменты - и он сделает хорошо (в рамках той задачи, для чего подходят эти инструменты). А криворукому ничего не поможет, часто даже ментор уровня "гуру", не говоря уже об инструментах.

ALLY 23-03-2024 10:48 3025681

shisik,

Продолжаем разговор.
Скажем у вас имеется Надёжный-Проверенный-Компилятор.
По ходу жизни вам потребовалось изменить ваш НПК, что-то к нему "прикрутив", возможно языковой сервер.
Вы продолжите считать ваш НПК таковым?
Как это проверить?
Можно дважды запустить компиляцию и потом сравнить получившиеся бинарники.
А это время и ресурсы.
Тут логично, после изменения НПК запустить на компиляцию каноническо-образцовый код и проверить результат.
Если он отличается от более ранних результатом, то ветвление:
Отказаться от предложенной работы
Учесть результат при написании заказанного кода.
Якши?

shisik 23-03-2024 17:00 3025688

ALLY, компилятор какого языка и что значит "прикрутить" что-то? Зачем? Компилятор есть компилятор, он получает на входе текст пррограммы на ЯП, а на выходе - объектный файл. К слову, испольлняемый файл, как и библиотеки, создаёт не компилятор, а линковщик из вот этих объктных файлов. Так куда вы чего-то прикрутить предлагаете?

ALLY 23-03-2024 19:03 3025693

Цитата:

Цитата shisik
Зачем? Компилятор есть компилятор, »

Вы наивный человек.
У последнего Лязга++ номер 18.1.2.
Как вы думаете почему?
Может быть потому, что к нему постоянно "прикручивают и прикручивают"?
Пытаясь повысить качество компиляции?

shisik 23-03-2024 20:13 3025695

ALLY, что-то вы всё в одну кучу валите. Выпуск новой версии разработчиком - это их дело. Сами языки тоже, между прочим, на месте не стоят. А вот что вы как пользователь прикручивать собираетесь?

ALLY 23-03-2024 23:18 3025697

Цитата:

Цитата shisik
что вы как пользователь »

А я не пользователь.
Я автор.

shisik 23-03-2024 23:33 3025698

Цитата:

Цитата ALLY
А я не пользователь.
Я автор. »

Автор чего? Компилятора? Чего-то очень сильно не похоже, столько косяков в элементарных вещах, начиная от сваливания в одну кучу разных языков. Хотя если вспомнить Попова и Бабушкина, то почему бы и нет?

ALLY 24-03-2024 01:28 3025701

shisik,

Спасибо за содержательную беседу.
Но поскольку искомый мною код проверки качества компиляции в природе отсутствует, прощевайте.
Пойду создавать.
Начать следует с повторяемости и воспроизводимости.
С индукции нисходящей левосторонней рекурсии.

shisik 24-03-2024 02:00 3025702

ALLY, вы лучше начните с чего-то совсем простого. Ну там с классического C например. Попробуйте добиться чтоб оно хотя бы в одной ОС хотя бы на одном процессоре работало без ошибок. Ну чтоб хотя бы hello world компилировался и запускался. И попробовав, через несколько недель забросите это дело...

Тут важно, чтоб не получилось как в той истории про олимпиаду по программированию, когда в конкурсе архиваторов победила программа копирования. Остальные "архиваторы" просто были не в состоянии распаковать то, что запаковали.

ALLY 24-03-2024 13:24 3025706

Цитата:

Цитата shisik
И попробовав, через несколько недель забросите это дело... »

Дорогу осилит идущий.
Года через три кубитовая информатика вытеснит всё ныне имеющееся.
Пока у них всё разваливается после тридцатого кубита, но они бодро говорят о 50-ти кубитах.
Все ваши знания, все ваши умения превратятся в ничто, в блоб.
Кто не успел, тот опаздун.
Лет пятнадцать назад, я видел на форуме фото молодого человека стоящего на обочине, с картонкой в руках.
На картонке надпись : Программирую на С.
Дорогу осилит идущий.

shisik 24-03-2024 18:32 3025715

Мне нечего добавить к тому, что я уже сказал. Сколько уже таких "авторов" было? Я создам лучшую в мире операционную систему, язык программирования, архиватор, 3D движок, компилятор (нужное подчеркнуть). И где оно всё? В 99% случаев бросают через пару недель, в оставшемся 1% у особо упоротых получается что-то едва работающее и ни разу не похожее на "лучшее в мире". Почему так происходит? Потому что эффект Даннинга-Крюгера.

lxa85 15-04-2024 22:09 3026538

ALLY, прочел и ничего не понял.
Поддержу попытки shisik дать вам в руки книгу и поисковые инструменты.
По поводу сравнения компиляторов -- https://godbolt.org/
Выбрать язык, выбрать компилятор, выбрать параметры оптимизации. Можно использовать свой код.
Более наглядного сайта мне пока не встречалось.


Время: 11:03.

Время: 11:03.
© OSzone.net 2001-