Pull to refresh

Comments 37

Лаконичность синтаксиса без интерпретируемости уже не торт. Вот если бы что-то вроде HHVM или kPHP для ruby…
crystal можно и как интерпретатор использовать (т.е. без компиляции бинарника).
Разве? Он в любом случае компилируется. В одном компиляция вызывается явно, в другом нет.
И чем компиляция мешает использованию, как интерпретатора? По мне, так наоборот, это хорошо.
И правда.

crystal ./src/Test.cr

crystal build ./src/Test.cr

crystal run ./src/Test.cr

Тогда действительно круто! Только когда это еще использовать можно будет не ясно.
Сегодня практически все языки компилируются. В одних случаях явно, в других нет. Навскидку только bash с tcl чисто интерпретируемые вспоминаются. php, ruby, python — все они при исполнении скрипта компилируют его в байткод своей ВМ.
Да, но им не нужно компилировать весь код проекта, достаточно только те части, которые используются для данного запуска.
А какая связь между лаконичностью и интерпретируемостью вообще?
Лаконичный → для интерактивного взаимодействия с системой → интерпретируемый.
кажется, с того момента, как появился LLVM, понятие «интерпретериумость» вообще потеряло смысл.
А начало оно терять смысл когда стали появляться jit'ы у всяких vm.
Я соглашусь, что интерпретируемый язык должен быть лаконичным. Но предпосылок для обратного не вижу.
Лаконичность дает скорость написания кода, смысл которой теряется со снижением скорости запуска программы.
По-моему, скорость написания (и чтения) программы ценна сама по себе.
Для новости слишком поздно, русское сообщество рубистов, по крайней мере, уже в курсе,
Для новости поздно, согласен. Для анонса языка на Хабре нормально.
А как насчет «не рубистов»?
случайно отправил недописав, а в мобильном приложении нет кнопки «редактировать». Так вот продолжу:
а для полноценной статьи слишком мало, хотелось бы увидеть более подробный разбор и сравнение с другими языками.
А по мне небольшое резюме с ссылками очень хорошо. Я вот узнал о нем только сейчас.
Где тесты производительности?
Я так понимаю до Go ему далеко, но он сильно быстрее Ruby. Где тесты?
Некисло, быстрее Go, на уровне Rust. Спасибо за ссылку!
бегло поглядел код на Go — сплошные касты float64 -> float32, что как бы намекает на адекватность теста, просто замена float32 -> float64 в исходнике ускоряет код на 30%
также во всех языках разные генераторы рандома, что тоже намекает
Pull Request и пусть поправят
UFO just landed and posted this here
Посмотрел тесты — беру свои слова назад.
Лаконичность синтаксиса Ruby + скорость C? Как по мне — звучит неплохо.
Мне больше по душе идея Rust — лаконичность синтаксиса Haskell + скорость С. Вернее синтаксис, все же, ближе к С, но зато идеи во многом Haskell.
Вы это серьезно про лаконичность синтаксиса? Я не знаком с Rust, но читать вот
это невозможно
struct Wrapped<T>(T);
 
impl<'self,A,B> Shr<&'self fn(&A) -> B, Wrapped<B>> for Wrapped<A> {
    fn shr(&self, f: & &'self fn(&A) -> B) -> Wrapped<B> {
        Wrapped((*f)(&**self))
    }
}
 
fn main () {
    let string = Wrapped(1i) >> (|&x| x + 1) >> (|&x| 2*x) >> (|x| x.to_str());
    println(*string)
}



Или вот
fn create_enum_variant_pattern(&self,
                               cx: &mut ExtCtxt,
                               enum_ident: ast::Ident,
                               variant: &'a ast::Variant,
                               prefix: &str,
                               mutbl: ast::Mutability)
-> (P<ast::Pat>, Vec<(Span, Option<Ident>, P<Expr>, &'a [ast::Attribute])>)

Я не знаю, откуда вы взяли первый кусок, но он не компилируется: явно одна из предыдущих версий rust. А во втором я ничего особо криминального со стороны синтаксиса не вижу. Хотя наверное лучше бы программист назвал возвращаемый тип, а не писал его «как есть».
Как считаете, Crystal под qnx будет работать?
поскольку llvm backend для QNX вроде как есть, то будет
UFO just landed and posted this here
Sign up to leave a comment.

Articles