LINUX.ORG.RU

Релиз Crystal-0.27.0

 ,


2

4

Crystal — объектно-ориентированный язык программирования общего назначения, созданный с целью:

  • иметь синтаксис, очень похожий на Ruby;
  • обеспечивать статическую проверку типов без явного указания типов переменных или аргументов методов;
  • иметь возможность написания биндингов к языку С на самом Crystal;
  • обеспечивать возможность метапрограммирования, путем выполнения кода в фазе компиляции и генерации кода;
  • компилировать программу в высокоэффективный бинарный (native) код.

Как заявляют авторы проекта: «мы любим ruby за его эффективность написания кода, а С за его эффективность при выполнения кода и мы хотим скрестить все лучшее из этих двух миров...».

Changelog

>>> Подробности



Проверено: jollheef ()
Последнее исправление: cetjs2 (всего исправлений: 3)

Не взлетит. Пока не появится как Докер для Го.

GreenBag
()
Ответ на: комментарий от anonymous

3.5 либы и там и там

GI, вроде, и в ниме тоже есть, не только в вале

actionless
()

мы любим ruby за его эффективность написания кода

Вполне достойное желание писать бинарники как человеки со светлыми лицами, а не красноглазики. Вот только они хипстеры, а не системные программисты, и получается: тормозной игрушечный GC Бома, нативные фиберы (= невозможность автоматом вернуть память, выделенную под раздутый стек), отсутствие модели памяти под многопоточность (= прощайте lock-free типы данных). По-моему, годная замена для php, ruby, perl и прочего кустарного барахла, но никак не си.

anonymous
()
Ответ на: комментарий от anonymous

На замену си, с сильной натяжкой и с допущением: «для простых смертных» кое-как выполз “Go”. У Go хороший рантайм, но концепции немного туповаты, так что ему бы развития лет 15, и можно использовать...правда, есть Swift, который, на данный момент, самый крутой из новых яп, догнать его уже не получится ни Rust, ни D.

menangen
()
Ответ на: комментарий от anonymous

за что я не люблю нимроды/кофескрипты/jvm-язычки, что в итоге надо в проекте с двумя языками работать вместо одного

actionless
()
Ответ на: комментарий от menangen

Go

это компилируется:

if ... {
}

это не компилируется:

if ... 
{
}

и вы думаете это просто в парсере ограничение, просто людям нравится такой стиль кодирования. не, нифига, там ошибка в дизайне. проблеме уже много лет, до сих пор не исправлена. вот это кстати тоже не скомпилируется:

if ... {
}
else {
}

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

боюсь, что через «15 лет развития» будет проще написать на с++34, как сейчас кое-что проще написать на с++11, чем на питоне, например.

очень жаль, серьёзно, я бы лично использовал бы го если бы он не создавал вот такие какие-то совершенно конченые проблемы на ровном месте.

anonymous
()
Ответ на: комментарий от menangen

Swift

который, на данный момент, самый крутой из новых яп

А меня на этом форуме пугали, что в нем создаются потокобезопасные структуры на каждый сих и от этого он медленнее других компилирующихся ЯП и вообще им не ровня

Deleted
()
Ответ на: комментарий от menangen

На замену си, с сильной натяжкой и с допущением: «для простых смертных» кое-как выполз “Go”. У Go хороший рантайм, но концепции немного туповаты, так что ему бы развития лет 15, и можно использовать...правда, есть Swift, который, на данный момент, самый крутой из новых яп, догнать его уже не получится ни Rust, ни D.

Swift тормозной слишком и на нем ничего быстрого не написать. Иосеры так же продолжают писать важные вещи на сях. Поэтому Расту среди всего что ты перечислил никто не конкурент на замену Си.

umren
()
Ответ на: комментарий от menangen

У Go хороший рантайм, но концепции немного туповаты, так что ему бы развития лет 15, и можно использовать...

Он существует уже 9 лет, и ничего особо не поменялось в архитектурном плане.

sT331h0rs3
()

Руби на стероидах? Выстрелит. Динамические недоязычки должны умереть.

FilosofeM
()

А сделали просто ещё одо ненужно в море ненужнов. Хорошо было программистам прошлого, они могли знать один, ну два языка программирования. Теперь же половину жизни программист должен провести изучая всё новые фреймворки и языки. Время убитое на работу, отнятое у семьи, за которое никто никогда не заплатит и не поблагодарит «за сладостные секунды».

Deleted
()

«мы любим ruby за его эффективность написания кода, а С за его эффективность при выполнения кода и мы хотим скрестить все лучшее из этих двух миров..»

Казалось бы, при чем тут Ada...

slamd64
()
Ответ на: комментарий от umren

Swift быстрый, и в нем можно легко оптимизировать скорость. У нас на нем несколько игр написано, perlin noise, хэш функции свои, и всё быстро, на си мы переписали только SIMD инструкции для AVX/AVX2, т.ч. не надо про тормознутость свифта - это ложь феерическая.

menangen
()
Последнее исправление: menangen (всего исправлений: 1)
Ответ на: комментарий от menangen

правда, есть Swift, который, на данный момент, самый крутой из новых яп, догнать его уже не получится ни Rust, ни D

Swift скорее всего останется нишевым ЯП для эппл продуктов.

yetanother
()
Ответ на: комментарий от anonymous

Это не так. У apple есть свой Accelerate framework, и он нативный, но, если под линь писать, то да, ядро нужно будет написать на Си, но он родной для swift - функции и типы напрямую прокидываются, не вижу проблем.

menangen
()
Ответ на: комментарий от umren

