
Сергей
19.01.2017
12:22:56

Vladimir
19.01.2017
12:23:18
Это не ответ

Sergey
19.01.2017
12:24:25

Darth
19.01.2017
12:24:35
https://github.com/DarthNyan/try-node/blob/master/db.js
https://github.com/DarthNyan/try-node/blob/master/server.js
connect метод не меняет состояния state.db, а вроде как должен в 16-ой строчке db.js

Google

Сергей
19.01.2017
12:24:49

Vladimir
19.01.2017
12:25:14
я не должен приводить аргументы - это ты утверждаешь, что руби лучше

Сергей
19.01.2017
12:25:27
я не так написал)

Nikita
19.01.2017
12:25:28

Vladimir
19.01.2017
12:25:39
Я говорю лишь, что нет, нет аргументов что руби лучше

Darth
19.01.2017
12:25:41

Сергей
19.01.2017
12:25:42
я сказал, что на руби проще строить абстракции

Nikita
19.01.2017
12:25:47
я про первое утверждение про динамические языки

Vladimir
19.01.2017
12:25:54
Так покажи, чем прозе
проще

Nikita
19.01.2017
12:25:59
аргументов пока не было

Сергей
19.01.2017
12:26:02

Nikita
19.01.2017
12:26:09
одни утверждения

Google

Nikita
19.01.2017
12:26:34
собственно я поэтому не вступаю в диалог
ноль полезной информации

Darth
19.01.2017
12:26:36
руби проще :)
если нужно рендрить на сервере и быстро разработать, не делая ошибок, то руби намного проще
вообще всего

Vladimir
19.01.2017
12:27:06
Переформулирую: нет причин утвержать, что js меньше подходит

Сергей
19.01.2017
12:27:32
мб руби медленней, но прототип на нем разработать намного проще
особенно учитывая что есть Rails

Darth
19.01.2017
12:27:51
Так что с моим вопросом? Вроде как тем, кто пишет на ноде, должно быть понятно, что там не так

Сергей
19.01.2017
12:28:01
да по мне на ноде всё не так

Sergey
19.01.2017
12:28:15
ух

Darth
19.01.2017
12:28:21

Vladimir
19.01.2017
12:28:23
Не надо мешать ноду и js
Это разные вещи все таки

Иван
19.01.2017
12:28:56

Сергей
19.01.2017
12:29:00
стандартная бибилиотека на коллбеках.
промисы + try/catch это жопа (ладно async/await спасает, но не от всего)
Инструменты молодые слишком, как и сообщество

Vladimir
19.01.2017
12:29:29
Все это слабые аргументы
Ок с коллбэками все ясно
Но async await полностью решает проблему

Сергей
19.01.2017
12:29:53
не полностью
мне всё приложение придется писать, везде добавляя async/await

Google

Vladimir
19.01.2017
12:31:03
И что?

Сергей
19.01.2017
12:31:04
либо где-то писать .then(...)
обработка ошибок тоже страдает
стандартную библиотеку не везде можно промисифаить
слишком вероятна ошибка
в ruby ты пишешь в методе контроллера (к примеру) rescue и ловишь все ошибки (любые), и отображаешь как надо
для динамических методов нужно юзать Proxy
рефлексия в js слабо развита

Vladimir
19.01.2017
12:32:30
лол
что?
в js рефлексия это дефолтный подход ко всем проблемам

Сергей
19.01.2017
12:33:24
class Foo(){
bar(cb){}
}
как выяснить cb принадлежит какому-нибудь классу или нет?

Vladimir
19.01.2017
12:34:02
instanceof

Сергей
19.01.2017
12:34:13
cb - коллбек или метод

Vladimir
19.01.2017
12:34:28
и что?
instanceof работает
или что ты имеешь в виду под "принадлежит какому-нибудь классу"?

Сергей
19.01.2017
12:36:19
при вызове a.foo я хочу знать методом какого класса является параметр callback

