Size: a a a

Compiler Development

2020 April 07

АЕ

Артур Ефимов in Compiler Development
Давай пример
источник

p

polunin.ai in Compiler Development
Алексей
почему? вполне себе программирование
я бы это назвал "костыливанием", "бойлерплейством" и "переписыванием"
источник

АЕ

Артур Ефимов in Compiler Development
не дерзи
источник

А

Алексей in Compiler Development
polunin.ai
я бы это назвал "костыливанием", "бойлерплейством" и "переписыванием"
а я бы не назвал
источник

p

polunin.ai in Compiler Development
но никак не "программировнаием"
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Артур Ефимов
Да, именно это и есть программирование. Императивное программирование. Так работает процессор.
Мне кажется, это очень узкий взгляд который в дальнейшем очень мешает.
источник

ЗП

Зигохистоморфный Препроморфизм in Compiler Development
Артур Ефимов
Давай пример
та любой фп и не фп, любой язык с зависимыми типами, пруверы, и еще всякие
источник

Т8

Т-34 85 in Compiler Development
Alexander Tchitchigin
При чём тут снова "все подряд"? Разговор начался с того, что человек (предположительно, неизвестного пола, возраста и бэкграунда) пришёл в чат профессиональных программистов и сам спросил как наиболее эффективно научиться программировать? Как минимум, понятно, что человек уже замотивирован. Поэтому странно давать ответ в духе "а ты сначала научись как-нибудь говнокодить, а потом как-нибудь сам разберёшься, если не дурак".
Извините, что встреваю, но не думаю, что многим доступно сразу "писать как надо". Без набитых шишек не будет понимания, а для набивания придётся говнокодить.
источник

ЗП

Зигохистоморфный Препроморфизм in Compiler Development
та даже человеку всю жизнь писавшему на антайпед со статической типизацие будет не очень легко
источник

AT

Alexander Tchitchigin in Compiler Development
Т-34 85
Извините, что встреваю, но не думаю, что многим доступно сразу "писать как надо". Без набитых шишек не будет понимания, а для набивания придётся говнокодить.
Всем дано. Для этого и пишут нормальные учебные материалы. То, что ни у Вас, ни у меня их не было, и пришлось "набивать шишки" — не есть норма и единственно верный путь.
источник

IJ

Igor 🐱 Jirkov in Compiler Development
К компиляторам. Представим, что мы делаем учебный компилятор в машинный код. Как бы вы предложили делать instruction selection из промежуточного IR ?
источник

IJ

Igor 🐱 Jirkov in Compiler Development
Исходным языком пускай будет условный While с процедурами
источник

PS

Peter Sovietov in Compiler Development
Igor 🐱 Jirkov
К компиляторам. Представим, что мы делаем учебный компилятор в машинный код. Как бы вы предложили делать instruction selection из промежуточного IR ?
Как у Аппеля — maximal munch. Пример: https://github.com/jordanly/SML-Tiger-Compiler/blob/master/insn/codegen.sml
источник

PS

Peter Sovietov in Compiler Development
Артур Ефимов
Да, именно это и есть программирование. Императивное программирование. Так работает процессор.
Современный процессор не так работает. Поэтому оптимизирующие компилятор транслируют код в "функциональное" промежуточное представление, кстати говоря. Это делают и продвинутые Оберон-компиляторы.
источник

А

Алексей in Compiler Development
Peter Sovietov
Современный процессор не так работает. Поэтому оптимизирующие компилятор транслируют код в "функциональное" промежуточное представление, кстати говоря. Это делают и продвинутые Оберон-компиляторы.
современный процессор разве не императивный?
источник

PS

Peter Sovietov in Compiler Development
Алексей
современный процессор разве не императивный?
"Современный процессор" — растяжимое понятие. Сейчас снова наблюдается ренессанс экзотических архитектур. Но общая тенденция — dataflow-ориентированные подоходы.
источник

А

Алексей in Compiler Development
Peter Sovietov
"Современный процессор" — растяжимое понятие. Сейчас снова наблюдается ренессанс экзотических архитектур. Но общая тенденция — dataflow-ориентированные подоходы.
ну если сузить до x64 и arm
источник

А

Алексей in Compiler Development
там же в основном всё императивно весьма
источник

Т8

Т-34 85 in Compiler Development
Alexander Tchitchigin
Всем дано. Для этого и пишут нормальные учебные материалы. То, что ни у Вас, ни у меня их не было, и пришлось "набивать шишки" — не есть норма и единственно верный путь.
В материалах (и даже в примерах из реального кода) не всегда сразу понятно, например, зачем был применён тот или иной паттерн, даже если объяснено. Ну, то есть, запомнить их можно, но сходу не получится сообразить, в каких ситуациях какой нужен и как его применить. Всё равно нужен опыт. Но, конечно, желательно (ради экономии времени) иметь подготовку, чтобы вовремя связать с имеющимися знаниями, а не через велосипед к ним прийти. Хотя, с другой стороны, экономия времени на изучении теории во многих случаях тоже оправдывается...
источник

PS

Peter Sovietov in Compiler Development
Алексей
ну если сузить до x64 и arm
Как же императивно, если порядок команд может не соответствовать тому, которые Вы задаете в программе. На этот счет компилятор специально занимается планированием команд.
источник