LINUX.ORG.RU

Релиз Crystal-0.27.0

 ,


2

4

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

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

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

>>> Changelog

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



Проверено: jollheef ()

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

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

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

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

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

Go

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

if ... {
}

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

if ... 
{
}

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

if ... {
}
else {
}

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

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

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

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

Swift

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

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

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

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

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

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

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

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

sT331h0rs3 ★★★★★ ()

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

Chelobaka ★★★★ ()

«мы любим 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 ★★★★★ ()
Ответ на: комментарий от menangen

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

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

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

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

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

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

RazrFalcon ★★★★★ ()

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

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 ()

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

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

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

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

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

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

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

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

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

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

anonymous ()