Size: a a a

Compiler Development

2020 January 20

AK

Andrei Kurosh in Compiler Development
Алексей
А нужна ли тут явность? В крестах на мой взгляд - да. В языках с GC - наверное всё таки нет
А вот в PHP несмотря на наличие GC приходится явно указывать замыкаемые переменные, угадай почему
источник

BD

Berkus Decker in Compiler Development
Алексей
А нужна ли тут явность? В крестах на мой взгляд - да. В языках с GC - наверное всё таки нет
я конкретно про кресты, в них чем явнее - тем лучше.
источник

А

Алексей in Compiler Development
потому что там переменные суперкриво сделаны
источник

AK

Andrei Kurosh in Compiler Development
Алексей
потому что там переменные суперкриво сделаны
ну да, примерно - потому что там нет такого понятия как "объявление переменной", ей просто присваивается значение
источник

А

Алексей in Compiler Development
но там кстати уже какие-то стрелочные функции завезли, которые не требуют use
источник

K

Kir in Compiler Development
Криво? А как насчёт скоупа var в js?
источник

M

MaxGraey in Compiler Development
Berkus Decker
я конкретно про кресты, в них чем явнее - тем лучше.
Rust тоже довольно явный ЯП, но даже там такой ерунды с лямбдами нету
источник

А

Алексей in Compiler Development
Kir
Криво? А как насчёт скоупа var в js?
скоуп var отдыхает в сторонке по сравнению с безобразием в пхп
источник

А

Алексей in Compiler Development
Andrei Kurosh
ну да, примерно - потому что там нет такого понятия как "объявление переменной", ей просто присваивается значение
и вроде даже это динамически может делаться, там есть какие-то псевдофункции для этого, но я уже не помню какие
источник

K

Kir in Compiler Development
Я считаю, что подход "сделать неправильный путь сложным или невозможным" является единственно правильным при проектировании языка
источник

K

Kir in Compiler Development
Алексей
скоуп var отдыхает в сторонке по сравнению с безобразием в пхп
О, да
источник

А

Алексей in Compiler Development
Kir
Я считаю, что подход "сделать неправильный путь сложным или невозможным" является единственно правильным при проектировании языка
хороший подход
источник

А

Алексей in Compiler Development
но увы, ему не все следуют
источник

BD

Berkus Decker in Compiler Development
MaxGraey
Rust тоже довольно явный ЯП, но даже там такой ерунды с лямбдами нету
там просто лямбды более настоящие )
источник

А

Алексей in Compiler Development
Алексей
скоуп var отдыхает в сторонке по сравнению с безобразием в пхп
это правда не сколько не оправдывает жсный var
источник

M

MaxGraey in Compiler Development
Berkus Decker
там просто лямбды более настоящие )
Да не такие же. Контекст выделяется на стеке
источник

AK

Andrei Kurosh in Compiler Development
Kir
Я считаю, что подход "сделать неправильный путь сложным или невозможным" является единственно правильным при проектировании языка
так вся проблема в том, что "правильный" и "неправильный" подходы со временем меняются, а обратная совместимость остается и очень больно правится
источник

А

Алексей in Compiler Development
Andrei Kurosh
так вся проблема в том, что "правильный" и "неправильный" подходы со временем меняются, а обратная совместимость остается и очень больно правится
причём несколько раз
источник

K

Kir in Compiler Development
Захват в плюсах нужен потому, что у вас есть значения, указатели, ссылки и инициализация перемещением и деструкторы. Никакого вменяемого дефолтного способа захвата в присутствии деструкторов нет.
источник

K

Kir in Compiler Development
Алексей
причём несколько раз
Для этого нужен подход "avoid (success at any cost)"
источник