У кого не изменилось? У тебя? А что ты такого написал на свифт, чтобы оно уперлось в производительность? У меня, к примеру, упиралось в память, в её аллокатор и free. Поэтому я переписал 11% кода на Си.

menangen
()
Ответ на: комментарий от yetanother

Swift открыт. Полностью. Открыты также несколько либ типа мультипоточного менеджера от эппл, и компилятор swift уже сейчас собирается и тестируется каждый день для x86, x86-64, arm-v7, arm-64 (arm-v8); Ubuntu, Mac OS; без проблем можно собрать и для FreeBSD, на винду тоже скоро допилят - видел в коммитах - идет и в этом направлении работа, основной приоритет - UNIX.

menangen
()
Ответ на: комментарий от anonymous

Судя по количеству закачек её особо никто не использует.

menangen
()
Ответ на: комментарий от actionless

В реальных проектах редко когда приходится работать только с одним. Обычно есть как минимум sh/python/ruby для всякой автоматизации.

env
()
Ответ на: комментарий от menangen

Сразу видно джуна ответ. Свифт я так понимаю ты тоже толком не знаешь.

anonymous
()

Нужно всего два языка C/C++ и Python. Причем второй просто для того чтобы понять как правильнее делать на первом.

sniper21
()
Ответ на: комментарий от menangen

Swift крут, если нужно писать под мак. За этими пределами он бесполезен, каким-бы хорошим он не был.

догнать его уже не получится ни Rust

Разные языки. Разные цели. Rust более низкоуровневый.

RazrFalcon
()
Ответ на: комментарий от Deleted

Хорошо было программистам прошлого, они могли знать один, ну два языка программирования.

Почитайте историю. Это до нас дошло несколько языков, а наработок было валом.

RazrFalcon
()

мы хотим скрестить все лучшее из этих двух миров...».

Деды с 1964 г. скрещивали «все лучшее» в PL/1, но история учит, что она ничему не учит :)

quickquest 😊😊😊
()

Както попинал, баг в компиляторе отрепортил. В принципе забавно так, но оно всего лишь игрушка, так как слишком уж дерзкий подход к типизации. Решать задачки по типу олимпиадных на нем разве что.

q0tw4
()
Ответ на: комментарий от q0tw4

слишком уж дерзкий подход к типизации.

Чоткий дерзкий или мутный дерзкий?

А если без шуток, то действительно интересно, расскажи, в чём дерзость?

anonymous
()

$NewLanguageName — объектно-ориентированный язык программирования общего назначения, созданный с целью:

  • иметь синтаксис, очень похожий на $MyFavoriteLanguageName;
  • обеспечивать статическую проверку типов без явного указания типов переменных или аргументов методов;
  • иметь возможность написания биндингов к языку $PopularLanguageName на самом $NewLanguageName;
  • обеспечивать возможность метапрограммирования, путем выполнения кода в фазе компиляции и генерации кода;
  • компилировать программу в высокоэффективный бинарный (native) код.

Как заявляют авторы проекта: «мы любим $MyFavoriteLanguageName за его эффективность написания кода, а $PopularLanguageName за его эффективность при выполнения кода и мы хотим скрестить все лучшее из этих двух миров...».

for [NewLanguageName,MyFavoriteLanguageName,PopularLanguageName]  in говноПоделки:
    news = newsTemplate.replace(NewLanguageName,MyFavoriteLanguageName,PopularLanguageName)
    LOR.post(news)
anonymous
()
Ответ на: комментарий от umren

С тех времен ничего не изменилось по перфомансу

Графики чудесны ;)

Deleted
()

Напрограммируют языков программирований, не успеваем изучать...

abbat81
()

Знаете от чего мне становится по настоящему страшно ? Это когда я в дюпель синий в шутку сморожу какой нибудь лютый бред про ИТ, а оказывается это уже есть или кто-то это уже пилит.. Да ещё и в ынтырпрайз..Пля :(

vasya_pupkin 👍👍
()
Последнее исправление: vasya_pupkin (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

Не кросс? Вопрос тогда с мегоязыком Swift закрыт ;)

Deleted
()
Ответ на: комментарий от Deleted

А где бред? Предъявите, так сказать, весь список!

Сынок, перечитай мои труды на Лоре, я слишком стар для этого дерьма

vasya_pupkin 👍👍
()
Ответ на: комментарий от vasya_pupkin

Однако радуешь ;) Атэц! Стар он для дерьма? Тут не особо известно, к чему готовиться (мало ли, что ты в пьяном угаре высказал), а он отмазывается...

P.S. Давай письками меряться. Мне 12 и я бородат. А ты?

Deleted
()
Последнее исправление: kaban_lyalya (всего исправлений: 1)
Ответ на: комментарий от Deleted

Однако радуешь ;) Атэц! Стар он для дерьма? Тут не особо известно, к чему готовиться (мало ли, что ты в пьяном угаре высказал), а он отмазывается...

К худшему сына, к худшему... Rust будет переписан на java

vasya_pupkin 👍👍
()

Эти кибер-мичуринцы слышали что-нибудь о Ди?

matumba
()
Ответ на: комментарий от Deleted

сделали просто ещё одо ненужно в море ненужнов.

Ну если уже работаешь с руби, то ничего учить особо не придется. Так что в данном случае ты несправедливо возбухаешь. В КОИ то веки вместо изобретения йоба-лисапеда взяли популярный недоязычок и попытались выточить из него годный ЯП. Понятно, что никому не нужно и не взлетит, но усердие авторов заслуживает уважение.

anonymous
()
Ответ на: комментарий от anonymous

не, я не спорю, всякий творящий что-то непонятное достоин уважения Просто я не понимаю ни нужды в руби, ни в его модернизации.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.