LINUX.ORG.RU

История изменений

Исправление hatred, (текущая версия) :

Это очень сильно разные языки, одной схожести оформления блоков мало. Я никогда не встречал утверждений, что PHP - C-Like, там может быть оформление блоков кода в C-Style, но что бы сам язык, это перебор. Куда более ёмкий (и нейтральный) термин как раз «curly-bracket languages». Хотя тут тоже их под одну гребёнку причесали.

Кроме того, этот синтаксис блоков впервые в BCPL появился, так что корректнее называть BCPL-like, ведь блоки же в фигурных скобках, нет?

Ну и если большую часть PHP или Perl кода всё же можно как-то прочитать и понять человеку знакомому только с Си, то это не сразу догадаешься:

impl<T> Add for Complex<T>
    where T: Add<Output=T>
{
    type Output = Self;
    fn add(self, rhs: Self) -> Self {
        Complex { re: self.re + rhs.re, im: self.im + rhs.im }
    }
}

Т.е. для меня, утверждение «YYY is XXX-like» означает возможность бегло прочитать и понять код на YYY, не зная его, но зная XXX. Тот же JavaScript часто без знания, что и как там делается, понять сходу практически невозможно. Rust тоже не просто прочитать временами без знания основных концепций языка и некоторых конструкций, а так же небольшой разрывы шаблона когда встречаешь «!» в конце макроса (ну собсно оно и указывает, что это макрос). Аналогично для «?» или привет непарным «’», да и какой-нибудь let func = move || { &vec; }; читается не совсем так, как привыкли.

В любом случае вопрос вкусовщины, но называть уйму ортогональных (как в целом по синтаксису, так и по основным концепциям) языков C-like только на основании фигурных скобок, при том, что часть из них даже прочитать без книжки не получится… перебор это. Хотя в современном мире всё возможно, да.

Исходная версия hatred, :

Это очень сильно разные языки, одной схожести оформления блоков мало. Я никогда не встречал утверждений, что PHP - C-Like, там может быть оформление блоков кода в C-Style, но что бы сам язык, это перебор. Куда более ёмкий (и нейтральный) термин как раз «curly-bracket languages». Хотя тут тоже их под одну гребёнку причесали.

Кроме того, этот синтаксис блоков впервые в BCPL появился, так что корректнее называть BCPL-like, ведь блоки же в фигурных скобках, нет?

Ну и если большую часть PHP или Perl всё же можно как-то прочитать и понять человеку знакомому только с Си, то это не сразу догадаешься:

impl<T> Add for Complex<T>
    where T: Add<Output=T>
{
    type Output = Self;
    fn add(self, rhs: Self) -> Self {
        Complex { re: self.re + rhs.re, im: self.im + rhs.im }
    }
}

Т.е. для меня, утверждение «YYY is XXX-like» означает возможность бегло прочитать и понять код на YYY, не зная его, но зная XXX. Тот же JavaScript часто без знания, что и как там делается, понять сходу практически невозможно. Rust тоже не просто прочитать временами без знания основных концепций языка и некоторых конструкций, а так же небольшой разрывы шаблона когда встречаешь «!» в конце макроса (ну собсно оно и указывает, что это макрос). Аналогично для «?» или привет непарным «’», да и какой-нибудь let func = move || { &vec; }; читается не совсем так, как привыкли.

В любом случае вопрос вкусовщины, но называть уйму ортогональных (как в целом по синтаксису, так и по основным концепциям) языков C-like только на основании фигурных скобок, при том, что часть из них даже прочитать без книжки не получится… перебор это. Хотя в современном мире всё возможно, да.