
Антон
29.09.2016
10:12:51
знаю мало фреймворков которые работают медленнее синатры

Mikhail
29.09.2016
10:13:35
Тут сравнение идет с синатрой, потому что кристал вдохновляется рубями
рубиподобный синтаксис

Антон
29.09.2016
10:14:05
у велосипеда каретоподобные колеса

Google

Mikhail
29.09.2016
10:14:17
Language Goals
Have a syntax similar to Ruby (but compatibility with it is not a goal)
Statically type-checked but without having to specify the type of variables or method arguments.
Be able to call C code by writing bindings to it in Crystal.
Have compile-time evaluation and generation of code, to avoid boilerplate code.
Compile to efficient native code.

Антон
29.09.2016
10:14:28
я читал
риторика чище не становится
компилируемый код работает на 3 порядка быстрее, да ну нахер, не может этого быть
вообще классное решение - портить карму до выхода релиза

I
29.09.2016
13:46:18
тут могла быть шутка про 2^3 = 8 :)

Антон
29.09.2016
14:25:22
а ну конечно, это же самое главное
ну что коллеги, будете смеяться, но у меня под кристал задача появилась
кто-то в production его использовал?

yopp
29.09.2016
15:47:12
я использовал, но как отдельный компонент
он мне там предсказания считал для колодца!

Антон
29.09.2016
15:56:10
ну у меня микросервис планируется
не писать же его на go

Google

Антон
29.09.2016
15:56:54
или на php прости господи

Mikhail
29.09.2016
15:57:50
а чем ГО плох

s
29.09.2016
15:57:59
он уродливый и нелогичный)

Антон
29.09.2016
15:58:17
там буквы другие
https://github.com/nsf/pnoise
напиши на кложе решение пожалуйста

ojab
29.09.2016
16:05:58

Антон
29.09.2016
16:07:56
фиг его знает, рубишной версии нет
не проверить

Rustam
29.09.2016
16:32:27
А чем go уродлив?

Dan
29.09.2016
16:33:24
не писать же его на go
именно на go и писать, прости господи. для этой цели собственно он и используется в большинстве случаев.

Сергей
29.09.2016
16:40:39

Антон
29.09.2016
16:46:16

Gleb
29.09.2016
16:50:18
почему именно на go?
в некоторых кейсах микросервис на го пишется быстрее, чем на руби, а работает уж тем более

Антон
29.09.2016
16:50:51

Gleb
29.09.2016
16:51:35

Антон
29.09.2016
16:51:49
миф

Gleb
29.09.2016
16:52:07
ну блин, я сам через это прошел
реально в существующем проекте даже твой кот разберется

Антон
29.09.2016
16:52:58
это офигенная статистика

Google

Антон
29.09.2016
16:53:11
и доводы шикарные

Gleb
29.09.2016
16:53:55
субъективно, конечно, но блин, он реально очень прост

Антон
29.09.2016
16:54:03
руби тоже прост
до сих пор не умею толком

Gleb
29.09.2016
16:54:30
руби как раз сложный, мета-ние и тп

yopp
29.09.2016
16:55:21
руби простой как палка
если убрать stdlib руби даётся за несколько дней

Gleb
29.09.2016
16:55:40
окей, расскажи как вызывается метод в руби?

yopp
29.09.2016
16:55:49
тебе что именно рассказать?

Gleb
29.09.2016
16:55:51
как ищется?

yopp
29.09.2016
16:55:57
по цепочке наследования ищется
наверх

Gleb
29.09.2016
16:56:08
что есть в цепочке наследования?

yopp
29.09.2016
16:56:21
классы
миксины — наебалово

Gleb
29.09.2016
16:56:26
не только

yopp
29.09.2016
16:56:27
вселенское
только

Gleb
29.09.2016
16:56:41
модули, эйгенклассы

yopp
29.09.2016
16:56:42
это детали реализации

Google

yopp
29.09.2016
16:57:07
когда ты примешиваешь модуль, он на самом деле становится классом
метаклассы это обычный анонимный класс
ленивый
который стоит в цепочке самым первым

Gleb
29.09.2016
16:57:35
иной раз понять что именно отрабытывает непросто, особенно, если там методы в рантайме нагенерены и переопределен неизвестный метод, не помню как там его звать

yopp
29.09.2016
16:57:45
метод всегда живёт где-то

Gleb
29.09.2016
16:57:57
ну понятно, что на уровне исполнения это все классы, но в коде это неочевидно

yopp
29.09.2016
16:58:14
если ты понимаешь принципы — очевидно

Admin
ERROR: S client not available

Gleb
29.09.2016
16:59:02
ну так вот, а в го вообще все очевидно, даже и принципов никаких не нужно знать
оно работает всегда так, как ты предполагаешь

yopp
29.09.2016
16:59:24
и руби работате так как ты предполгаешь :)
это бесполезный спор

Антон
29.09.2016
16:59:41
ну хз, го даже читать не приятно

yopp
29.09.2016
16:59:43
ты пытаешься статически типизированный язык сравнить с пальцем
единственный архитектурный плюс го — горутины

Gleb
29.09.2016
17:00:14
+ деплой, го деплоить куда угодно за несколько минут, с руби - rvm разверни, все поставь
или с докером парься

yopp
29.09.2016
17:00:39
у меня руби деплоиться со скоростью bundle install

Gleb
29.09.2016
17:00:52
первый деплой

Google

yopp
29.09.2016
17:00:54
у нас jruby и докер

Gleb
29.09.2016
17:00:55
имею в виду

yopp
29.09.2016
17:01:01
у нас всё быстро и красиво
разработка тоже в докере
сначала неудобно, а потом заебись
потому что можно получить боевое окружение дома

Igor
29.09.2016
17:01:47
azk?

yopp
29.09.2016
17:01:58
docker-compose up

Igor
29.09.2016
17:02:08
ну тож вариант
более прямой приче

yopp
29.09.2016
17:03:02
единственный минус прямо сейчас — у нас ранчер, так что боевое окружение не очень настоящее, но это пока из-за того что памяти не хватит на весь стек
локально

Антон
29.09.2016
17:03:43

yopp
29.09.2016
17:04:27
хероку — хуй
дорогой
безумно прямо дорогой

Gleb
29.09.2016
17:04:42

yopp
29.09.2016
17:04:55
да даже бложик на хероку — дорого

Антон
29.09.2016
17:05:15