История изменений
Исправление 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 только на основании фигурных скобок, при том, что часть из них даже прочитать без книжки не получится… перебор это. Хотя в современном мире всё возможно, да.