Vladimir
19.01.2017
12:37:03
Зачем?

Ҫѐҏӗѫӑ
19.01.2017
12:38:23
метод из нот дефайнд жи

Сергей
19.01.2017
12:38:42

Google

Ҫѐҏӗѫӑ
19.01.2017
12:39:25
тут b.foo
(ну эт я придираюсь)
(в задачку не вчитывался)

Сергей
19.01.2017
12:40:18
Зачем?
выяснить реализацию класса и изменить поведение

Vladimir
19.01.2017
12:40:43
так и передавай сам класс, если его реализацию надо изменить

Сергей
19.01.2017
12:40:43
в случае статических языков, просто перегружаются методы по типу аргумента

Ҫѐҏӗѫӑ
19.01.2017
12:40:47
я только смажу, что если на руби писать фронтенд, то можно охуеть
будет тыща дсл

Admin
ERROR: S client not available

Vladimir
19.01.2017
12:41:00

Ҫѐҏӗѫӑ
19.01.2017
12:41:02
и все говно

Сергей
19.01.2017
12:41:03

Danila
19.01.2017
12:41:19

Vladimir
19.01.2017
12:41:27

Сергей
19.01.2017
12:41:42

Ҫѐҏӗѫӑ
19.01.2017
12:42:12
на руби у каждого лефтпада свой дсл

Сергей
19.01.2017
12:42:19

Vladimir
19.01.2017
12:42:50
Если нужно менять поведение класса, то класс и нужно передавать, а не только метод

Danila
19.01.2017
12:42:58
можно же каждому методу прописывать, как к какому классу он принадлежит. по реализации похоже на реализацию декоратора autobind

Google

Danila
19.01.2017
12:43:23
ну и проверять типа if (method.__$$class == MyClass) { … }

Сергей
19.01.2017
12:43:35

Vladimir
19.01.2017
12:44:03
> @sovamist
ноги растут не из жопы
вот это как раз спорно

Сергей
19.01.2017
12:44:16
вообще-то, что ноги растут из жопы, это нормально

Vladimir
19.01.2017
12:44:54
Смешно, но анатомически некорректно

Сергей
19.01.2017
12:48:03
сами языки ruby и js сравнивать сложно, ибо многое там на вкус и цвет.
Но вот по существующем библиотекам и фреймворкам, js ещё не скоро догонит ruby-*
rails 5 умеют сокеты без ноды, просто добавляя простую абстракцию.
Куча либ добавляют свою функциональность чаще всего просто встраиваясь в rails.
В js существует просто адовая тонна библиотек делая одно и тоже по разному и зачастую не работая от версии к версии не говоря уже об интеграциях

Ҫѐҏӗѫӑ
19.01.2017
12:49:03
метеор? дерби?
и что такое сокеты без ноды?

Vladimir
19.01.2017
12:49:11
Ну это да, руби это только рельсы
Все вокруг рельсов

Ҫѐҏӗѫӑ
19.01.2017
12:49:22
рельсы збс

Сергей
19.01.2017
12:49:29

Ҫѐҏӗѫӑ
19.01.2017
12:49:30
ток попортились

Vladimir
19.01.2017
12:49:50
> @sovamist
руби это цельная экосистема
цельная с рельсами. не хочешь рельсы - иди на хуй

I
19.01.2017
12:49:51

Сергей
19.01.2017
12:49:56
за время работы над переносом приложения с ноды на рельсы, много пришлось обдумать. Но перенос дался меньше чем за 2 месяца.
Это учитывая, что приложение на ноде разрабатывалось больше года (API only). Багов было намного меньше, за счет полного упрощенного feature-тестирования

I
19.01.2017
12:50:01
sinatra, hanami

Vladimir
19.01.2017
12:50:12
Тогда что цельного?

Сергей
19.01.2017
12:50:17

I
19.01.2017
12:50:26
да вроде кто-то его пилит