Size: a a a

Compiler Development

2020 May 08

А

Алексей in Compiler Development
Банальный пример: развернуть массив/слайс
источник

А

Алексей in Compiler Development
во всех достаточно мощных языках пишем reverse и вуаля
источник

А

Алексей in Compiler Development
в Go - копипастим цикл со stack overflow
источник

А

Алексей in Compiler Development
и в идеале нужно будет ещё в комментарии написать, что этот цикл не просто цикл, а разворот массива
источник

А

Алексей in Compiler Development
То есть на ровном месте из-за недостаточности средств построения абстракций программа стала сложнее для восприятия.
источник

А

Алексей ayaye :)... in Compiler Development
так и есть, язык выносит сложность за скобки.
источник

E

Eugene in Compiler Development
оберонщики копипастят и не жалуются, всё только нахваливают впечатляющую простоту своего языка...
источник

АГ

Алексей Герасимов... in Compiler Development
Alexey
Ну, синтаксис хотя бы должен быть (никогда не понимал, как люди на лиспах пишут и не морщатся). В другую крайность (look at modern rust) тоже не стоит ударяться. Имхо лучший синтаксис у ML, лаконичный и читаемый, хотя, пожалуй, хаскелловского where мне в окамле часто не хватает.
лол, так rust же почти ml, все есть выражение
источник

M

MaxGraey in Compiler Development
@qweeeerty А чего только стоит append в Go и баги связанные с тем, если присвоить не тому же экземпляру
https://yourbasic.org/golang/gotcha-append/

Сюрпрайз! append() в Go ни разу не иммутабельный! И теперь вопрос нахрена так нужно было делать?
источник

А

Алексей in Compiler Development
MaxGraey
@qweeeerty А чего только стоит append в Go и баги связанные с тем, если присвоить не тому же экземпляру
https://yourbasic.org/golang/gotcha-append/

Сюрпрайз! append() в Go ни разу не иммутабельный! И теперь вопрос нахрена так нужно было делать?
Это уже чуть более глубокая проблема, которая даже не в append, а вообще в существовании слайсов, а также в отсутствии каких-либо средств иммутабельности (и это в concurrency языке)
источник

ИЧ

Илья Чистяков... in Compiler Development
Алексей
во всех достаточно мощных языках пишем reverse и вуаля
у абстракций есть своя цена, когда команда маленькая, легко делить экспертизу, когда большая, это уже невозможно

так-как Go ориентирован на большие команды, выбрали такой компромисс

большинство программистов не понимает такую страсть к простоте, потому что в жизни не сталкивается с проблемами крупных продуктов, когда кодобазу пишут 100+ разработчиков
источник

А

Алексей in Compiler Development
Илья Чистяков
у абстракций есть своя цена, когда команда маленькая, легко делить экспертизу, когда большая, это уже невозможно

так-как Go ориентирован на большие команды, выбрали такой компромисс

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

ИЧ

Илья Чистяков... in Compiler Development
если что, мне Go не нравится) но я понимаю выгоды для бизнеса
источник

ИЧ

Илья Чистяков... in Compiler Development
Алексей
Так я же на примере показал, что у отсутствия абстракции тоже есть цена и немаленькая.
одна цена больше другой цены, вот и появился Go)
источник

А

Алексей in Compiler Development
Илья Чистяков
одна цена больше другой цены, вот и появился Go)
меньше
источник

G

Gymmasssorla in Compiler Development
Илья Чистяков
у абстракций есть своя цена, когда команда маленькая, легко делить экспертизу, когда большая, это уже невозможно

так-как Go ориентирован на большие команды, выбрали такой компромисс

большинство программистов не понимает такую страсть к простоте, потому что в жизни не сталкивается с проблемами крупных продуктов, когда кодобазу пишут 100+ разработчиков
Когда команда большая, легко делить обязанности и писать свои компоненты для ещё несформированного кода, над которым работает другая команда, если абстракции языка это позволяют
источник

ИЧ

Илья Чистяков... in Compiler Development
Алексей
меньше
тогда какая причина создания Go?
источник

A

Alexey in Compiler Development
Алексей Герасимов
лол, так rust же почти ml, все есть выражение
Это старый раст больше походил на ML с «плюсами», в современном, на мой вкус, слишком много визуального мусора шума, а код выглядит менее читаемым, чем перловый.
источник

А

Алексей in Compiler Development
Причём кстати эта сложность - она же не исчезает никуда
источник

А

Алексей in Compiler Development
она лишь перетекает в кодогенерацию
источник