Вы видите копию треда, сохраненную 25 октября 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
СЛОУНОВОСТИ
Ruby 2.6 introduces an initial implementation of JIT (Just-in-time) compiler
Ruby 2.5 has removed top level constant lookup
Ruby 2.5 requires pp by default
Ruby 2.5 added lazy proc allocation for block parameters
Ruby 2.4 unifies Fixnum and Bignum into Integer
Предыдущий тред: https://2ch.hk/pr/res/1104216.html (М)
ИЗУЧЕНИЕ ЯЗЫКА
Q: C чего мне начать, чтобы стать рубистом?
A: Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и те же вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby.
А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.
Q: Следующий уровень, продвинутые книги по руби:
A: Confident Ruby by Avdi Grimm | Practical Object-Oriented Design in Ruby
Refactoring Ruby Edition | Ruby Under a Microscope
Q: Онлайн курсы чтобы попробовать/вкатиться:
A: http://tryruby.org/levels/1/challenges/0/ | https://rubymonk.com/
http://www.codewars.com/?language=ruby | http://rubykoans.com
Q: Какой gem посмотреть, чтобы понять, как писать код?
A: Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping.
Еще можешь полистать на гитхабе гемы с нарастающей популярностю (там еще нет тысяч строк, и тебе будет легче понять): https://github.com/trending?l=ruby
Q: Хорошие практики по руби и рельсам?
A: Обязательно стайлгайды (как оформлять код):
https://github.com/bbatsov/ruby-style-guide
https://github.com/JuanitoFatas/fast-ruby
https://github.com/bbatsov/rails-style-guide
Руководства "для чайников":
https://www.railstutorial.org/book [en]
http://www.theodinproject.com/ruby-on-rails [en] | http://codenamecrud.ru/ [ru]
Q: Документация по стандартным библиотекам руби и рельс:
A: http://ruby-doc.org/ | http://api.rubyonrails.org
http://guides.rubyonrails.org | http://ruby.railstutorial.org
Q: Можно ли на руби писать нативные GUI, мобильные приложения, игры?
A: Нет.
Q: Что ещё изучить?
A: Английский, git, linux. Паттерны. Один из часто используемых - Service Object.
СРЕДА РАЗРАБОТКИ
Q: Как установить разные версии рубей?
A: https://rvm.io | https://github.com/sstephenson/rbenv
Про репу на гитхабе думаю — новости про майкрософт не радуют.
Всем !DHH:
https://youtu.be/zKyv-IGvgGE
>Q: Можно ли на руби писать нативные GUI, мобильные приложения, игры?
>A: Нет.
пидора ответ
http://www.rubymotion.com/
http://shoesrb.com/
кули кукули
У меня в первый раз в 4 задании дали 3 бала, потом я ничего не менял и опять отправил, дали 6, потом еще раз и дали 10, лул.
https://rubyisdead.science
#youtube RailsConf 2018 (87 videos)
https://www.youtube.com/playlist?list=PLE7tQUdRKcyak-yFKj5IN3tDYOh5omMrH
Лол, со столлмановской цитаты проиграл.
Они похоже тесты свои прямо по дороге правят (ну и сам сайтик чтобы показывал оценки за подзадания).
Потому что опушка снова проебал норм шапку и написал свое говно не разбираясь в вопросе
Алсо
Полное дерьмо (как и ТК), подойдет если тебе надо показать окно с текстом и одной кнопкой, что-то сложнее сделать нельзя
Зато есть gtk2/3 для которого можно взять нормальный дизайнер интерфейсов(glade) и делать нормальные полнофунциональные приложения
зачем ты бампанул, пес?
Доге-мемес хороший, подтверждаю.
Угу, при этом чувак который скопировал у меня функцию фибоначи зачислился)))
В свою очередь я скопировал функцию у другого чувака, потому что отчаялся твикать свою (моя давала максимум 7 из 10, но и та оказалась тоже 7 из 10).
Вообще наверное я лолка и надо было одновременно на JS аплаиться, вдруг чо.
Удалил профиль, если что)
Вообще надо освежить знания завтра.
В JS-треде нельзя сделать шапку с мемесами про руби.
Один я смотрел и думал какой же Матц слоупок? Неужели я стану таким же в его возрасте?
>Ему на инглише надо шпрехать, а думать на пиздоглазом.
Постоянно так делаю (думаю на русском, естественно), никаких проблем не испытываю.
>Ты прямо сейчас на руби кайги?
Нет, да он и закончился уже вроде.
>>14927
Специально перед просмотром видео сел и написал за ~20 мин. Что там писать-то, если не нужна какая-то супероптимизация, то сам алгоритм примитивный. Они, кстати, еще и с краевыми условиями обосрались, в верхней строке будут браться данные из нижней, но не наоборот.
Анус себе пофикси. У Матца еще и преимущество передо мной было, он уже писал эту игру до меня.
360x356, 0:03
впервые вижу чтобы кто-то здесь разговаривал с самим собой
Во-во, не тред, а помойка, ненавижу вас всех рубаны.
Учишь патерны и алгоримы, лучшие практики, dry — хочешь отвлечься и посмотреть что там Матц умного скажет:
"Просто ебани там LOOP DO братан"
>положить туда объект, уже зная id этой сессии
Зачем? Мне кажется ты что-то делаешь совсем не так. Костыль, но можно положить рандомную фигню и потом уже положить то что нужно.
Да, именно такой костыль все и предлагают
Мне нужно сделать что-то типа... ну, допустим корзины в интернет-магазине, но 1. пользователи не логинятся, и вообще это API 2. Корзину хранить в базе не надо(да, условия странные, но это так) Если предположить, что API юзают через браузер, то наверное можно было бы ее хранить в сессии, и с этим связан мой вопрос. А вот если не через бразуер... я пока не придумал
Мне кажется, эта задача не специфическая для руби/рельс.
Сессия - это некий (временный) идентификатор, с которым связано хранилище. Тебе придётся сделать это частью API, мне кажется.
Например, в java ee стандартно используют url-параметр jsessionid=... если нельзя хранить это в cookie.
Т.е. ты генеришь id, и передаёшь его клиенту, далее он его передаёт тебе в каждом запросе.
Что с этим делать на сервере, ты, я думаю, разберёшься.
а могу ли я как-то чекать из браузера ли запрос, или, ну например curl? и в первом случае использоваться session(с небольшим, описанным выше костылем), а во втором- генерить id?
ой, не подходит... я по условию своей задачи не могу слать в параметрах запроса какой-то свой id
>а могу ли я как-то чекать из браузера ли запрос, или, ну например curl?
Заголовки запроса смотри - UserAgent.
>>16120
>я по условию своей задачи не могу слать в параметрах запроса какой-то свой id
HTTP - протокол без состояния.
Если ты хочешь как то узнавать отдельного клиента, то это делают только так.
Или cookie (клиент передаёт их в заголовке каждого запроса) или явный параметр - url, или form или поле в json данных.
Список параметров запросов тоже указано явно, и так нет ничего типа id. Как думаешь, анон, рассчитывать только на посыл запросов из браузера и хранить объект в сессии, или же тут какой-то подвох?
Если клиент пользуется браузером, то используя session я могу видеть, что запросы шлет один и тот же юзер(пока не закрыл браузер), а если он шлет их курлом?
Посмотри что передаёт браузер, и где там ид сессии. Я думаю - в cookies.
Curl тоже может работать с cookies, см. документацию.
>>16126
Скорее всего, имеется в виду именно сессия.
Т.к. сессия на сервере закрывается через определённый период неактвности.
И после закрытия браузера, при повторном открытии и соединении с сервером будет выдан новый ид сессии.
Короче - посмотри на сервере заголовки клиентских запросов, включая cookies.
если предположить, что я могу слать через curl только запросы вида curl "http://aaa.com/product?id=1&quantity=2" и ничего больше, то задача становится невыполнимой?
Без cookies и без параметра session_id (или чего-то вроде)?
Да, невыполнима.
Чудес не бывает, лол.
>>16135
Не, ну чисто в порядке изьёба можно хранить состояние в get-параметрах.
Т.е. после каждого запроса редиректить клиента на новый url.
А в этом новом url у тебя будет описано состояние корзины.
Например (в порядке выполнения запросов):
product?id=1&quantity=2
product?id=1&quantity=2&cart=[1:2]
product?id=2&quantity=3
product?id=1&quantity=2&cart=[1:2,2:3]
И так далее.
Формат записи содержимого корзины может быть любым.
Практический смысл этого несколько сомнителен.
Но, для простых случаев сойдёт.
Что-то я не подумавши там накопипастил, лол.
Должно быть так:
1 запрос: /product?id=1&quantity=2
1 ответ - редирект на: /product?cart=[1:2]
2 запрос: /product?cart=[1:2]?id=2&quantity=3
2 ответ - редирект на: /product?cart=[1:2,2:3]
3 запрос: /product?cart=[1:2,2:3]?id=4&quantity=5
3 ответ - редирект на: /product?cart=[1:2,2:3,4:5]
И т.д.
В последующих запросах перед id должен быть & а не ?.
Спасибо бро. Похоже задача подразумевает, что юзают апи только через браузер.
Подойдет ли книга "Путь руби" для нуба?
Планирую идти в будущем в Рельсы в качестве веб бэкэнда
Сильно не бейте за тупой вопрос; Все знакомые и друзья пишут бэкэнд на пыхе
> Где еще так можно
Манкипатчить можно и JS, добавляя свои функции в прототипы, только вот даже до падких на фантики джсеров дошло, что monkey patch - это дурная практика, которая приводит к трудноуловимым багам. А вот до рубистов не доходит. Гораздо гибче pipeline operator: https://github.com/tc39/proposal-pipeline-operator#introduction
>>23207
> Все знакомые и друзья пишут бэкэнд на пыхе
Всё верно, почитай этого адеквата: https://2ch.hk/pr/res/1104216.html#1177814 (М)
Тем временем в PHP7 у тебя есть проверка типов и интерфейсы, в PHP8 завезут JIT, а Laravel недавно стал самым "звёздным" бекенд-фреймворком на гитхабе, обогнав рельсы, джангу и экспресс.
Это ты придумал пасту про пыху или из пыхотреда утащил??
Мелкобуквенному реактоблядку неприятно.
Ну так потому что вуй при всей некоммерческой основе и отсутствии миллиардов на рекламу, больше нравится людям.
Как же так? Ой-ой-ой.
Спасибо
слушай друга
Если у тебя есть машина времени, то ты можешь отправиться лет на 10-12 назад и какое-то время зарабатывать неплохие деньги на рельсах. Других разумных доводов в пользу вкатывания в руби в 2018-м году не существует.
Ruby hype is over, bro.
Да и сам язык по нынешним меркам - неинтересен.
Слишком запутанный и малофункциональный.
Единственное его достоинство - на нём можно удобно писать DSL, что и используется в рельсах.
Но, эта тема с программированием на таких вот DSL - это тоже вчерашний день.
Потому, что все давно поняли, что лучше выучить 1-2 нормальных языка, чем 10-20-100 DSL.
И да, в Руби слишком много ООП и неудобно делать ФП.
Так что JS, несмотря на все его недостатки, выглядит гораздо более современным, чем Ruby.
Особенно - со всеми новыми фишками JS, ещё даже не вошедшими в стандарт, но поддерживаемыми в Babel.
Ну, это, всё-таки, немножко другое.
Хотя, жс фронтенд - то ещё говно, да.
Собственно, туда большинство рубистов и перекатилось, я думаю.
На знакомый запах ориентировались.
>Что-то сложнее хеллоу ворлда для начала попробуй написать, маня
Ты прав, на руби это непросто, лол.
Но у меня получалось.
Необходимо мне проверить Json файл, в котором на один id приходят несколько результатов.
Как грамотно можно их распарсить?
Код ниже парсит json, состоящий из одного вложенного объекта, на два и больше падает.
>cucumber
Что ты там делаешь, ты ебанутый? Rspec/minitest используй просто, давно уже решили, что cucumber не нужен.
>>35304
Что читать чтобы вкатиться в тесты ? Заебало прокрастинировать дома, хочу вкатиться на джуниора, а там в требованиях тесты, и в 99% ебанный рспек. Смотрел Effective Testing with RSpec 3, но чет оно вообще не зашло. Как можно дрочить на рспек в котором писать expect(hyeta).not_to eq("2ch") вместо assert(hyeta != "2ch), мне в голову вообще не влазит + примеры в той книге вообще пиздец, для тестов количество кода раза в 3 больше, чем самой логики ? Читал pragmatic guide, хартла, В руби/рельсах шарю неплохо (по моему скромному мнению), так что желательно не совсем для нубасов.
Берешь Rspec и пишешь.
>>35498
Книжки о том как писать тесты это вообще такое, как по мне. Просто посмотри, например, как тесты в dry-rb выглядят, у них очень годно все. Если хочешь проект который использует рельсы, то у mastodon неплохо все с тестами, хоть и не идеально, конечно.
>expect(hyeta).not_to eq("2ch") вместо assert(hyeta != "2ch)
Вкусовщина, через неделю становится пофиг. Тем более обычно не eq, а матчеры по-сложнее используются.
>для тестов количество кода раза в 3 больше, чем самой логики
Значит у тебя CRUD или прочая примитивная фигня. Его даже особого смысла тестами покрывать нету.
По-моему опыту для среднестатистического service object у меня получается x1-x2 количества кода в тестах по-сравнению с кодом самого service object. Но за счет того, что еще приходится писать дополнительный бойлерплейт в контроллерах, роутах, сериалайзерах и тд, то в итоге кода вне тестов выходит больше, чем кода в тестах.
@
ПОЧИТАЛ ТРЕД
@
РАСХОТЕЛ
https://crystal-lang.org/
Сайт у них красивый и лого интересное. Думаю руби начать учить, а потом на это вот перекатиться, чтобы питонобыдлу показывать, насколько кристалбояре заебись.
Есть соседний тред по нему. Но люди там те же что и тут сидят.
>Сайт у них красивый и лого интересное.
Инженерное мышление, 2018-edition. facepalm
>почему вы выбрали именно этот инструмент для решения проблемы?
>ну там логотип прикольный был))0)
Да.
Если в вузике учишься, то можно просто создать акк со своей почтой универовской, например. Бесплатно лицензию дадут
SyntaxError ((irb):8: syntax error, unexpected tSTRING_BEG, expecting ']')
Person.new "Nick",
^
(irb):8: syntax error, unexpected ',', expecting end-of-input
Person.new "Nick",
Почему такая ошибка вылетает, почему запятая ему мешает?
Используй один из вариантов:
a = [(String.new "hello"), (String.new "world")]
или
a = [String.new("hello"), String.new("world")]
Внутри объявления массива, видимо лучше не шутить с пробелами.
>>41072
если кому-то интересно, почему так происходит, то ответ такой:
интерпретатор в данном случае не сможет отличить
[Person.new("Nick"), Person.new("James")]
от
[Person.new("Nick", Person.new("James"))]
Из-за чего и возникает ошибка.
Ещё я заметил, что передавать несколько аргументов не в скобках не самая лучшая затея, потому что, например, в случае со строками руби попытается их соединить. Например,
Person.new "John" "Doe"
Руби воспримет как
Person.new "JohnDoe"
Почему действительно падает популярность ruby? Субъективно, он выглядит приятнее чем питон.
только не надо школо-аналитику про то что хипстеры свалили и прочее, так как за границей руби вроде популярен
Ну так если за границе популярен, то всё ок же.
Идёшь в контору писать на пыхе, работаешь год-два, заводишь связи, либо сам, либо знакомый приглашает тебя на работу над рельсовым проектом.
В США или германии после или во время вуза можно интерном устроится работать. В японии тоже.
Сколько смотрю вакансий в россии джуны либо не нужны, либо очень редко берут в каком-нибудь новосибирске, в москве иногда.
Ебаш портфолио ещё вот.
мидл с 3 годами опыта и опытом работы в больших компаниях, зарубежных стартапах етц.
С тобой что-то не так или ты совсем в каком-то зажопинске ищешь. Мне стабильно раз в неделю пишут, а то и чаще. 5 лет опыта, предлагают 180-300к, в ДС, реже удаленку, релокейт тоже иногда предлагают во всякие европы, но я хочу только в США или Японию, но это самому искать надо, а я совсем горелый, ничего делать не хочется. Сейчас получаю почти 250к на удаленке, фуллтайм, но на деле 25-30 часов работаю. Знакомый рубист (4 года опыта) недавно устроился на 230к в ДС, искал работу неделю.
Говно. Sorcery - годнота.
4 года опыта в руби или вообще 4 года коммерческого кодинга и программирует с пелёнок?
4 года коммерческого опыта, до этого еще пару лет девопсом работал, а так программирует с подросткового возраста, насколько я знаю. У меня, соответственно, коммерческого 5 лет, программировал для себя всякие опердени лет с 14 и до пятого курса. На пятом курсе пошел работать я не быстрый. Но на самом деле я не думаю, что это так уж важно, написание лаб и прочей хуиты школотой/студентотой и коммерческая разработка это совершенно разные вещи.
Ничего не падает, откуда вы берете это дерьмо? С TIOBE что-ли? В РФ руби не популярен потому как английский знать нужно.
Падает. Пока другие языки развиваются руби торчит на месте. Я пытался ещё заводить рельсы и что-то писать, но не получилось, тк. Я так и не понял как эти ебучие гемы доустановить в рубимайн.
>Почему действительно падает популярность ruby?
Рубисты тихонько перекатываются на эликсир и кложу. Ну и еще есть стереотип, что без рора рубей нет. А так - он довольно популярный, париться на этот счет всерьез смысла нет.
>Где?)
Очень надеюсь что ты не Руби программист и никогда не станешь вкатываться в руби.
>Очень надеюсь что ты не Руби программист и никогда не станешь вкатываться в руби.
Я бы очень хотел, но даже в рубимайне блять настройка конфигурации какая-то ебанутая. Понимаю, что это не отговорки, но я просидел час, и сгорел. Попытался ради приличия запустить простой проект на роре - не установлены гемы. А как их сука через bundle команды прописывать, нихуя не сказано.
Все перепробовал. В итоге не судьба мне вкатываться в эту парашу, а жаль.
> А как их сука через bundle команды прописывать, нихуя не сказано.
> Все перепробовал. В итоге не судьба мне вкатываться в эту парашу, а жаль.
Ты специально в каждом треде семенишь для активности?
я че ебанутый что ли семенить?
Я и так уже работаю погромизтом, только меня интересует бек, который блять ебанутый везде. Только почему-то спринг сразу запустился, а эта параша нет.
Есть подозрение, что ты вендоблядь. Ведь иначе ты открыл бы консольку, написал bundle install и все бы у тебя заработало.
>Есть подозрение, что ты вендоблядь. Ведь иначе ты открыл бы консольку, написал bundle install и все бы у тебя заработало.
Конечно, я прописывал нихуя не работало.
В винде почти ничего не работает, а что работает - все через жопу. Даже гит поставить - это целый квест. Ну и вообще
>сидеть в /pr
>пользоваться недоос
хотя нет, все сходится, лол
Только руби-способный программист смешает мобильные ОС с десктопными.
Да все с вами ясно, уже по ходу мышления понятно что продукт сильно ограниченный. Собственно, вот и ответ почему популярность падает, кому нужен в 2018 не кроссплатформенный инструмент.
>Судя по ошибке у тебя файл не в UTF-8 сохранен, можешь проверить запустив find -bi filename.rb. Кстати, encoding: UTF-8 уже давно можно не писать.
Да я уже почистил руби и перестал пытаться.
Сейчас тем более свифт еще учить для иоса нужно. А так, буду спринг тыкать)
При чем тут руби? Тебе вроде по-русски написали, что там со ВСЕМИ дев-тулзами проблемы
Руби из хоумбрю лучше не использовать, установи через rvm лучше, раз уж ты на маке.
>Пока другие языки развиваются руби торчит на месте
А вот и неправда. Руби и его экосистема медленно, но уверенно развиваются. В этом году даже кол-во вакансий растет.
А то что у тебя там в РубиМайне что-то не настраивается я хз, проще конфигурирования чем в Руби я еще не видел. bundle install и дело в шляпе. Даже на винде, хотя исторически сложилось что на винде с руби не работают.
С Руби просто спал хайп. Теперь он занимает нишу надежного, стабильного решения для веб-разработки или написания скриптов. При этом он не "устарел", в тех же Рельсах последних из коробки доступно все что нужно для современного веба, и вебпаки, и сразу поддержка реакта/ангуляра/вью и т.д. А в сам руби завезли JIT-компиляцию.
Единственный минус Рельс - его чистая MVC архитектура довольно недостаточна для современных решений и подхода к коду. Поэтому частенько в рельс-проектах в папке app можно встретить самописные уровни абстракций - service и query objects, всякие policy, да много я видел. Некоторые из них (сервис обжекты) де факто стали стандартом. Потому что сейчас веб-приложения намного сложнее, чем 10 лет назад, и контроллера и модели не хватит чтобы красиво организовать всю логику. Поэтому есть такие штуки как Trailblazer или вообще Hyperloop (пишешь и бэк, и фронт на руби, объединяя модели на бэке и фронте, сокращая кол-во написанного кода; а руби-фронт потом превращается в реакт компоненты).
Короче, Руби жив и будет жить дальше.
>>47694
>>47538
Для 90% сайтов его более чем достаточно с головой, потому и популярый стал. Но его довольно неудобно настраивать под себя в случае каких-то нестандартных решений связанных с аутентификацией.
У меня все запускается через консоль. Тем более сделал как в туториалах блять от жидбрейнс и все равно не работает.
>bundle install и дело в шляпе
Конечно. ЧТОБЫ я сюда не писал, ничего происходить не будет. Почему рубимайн такая ебанутая иде? Скачиваешь андройд студио - все запускается с первого раза.
Делаешь хкоде приложения - все запускается с одного раза.
Скачиваешь спринг - все запускается с одного раза.
Пытаешься вкатиться на хобби в руби - нихуя не запускается.
Потому что для 98% Руби разработчиков не нужна IDE, тем более для хобби. Пиши в консоль bundle install и смотри что у тебя не так. А то ты пытаешься вкатиться через жопу и вместо того, чтоб понять в чем у тебя проблема - ноешь про редактор. В Рельсах аналогично все запускается с первого раза, rails new, rails server и смотришь в браузер уже.
Ну а если тебе не интересно решить эту проблему, то дальше тоже будет неинтересно. Потом выскочит проблемка с базой, потом с ассетами, потом с тестами и так дальше. Тем более на винде (на руби под виндой исторически не разрабатывают), тем более через IDE где ты не контролируешь процесс руками через консоль.
Я в консоле не привык работать из-за андройда, но конечно же буду пробовать. Мне че тогда, вим тыкать параллельно или есть другие популярные решения? Как установить рельсы через консоль вроде нашел гуиды.
Я не он, но попробуй visual studio code. Большинство рубистов сейчас на нем сидит или реже на атоме.
Единственная причина использовать rvm — ты привык жрать говно. Поэтому всё что ты предлагаешь -- это говно заменить на говно с подливой.
Я - он. И да, я тоже сижу на VS Code, лучший редактор на данный момент для руби/js/питона и веба. Атом тоже неплох, но лично он у меня медленней работает + плагины не такие удобные.
>>49059
Да, используй VS Code, там есть удобненький встроенный терминал и из него вручную вбивай все команды. rails new, rails s и вперед. А пердолиться с РубиМайном надо если ты точно знаешь чего ты хочешь и зачем тебе это. Лично я его использую только если у меня огромный легаси Рельс-проект на >50 моделей и контроллеров что было всего 1 раз.
Я когда начинал учить руби я тоже "по-крутому" сидел на винде и ебался с РубиМайном кек Там много подводных камней может вылезти, которые ты не увидишь т.к. нет опыта в Руби.
А с опытом ты поймешь что для Руби IDE и не нужна, это не джава и не плюсы.
Я потом переехал на линукс и правильно сделал, там все примерно в 100 раз удобнее. Во-первых, 90% туториалов используют Линукс, и не только руби: и бд, и гит, и ssh, и докер, все с чем пришлось столкнуться так или иначе по-людски на винде не работает.
Виндулька у меня для игрулек и фотошопа только.
Обосновал тебе за щеку. Боженька нам дал минимум 4 ruby version management тулзы, но советуешь ты худшую.
> У тебя аргументов нет?
Уже расчехлил свой фактомёт, приготовься.
> Сможешь назвать эти четыре менеджера версий?
Тебе нужно, ты и называй, лел. Кто тут мамин советчик?
> Почему рвм худший?
Субьективно, это говно использует системную версию рубей, когда спаунишь шелл в директорию с проектом. Вот делать нехуй '# cd' прописывать, чтобы заработало.
Объективно, rvm - overcomplicated, а аналоги - kiss. Вот ты не советовал ему rubymine? Так нахой это гавно пихаешь?
Чувак, ты ведь из лужи не пьёшь — ты ведь знаешь, что из луж нельзя пить?
rvm как раз самый простой и понятный в установке и использовании, самое то для новичка и пет-проектов на рубях.
Разве? Проще rbenv? Он ведь по сути нужен только из-за гемсетов, которые никто не использует.
> 10к звездочек на гитхабе
> 4к звездочек на гитхабе
На какой сам сядешь, на какой новичка посадишь?
>>49501
> rvm как раз самый простой и понятный в установке
Нет, ты врёшь или никогда не пользовался аналогами. RVM - это возня с логин шеллом, подчистка говна после апдейта менеджера, соснольные команды в 2+ уровня вложенности и т.д..
>Нет, ты врёшь или никогда не пользовался аналогами. RVM
А что тогда выбирать? Вы тут спорите что это за говно, а альтернативы не упоминалось.
мимоновичек
asdf самая годнота, можно менеджить версии руби, ноды, эрланга, эликсира и даже аллаха.
Пишу api для могильного приложения, бэк на рельсах.
Нужно обработать запрос а-ля GET /api/blah-blah?someparam=pampam
Исходя из значения someparam контроллер обрабатывает массив данных модели blah-blah, отдает их через render json: blah-blah,
где blah-blah - ряд данных типа id: int, title: string.
Вопрос: как мне в ответ json впихнуть для каждого blah-blah дополнительную переменную, чье значение (boolean) может меняться для каждого blah-blah.
Понимаю, что путано объясняю, но как могу.
Гуглил долго, вдумчиво. Не осилил.
Все же попытаюсь расписать подробнее:
В БД, условно, есть таблица с пользователями (Users) и какими-то еще штуками (Items).
Идет запрос GET /api/items?param=user_id
По user_id в контроллере находим пользователя.
Ему может принадлежать или не принадлежать Item.
В ответе на запрос выводим полный index Items (render json: items).
Нужно для каждого item дополнительно вывести значение переменной, условно, owned, если пользователю item принадлежит.
Т.н. ответ дожен быть примерно такой:
Т.е. ответ должен быть примерно такой:
[
{
id: 1,
title: title1,
owned = true/false
},
{
id: 2,
title: title2,
owned = true/false
}
А в чем конкретно проблема-то?
Чем старый-добрый new + call не устраивает? Магии захотелось? Ууу, тебе сейчас дам магии, бака.
>>51133
>Гуглил долго, вдумчиво
Чего ты гуглил? Первой ссылкой по запросу ruby render json include field выдает:
https://stackoverflow.com/a/17730474
Но вообще используй jbuilder. Возможно сейчас кто-нибудь начнет топить за active_model_serializer/fast_json, но jbuilder для простых API практичнее я считаю хоть и тормозное говно.
>
Спс, это я видел, это не то. Если разбирать то, что поссылке, то мне нужно вывести в json @programs, так, чтобы для каждой program выводилась дополнительная переменная, обрабатываемая в контроллере и значение которой НЕ присутствует в БД, модели и тп.
Все, разобрался, это через атрибуты модели делается.
Лучше: скорость разработки, элегантность и выразительность кода, меньше бойлерплейта, разработка через тестирование, лучше экосистема.
Хуже: производительность (в малых масштабах незаметно), распространенность на хостингах, стоимость разработчиков.
"Хуже" как бы не совсем адекватные пункты, но частенько они весомые и играют роль. Вот например текущий свой проект на работке мы делаем на ПХП потому что заказчик так попросил из-за того что потом для поддержки он не найдет рубистов, кек.
>производительность
Ай не пизди, laravel медленный, даже быстрый пхп7 не спасает ситуацию
https://www.techempower.com/benchmarks/#section=data-r16&hw=ph&test=query
Multiple queries
RnkFrameworkresponses per second
231laravel2,915
233rails2,862
Single query
280rails11,396
295laravel5,912
Fortunes
261rails7,931
269laravel5,399
Data updates
186laravel1,691
240rails660
и джанги
ну дык это микрофреймворк
Вот то что рельсы натянут ханами не ожидал.
На самом деле проблема не в Руби, а в том что теряется "монополия" языков, сейчас появляются новые фавориты - Дарт, Котлин. Питон становится очень популярным и перетягивает на себя челиков из пхп и руби. И так далее.
>Ещё я заметил, что передавать несколько аргументов не в скобках не самая лучшая затея, потому что, например, в случае со строками руби попытается их соединить. Например,
>Person.new "John" "Doe"
>Руби воспримет как
>Person.new "JohnDoe"
RuboCop выдаст warning на попытку написать такое:
>foo.rb:1:6: W: Lint/ImplicitStringConcatenation: Combine 'foo' and 'bar' into a single string literal, rather than using implicit string concatenation. Or, if they were intended to be separate method arguments, separate them with a comma.
Мань, через 10 лет школьники даже знать не будут что такое "ПК", он будет онли для сычей который дрочат свою хуйню занудную в фотошпе, автокаде, IDE
я залетный
Нода мб какая, но в идеале в жс не хочу вкатываться.
Kotlin
php и то активней развивается
ага, типа вам не нужны рельсы потому что вы хотите галеру дешевых малолетних хипстеров
но реально то же самое делать на пхп или на крайняк на питоне-дешевле и так же просто
> хипстеров
но РоР тоже хипстерский! лол
Да, ето так.
>Так он в 10 раз мертвее Руби.
чегоблядь.пнг
>Надо что-то элитное нишевое
Если прям ЭЛИТНОЕ, то кложа (пикрелейтед), но там антихайп антисмузи-культура, так что под твое описание не особо подходит.
он не мертвый,он очень специфичный функциональный язык в стиле руби
Вряд ли сдохнет вообще. Тем более через годика 2 третья версия, скорости работы которой будет достаточно, чтобы убрать свой главный минус - медленность интерпретации.
В остальном язык с устоявшейся экосистемой и приятным синтаксисом, причин умирать нет.
Наоборот когда упадет горячка по поводу SPA и PWA, которые грузятся и тормозят как пиздец, колесо обратно вернет нас к тому, что быстрее загружать каждый раз хтмл чем ебошить все приложение на клиенте. А там внезапно вспомнят почему так хороши Рельсы, Джанго, etc.
И все будет чики для Руби.
Он на высоте потому что Питочник на хайпе т.к. НЕЙРОНОЧКИ, по фунционалу он такой же как рельсы.
Потому что для некоторых они удобнее, Руби > Питон для веб-разработки.
А так это одно и то же, еще Ларавель есть, то же самое.
1. Меньше писанины кода. Роутинг, контроллеры и перекидывание переменных в Рельсах делается автоматом, ничего не надо импортировать, перекидывать переменные и т.д., все делается рельсами.
2. Руби 2.5 чуть быстрее Питона 3.
3. Экосистема вокруг Руби больше направлена на веб чем Питоновская, Питон более "общий" язык чем Руби, ну и конечно же НЕЙРОНОЧКИ.
Все зависит от того какой язык тебе больше нравится да и всё, остальное мелочи на самом деле.
php
Что скажете за данные курсы?
Курсы как курсы. Ничего особо интересного нет.
Читай книжки, а курсы смотри во время обеда.
Пилятся вообще-то, можно. Просто вакансий меньше, но тебе не нужно много вакансий, тебе нужна 1 та самая. По крайней мере у нас в Киеве есть вакансии на джуна, а в Днепре курсы по Рельсам и руби ежегодно в сентябре.
>а в Днепре курсы по Рельсам и руби ежегодно в сентябре.
Как же круто! В моей мухосрани на 800к вообще нет курсов никаких. А как же хотелось бы навернуть руби до ушей, пиздец. Как же горит, что я не могу притронуться к этой величественному языку, приходится работать джуном за 30к и параллельно уча еще другое направление.
Может быть я присоединюсь к вам через год или два.
Ну я, например, устраивался джуном на удаленку полтора года назад. Но мне повезло и такое редко бывает. Я сделал пет-проект для одной онлайн карточной игры, туда админы взяли работать, оказалось что сам проект на рельсах написан тоже кек.
Ну сейчас у нас проекты на пхп, а не руби, что довольно печально, но норм.
Но джун на удаленке сам по себе редкая птица. А по руби тем более.
Java это набор костылей и абсракных фабрик для энтерпрайза.
А Ruby - язык для души. Элегантный, выразительный, красивый.
> Ну сейчас у нас проекты на пхп, а не руби, что довольно печально, но норм.
А ты равньше выучил руби или php?
Сложно было после руби переходить на php, помог рубишный опыт?
Руби.
Естественно помог. После первого языка остальные учить в сто раз легче.
До руби я в универе видел и плюсы, и на джаве писал немного лабки. Так что руби, а пхп тем более не стали для меня сюрпризом. If'ы и циклы я учил еще на плюсах.
Но руби, конечно же, среди всех этих языков вне конкуренции. Очень приятный синтаксис и структура (все является объектом). Я как только увидел
3.times do
и узнал что числа и строки это все экземпляры классов Integer и String - сразу понял что Руби идеальный язык для меня. Начал учить его усиленно пока в универе сдавали лабки на джавер, потом рельсы, потом пет-проект и вуаля пригласили на удаленку.
Как же не нужен, язык общего назначения же. На нем пишутся различные скрипты, парсеры XML/CVS/Excel и т.д., скрапинг веб-страниц, на нем написаны Chef, Puppet и даже Vagrant.
А в вебе кроме рельс есть еще Hanami, а также куча маленьких фреймворков для маленьких сайтов.
Просто вокруг Руби спал хайп, но это не значит что его перестали использовать. Как раз наоборот, Руби состоявшийся и надежный язык с большой экосистемой и кучей готовых решений под что угодно.
И работа все так же есть наоборот в 2018 кол-во вакансий выросло, на Джинне анонимный поиск работы в Украшке каждые 2-3 дня вакансия на мидла. В Днепре есть курсы от RubyGarage где пытаются сделать новеньких рубистов.
Сам язык развивается, на подходе быстрая 3 версия.
Так что нет никаких проблем.
Ну а если не нравится сам язык и синтаксис - что ж, никто не держит, есть питон/пхп/js из аналогов.
> на подходе быстрая 3 версия.
ага щаз-2.6 альфа только, развитие крайне медленное
Сайт. Желательно не просто CRUD, а что-то интересное, тогда шансы устроиться джуном повышаются.
Вот у меня была база данных по картам и составитель колод.
>>61413
Ага, и ебаться с джанго. А еще конкурировать с сотнями других вкатывальщиков, т.к. питон щас на хайпе.
Учить надо то что нравится, а не то что популярно.
У Питона и Руби совсем разные философии. Питон это "должен быть только один очевидный способ сделать это", а Руби гибкий и поощряет свободу выбора и выразительность кода разными путями.
Впрочем зачем я отвечаю на толстую маньку которая зачем-то месяя сидит в руби треде и говорит что он нинужен
А я учил его когда-то, выбирал между перлом ещё.
Не смог вытерпеть отступы (надо будет таки доучить питухон, уж слишком распространённый язык, но руби всё равно приятнее).
Так я работаю с любимым языком. А если тебе не нравится, то все равно ничего не получится. Только лишь пополнишь ряды вкатывальщиков, которые за деньгами сюда пришли.
а я не толщу.
он отстает от трендов,застрял в конце 00,разработка как черепаха,они только начали пилить джит,может к 2020 выпустят его
Все что ты описал - неправда. Поэтому толстишь. Тут сто раз уже рассказывали про миф и уверенность в том, что руби остался языком из 2004 года. По скоросте языка и разработке он не уступает аналогичным интерпретируемым языкам для веба.
> По скоросте языка и разработке он не уступает аналогичным интерпретируемым языкам для веба.
php
perl
Ты немного не объективен всё же, хоть и >>61455 толстит. Руби не медленнее в типичных веб-задачах, это правда, но всё же ему не хватает производительности, в некоторых других задачах, ради которых пилят JIT сейчас. Без поддува гугла трудно сделать.
>>61455
Хоть JIT'а и нет пока, но руби не отстаёт от трендов и даже повлиял на многие языки (типа свифта от эпла, что уже о многом говорит).
Язык это не только реализация, но ещё и синтаксис.
Треды, нити, но с GIL'ом.
JRuby несовместим со многими либами — именно поэтому продолжают пилить MRI.
В конце недели тащемта, раз в сутки слишком живо, имхо.
Чувак, похоже это download master.
Лучше остановись, иначе линуксоидом станешь
А вообще это зависимости для функционирования gnu-окружения на основе которого работает руби и система сборки расширений, чтобы ты мог их ставить (они собираются из сишных исходников после скачивания)
ну что,попробуем камешек на твердость))
началось ,блядь
Вообще-то он есть, просто под виндой у тебя рано или поздно возникнут проблемы с гемами/окружением.
там основная проблема с гемами, которые на няшной написаны, и их надо самому компилить под винду, что часто приводит к танцу с бубном
на побаловаться пойдет.
а че программа так быстро запускается,как остановить процесс,что бы увидеть хелло Матц
я не понял как работает форматирование строк- %s и %
поясните
>hi = "Hello, %s"
puts hi % "Matz!" # => "Hello, Matz!"
puts hi % "people!" # => "Hello, people!"
puts hi % "universe!" # => "Hello, universe!"
пустил слезу
Вот так и я 2 года назад попробовал руби.
Помню сразу обосрался с этого:
3.times do
print 'Hello'
end
>>62022
Один из плюсов Руби - классное комьюнити. Т.к. рубишный подход к программированию привлекает особых доброняш, а токсиси идут в питон.
Но вообще да, вакансий мало. Они есть всегда мне буквально каждый день приходит новая вакансия на мидла, но новичку вкатиться сложно будет. Тут надо не через вакансии, а рассылать резюме и письмо про себя в конторы.
Не все так просто. Это метод класса. В руби всё является объектом, а все операции - вызов метода к объекту.
Например 3 + 5 это не просто 3 + 5.
3 и 5 это объекты класса Integer, а + это метод.
3 + 5 можно записать как
>3.+(5)
или
>3.send(:+, 5)
У школьника есть предметы, которые нужны ему на урок
Например, пенал, тетрадь, учебник. Кол-во предметов известно.
Я сделал модель ВЕЩЬ, с полем name, куда вписывается конкретный предмет.
Теперь вопрос, есть ли какие-то встроенные средства для того, чтобы проверять ВЕЩИ на уникальность в пределах одного ШКОЛЬНИКА.
Например, ШКОЛЬНИК не может иметь 2 пенала, но вообще 2 пенала могут быть и принадлежать разным школьникам
Я хотел было добавить unique: :true в миграцию, но это не сработает же.
Алсо, раз ВЕЩЕЙ планируется мало, 3-5, то индексировать их не обязательно?
Есть XML файл, в нем не указана кодировка. При попытке открыть файл для парсинга в XML формате, получаются каракули. При попытке открыть этот же файл для тех же целей в HTML, все работет. Открыл XML файл в редакторе и перебирал кодировку, встерил понятный текст на кодировке windows-1251. Перекодировать файл не получается. Не знаете в чем проблема? Большая ли разница парсинга HTML и XML?
"Hello world" это аргумент для метода puts, объект класса String.
А puts это метод глобального объекта $stdout класса IO.
Короче, тут надо книжку хорошую читать и много опыта, в 2 строчки на двоще ты это не поймешь.
Это значит, что нужно заменить кодировку на юникод, дядя
Анон, ты так нихуя не выучишь. Лучше для начала пройди какой-нибудь курс по основам языка. Например, вот этот https://www.codecademy.com/learn/learn-ruby
Блядь, действительно пройди уже какой-нибудь курс.
В коде-то не проблема валидацию на уникальность замутить. Меня интересовало, есть средства БД для этого (в моем случае postgres), чтобы оно кричало UNIQUE CONSTRAIT VIOLATED for this relation!1
слишком много хочу наверно
Нужно чтобы для каждого файла создался экземляр модели.
в парамсах разрешил
params.require(:modelname).permit(files: [])
а вот что писать в create? Как зааттачить файлы?
Разумеется что зааттачивать нужно не "файлы", а их url/имя.
Тебе уже сказали, пройти нормальный курс, т.к. судя по твоим постам далеко ты не уедешь, т.к. не умеешь гуглить и читать документацию.
вообщето по каждой теме я читаю сразу несколько статей,что бы наверняка,хотя некоторые подробности тяжеловато даються,как пример щас-ООП,иду со скрипом
Даниил просто проводит эксперимент. Он хочет найти предел терпения няшных рубидевелоперов и превратить их в токсичное быдло без страха и упрека
у меня такой задачи не стоит
Переменные класса следует воспринимать как служебные, специальные переменные, которые лучше не использовать.
Это такие переменные которые доступные всем экземплярам класса и просто при объявлении класса. Можно использовать переменную класса чтобы считать количество созданных экземпляров класса.
Переменная экземпляра класса это твой бро — хранит данные экземпляра и только он (экземпляр) может ими распоряжаться.
>
Переменные класса следует воспринимать как служебные, специальные переменные, которые лучше не использовать.
Это такие переменные которые доступные всем экземплярам класса и просто при объявлении класса. Можно использовать переменную класса чтобы считать количество созданных экземпляров класса.
это типа каркаса с параметрами,но без указания значений параметров?
может кинешь ссыль на нормальное объяснение,перерыл кучу сайтов,там дают какие то запутанные примеры
Напиши пару примеров сам — никакие объяснения не дадут реального опыта. Пока ты не пишешь библиотеки и очень сложные проекты, тебе понимать переменные класса не нужно, тащемта.
Я полтора года работаю с Рельсами и ни разу не пригодилось создавать переменные класса.
ну как бы для понимания языка-немаловажная вещь
вопрос на миллион
Скорее нет, чем да.
Об шпалу не уебись
какой я у мамы молодец.
ЧСВ
>где еще используется Руби
действительно,ГДЕ?
В общем, обновлялся кто-нибудь? Как оно там?
> Q: Можно ли на руби писать нативные GUI, мобильные приложения, игры?
> A: Нет.
Дико извиняюсь за тупой вопрос, но нахуй он тогда нужен?
RoR
1. Огромная база готовых решений. Авторизация, аутентификация, загрузка файлов, отправка писем и прочих уведомлений, отложенные задачи, обертки для миллионов API, парсинг всевозможных форматов, ORM вполне годная, если знать несколько особенностей и куча прочего. И все это хорошо интегрировано и настраивается в момент, после этого смешно слушать хоррор стори из того же нодо-мира о двух днях потраченных на настройку какого-нибудь вебпака.
2. Руби очень годный язык. По-моему мнению лучшей среди динамических языков. И невероятная гибкость языка это все-таки скорее плюс, все миддлы-сеньоры в любом случае знают фичи которых стоит избегать (их немного), но зато она позволяет создавать такие вещи как тот же pry - лучший REPL из всех которыми я пользовался.
И на самом деле за рельсами жизнь не заканчивается. Я видел достаточно небольших внутренних проектов на связках вроде sinatra + sequel, grape тоже часто используют для создания API.
irb/pry и правда няшечка-писечка.
это не мое личное мнение
не надорвись
Кроме тормознутости еще памяти жрет много, крупный рельсовый монолит легко может сжирать несколько гигов.
Из-за GIL все серверы приложений, для того что бы нагружать все ядра, до сих пор используют fork, к счастью MRI уже давно copy-on-write-friendly, так что особенно на потребление памяти это не сказывается. Еще есть JRuby, но использовать его часто не просто, так что большая часть проектов сидит на MRI.
Хватает легаси проектов с моделями на тысячи строк, хотя такой хуйни и в других языках хватает.
Язык развивается медленно, Матца хоть и принято любит в коммьюнити, но честно говоря я бы предпочел что бы он ушел и отдал проект кому-нибудь по-моложе. Хотя кандидатов на замену в любом случае по-моему нету.
А еще забыл про основную ORM написать (ActiveRecord). В целом она неплохая, но тяжеловесная и с просто огромными количеством методов, которые по-моему мнению не нужны у меня давно есть идея запилить activerecord-light. Плюс нюфагам с ней очень просто наворотить кучу N+1 запросов и потом кукарекать, что руби медленный. Реально казалось бы уже на каждом заборе написано, что не нужно так обсираться, уже даже гем сделали что бы предупреждать об этом, а все равно постоянно встречаю эту проблему.
Матц так-то давно передал большинство функций Коичи Сасаде (Коити Сасада), а сам больше евангелист теперь.
Каким боком ему бы это иметь?
Тут скорее рельса имеет влияние на руби (и много в руби появилось благодаря рельсе).
Нигде такого не написано.
Слишком тормознутый, нужно на фортран перекатываться. А то интернет все медленее и медленнее, железо дорожает и тоже становится медленнее.
Ну ок, переходи)
Я пробовал. В целом, если тебе нужна скорость и параллелизм, то он годен, но developer experience, хоть и неплохой, до рельс не дотягивает. Очень, конечно, нравится тотальная иммутабельность в эликсире, но минусов все-таки больше:
Стандартная библиотека заметно беднее.
Ecto неплох, но писать запросы на нем не очень удобно. То есть простые запросы-то пишутся довольно легко, но как только нужно что-нибудь посложнее сразу начинается еботня и становится проще сразу на SQL нахерачить. В ActiveRecord желание нахерачить на SQL у меня возникает реже.
С Decimal вообще цирк, каждый раз когда приходится его использовать у меня ощущение, что я вставку на лиспе пишу.
REPL опять же по-хуже, чем в руби.
Dialyzer заебешься нормально заставлять работать, да и все равно он тормозной.
Да, узнаёшь о куче n+1 у себя в коде, вынимаешь голову из жопы, фиксишь запросы и получаешь ускорение.
Третья версия рубей будет выпущена когда достигнут скорости в трое большей чем руби 2.
Ты меня спрашиваешь?
Вкатился в 2013 на хайпе, да и просто язык няшным показался после жабки, пришел в мелкую контору в ДС, показал что могу (почти нихуя) и меня взяли. Через полгода ушел на удаленку в другую контору, в офис с тех пор возвращался только один и ненадолго. В целом все что хотел от языка я получил, он до сих пор остается одним из топовых языков для удаленки, если не брать в расчет пхп, по очевидным причинам, то лучше дела тут только у js, но в него я тоже могу. В офисе пообещал сам себе еще в 2015 больше никогда не возвращаться. Хотя иногда подмывает задрочить алгоритмы и попытаться устроится в какой-нибудь гугол.
Первая работа один крупный российский портал по очень популярной тематике, сейчас он почти сдох, потом российский стартап, у которого теперь обороты в сотни миллионов, а скорее всего и миллиарды (когда только пришел доход был еще нулевой, происходило бы это в США, у меня 100% был бы солидный пакет акции стоящий овердохуя, эх), наверняка о нем многие слышали тут, потом внутреннию CRM для крупного европейского бизнеса, плюс было еще несколько проектов по-мелочи.
>>64386
За те деньги которые там платят я готов многое потерпеть.
Зачем ты здесь семенишь, обсирая руби при этом продолжая задавать по нему вопросы? Уже месяц где-то.
http://www.cleveralgorithms.com/
Алгоритмы математической оптимизации (имитация отжига, генетика, нейроночки) с примерами на нашем любимом няшном Руби
Парни, как разобраться в рельсах, так чтобы понимать прямо мясо как оно работает внутри? Я просто из Go и Java пришел и некомфортно как-то когда не понимаешь как все работает изнутри.
запомни-в Руби,все МАГИЯ
Ну а ты понимаешь как тот же Sping работает?
куда уж медленее
ну не совсем, просто там будет много картинок, вот так мы написали, теперь мы вот это поменяли и у нас вот так стало, а вот тут и скриншотик из браузера, мы молодцы, продолжаете в том же духи
не угадал,там сплошной код. книга-путь рельс 5,во второй книге поменьше
Примерно в два раза.
Можешь потыкать тут куча разных тестов:
https://rubybench.org/ruby/ruby/releases?result_type=bighash
Ожидается оптимизации памяти и тредов, так что да, как минимум разговоры об этом идут.
У salesforce дела идут хорошо, так что денежек на это жалеть не будут.
Плюс IBM пилит какую-то свою гитлер-машину отдельно от основной команды для ускорения руби, может и их наработки как-то будут использоваться потом (новостей о них правда кот наплакал).
тут выше бенч кидали на всякие фреймворки, так там рельсы упали в производительности за 4 месяца
>лучшей среди динамических языков
зачем его таким сделали?
>проще сразу на SQL нахерачить
Капитан Очевидность тем временем дежурно напоминает, что ЭктивРекордс - это антипаттерн ^_^
>>65462
Я другой анон, но многие действительно не понимают, что такое "репл". Питонорубисты обычно думают, что "лучший репл" - это типа когда у тебя подсветка синтаксиса и скобочек в консолечке, лол. Ну то есть они путают репл-клиент с собственно самим реплом. REPL (read-eval-print-loop) - это модель выполнения, при которой у тебя есть живой процесс твоей программы со встроенным в нее компилятором, и ты можешь по сети посылать внутрь нее новые формы, которые компилируются, добавляются в живой образ твоей программы и исполняются, так что ты можешь менять как код, так и текущее состояние твоей программы. Ближайший аналог - это, внезапно, консолька у тебя в браузере или looking glass в gnome-shell, или имакс....
Многие почему-то под репл понимают просто интерактивную консольку или интерпретатор, хотя они вообще-то к реплу имеют очень мало отношения. Даже хотя бы потому, что там нет отдельной фазы read (read-eval-print loop, ага), лол
Алсо, забавно что ты назвал того анона скобарем в руби-треде, ололо
Где-то в параллельной вселенной:
>c++-тред:
>байтоеба забыли спросить, лол))))
М?
а че так?
А это не так критично. Все равно кубернетес если надо развернет нужное количество нод с помощью cluster-autoscaler и так же уберет если нужно.
>REPL (read-eval-print-loop) - это модель выполнения, при которой у тебя есть живой процесс твоей программы со встроенным в нее компилятором, и ты можешь по сети посылать внутрь нее новые формы, которые компилируются, добавляются в живой образ твоей программы и исполняются, так что ты можешь менять как код, так и текущее состояние твоей программы.
Тогда лучший репл в Erlang/Elixir. Правда я пока не разобрался, как с ним роботать.
> developer experience, хоть и неплохой, до рельс не дотягивает
Нормальные вьюхи в фениксе хотя бы тебя не покорили?
>Очень, конечно, нравится тотальная иммутабельность в эликсире
Ну это и в Руби легко делается. Вот паттерн-матчинга очень не хватает.
>Ecto неплох, но писать запросы на нем не очень удобно. То есть простые запросы-то пишутся довольно легко, но как только нужно что-нибудь посложнее сразу начинается еботня и становится проще сразу на SQL нахерачить
Может ты просто пока не освоил как следует?
>В ActiveRecord желание нахерачить на SQL у меня возникает реже.
Инкапсуляции нет.
А ничего, что под конец, линуксовый петушок с гномом обосрался и показал незнание руби?
В котором как раз есть полноценная и мощная REPL инфраструктура.
> Толсто, попробуй лисповый репл сначала.
Что толсто-то, каких конкретно скобарных фич тебе не хватает в поделке пиздоглазого клона КОДЗИМЫ?
Чтобы он был полноценный и мощный, он должен поддерживать REPL Driven Development. А он этого не поддерживает. Нельзя сохранить измененный живой образ программы, и запустить его заново. REPL в руби, как и в большинстве языков - обрезок он нормального репла.
Очень хороший маневры.
Я нигде не писал о полезности или нужности. Не приписывая мне свои фантазии.
Я оспаривал вышесказанное - в руби полноценный и мощный - пиздабольство.
Нет, чувак, пиздабол это ты — в руби действительно мощный и полноценный REPL, в котором реализованы все буковки (R,E,P,L) и работают, плюс мета-программинг.
Ты приводишь классную штуку в качестве аргумента, но она уже за рамками REPL.
Плюс у тебя просто горит, от того что наш мёртвый тред и язык, популярнее и смуззихлбнее твоего мёртвого языка, которым пользуются только на выходных потому, что надоела сишка или 1С.
В смоллтоке, эрланге, форте и лиспах в общем и целом один подход, так что можно считать, что у них "лучший репл" (на самом деле - у них репл, а у остальных просто шелл\интерпретатор). Если объективно, то лучший репл на сегодня в кложе, так как там много годного тулинга под все платформы и в целом вся экосистема под это заточена (например, reloadable workflow, component и т.п.)
>>65882
>Ну это и в Руби легко делается.
Ну это ты загнул. В своем изолированном манямирке это конечно можно сделать (с потом, кровью и костылями), но как только начинается рилворлд - тут сразу соснешь. Хотя бизнес логику все равно конечно лучше в чистом стиле (пытаться) писать.
>>65915
Коллега!
>>66027
Проиграл с этого поста.
>>66042
>в котором реализованы все буковки (R,E,P,L)
Погугли на досуге, что такое ридер, гомоиконность... хотя впрочем - забей, не надо тебе этим голову забивать.
> В смоллтоке, эрланге, форте и лиспах
Собрал почти все зашквары, забыл хачкель и ещё говно какое-нибудь.
> Погугли на досуге, что такое ридер, гомоиконность... хотя впрочем - забей, не надо тебе этим голову забивать.
Не буду, лишь бы не стать таким мудилой как ты.
> Ути моя умничка
Ути-хуюти
> Ох... ты даже приблизительно не понимаешь, о чем тут в треде почтенные господа беседуют.
Если ты такой охуенно умный, то объясни своими словами, так чтобы даже ребёнок понял — не можешь значит ты хуй.
Олсо, не забудь подкрепить свои аргументы ссылками на пабмед и руби-дот-ком и другие уважаемые источники.
> и ты можешь по сети посылать внутрь нее новые формы, которые компилируются, добавляются в живой образ твоей программы и исполняются
Хуй знает что ты имеешь в виду.
> по сети посылать внутрь нее
Без сокета не программируется?
> ты можешь менять как код, так и текущее состояние твоей программы
Как любое рельсовое приложение?
Но в любом случает ты говоришь про REPL-модель исполнения и про REPL-клиент — ну ок, ты победил, мы неправильно термин используем, лучший репл-клиент.
Доволен?
>Если ты такой охуенно умный, то объясни своими словами, так чтобы даже ребёнок понял — не можешь значит ты хуй.
>Олсо, не забудь подкрепить свои аргументы ссылками на пабмед и руби-дот-ком и другие уважаемые источники.
https://baltazaar.wordpress.com/2009/07/20/a-story-about-lisp-remote-debugging/
мимо-лиспер
Ну, насколько я понимаю ты можешь использовать этот верт.х как шину сообщений в рор-приложении (вот только зачем), но я особо не в курсе подводных, не копался.
>>66230
>Хуй знает что ты имеешь в виду.
Ну установи любой из перечисленных выше языков да разберись, например.
>Без сокета не программируется?
Почему, можно и через стдин читать.
>Как любое рельсовое приложение?
Нет.
>лучший репл-клиент.
Тогда уж лучше говорить "шелл", если совсем заморачиваться с терминами, потому как репл-клиент по идее подразумевает подключение к репл-серверу.
>Доволен?
¯\_(ツ)_/¯ мне-то похуй, меня спрашивают - я отвечаю, никаких эмоций по этому поводу не испытываю.
> A half year after the space craft launched, a bit of Lisp code was going to control the spacecraft for two days while conducting a sequence of experiments.
> Unfortunately, a subtle race condition in the code had escaped detection during ground testing and was already in space. When the bug manifested in the wild–100 million miles away from Earth–the team was able to diagnose and fix the running code, allowing the experiments to complete.
Понятно почему лисп не выходит дальше влажных фантазий штульмана.
> Ну установи любой из перечисленных выше языков да разберись, например.
Долго.
> ¯\_(ツ)_/¯ мне-то похуй, меня спрашивают - я отвечаю, никаких эмоций по этому поводу не испытываю.
Тебя никто не спрашивал тащемта, ты сам в тред прибился.
> Почему, можно и через стдин читать.
Да ты шо, правда?
> Тогда уж лучше говорить "шелл", если совсем заморачиваться с терминами, потому как репл-клиент по идее подразумевает подключение к репл-серверу.
Я просто хотел тебе подыграть, чтобы ты успокоился.
Иди в пизду, у рубей нормальный репл.
В кложе просто больше наворотов.
Ты же срёшься как дурачки иногда возмущаются тому что, КПК теперь называют смартфонами.
Из мусора сделали арт-объект - не значит что оригинальный мусор был хорош.
Ещё начните тут обсуждать работу и постить вакансии.
Ты разным анонам отвечаешь.
>Понятно почему лисп не выходит
Эм... он вообще-то уже вышел, потом зашел обратно, и недавно вот снова вышел. Алсо, ты же в курсе, что руби - это лисп для бедных, да?
>Тебя никто не спрашивал тащемта
>>66198
>>66230
>у рубей нормальный репл.
>В кложе просто больше наворотов.
Опять двадцать пять, лол. Дело не в наворотах (на них как раз плевать), а в разных подходах к дизайну языка.
>Ты же срёшься
Нет, не я.
>>66284
Тред держится на плаву исключительно благодаря эликсиру!!11 Давно пора его в шапку добавить, кстати.
> Тред держится на плаву исключительно благодаря эликсиру!!11 Давно пора его в шапку добавить, кстати.
У элексира отдельный тред был на доске вроде.
>Тебя никто не спрашивал тащемта
>>66198
>>66230
Изначально тебя никто не спрашивал.
Не нужна никому из нормальных людей твоя кложа.
Это язык программирования-полигон идей для других ЯП, дипломная работа.
> Опять двадцать пять, лол. Дело не в наворотах (на них как раз плевать), а в разных подходах к дизайну языка.
Концепция REPL простая и не предполагает сложной и заумной реализации кложи, просто смырись и прекрати копротивление.
> Тред держится на плаву исключительно благодаря эликсиру!!11 Давно пора его в шапку добавить, кстати.
А почему эликсироводы сами не создадут себе тред?
>Изначально тебя никто не спрашивал.
Изначально вообще другой анон поправил ошибку третьего анона, а я его потом дополнил. Алсо, тут не твоя личная борда, иди-ка почекай свои привилегии.
>Не нужна никому из нормальных людей твоя кложа.
Ты наркоман? При чем тут вообще кложа? Сейчас как бы ты о ней начал говорить, но она почему-то "моя", лол. Тебя кложурасты на рубиконфе покусали, да? ^_^
>Это язык программирования-полигон идей для других ЯП, дипломная работа.
-.\\ Анон, ну если ты вообще совершенно не в курсе, то зачем пиздеть? Это называется "слышал звон, да не знаю где он" хотя тут ты походу и звона не слышал, лол. Ты путаешь языки типа хаскеля (которые про академиков и исследования) с языками типа кложи (которая про хуяк-хуяк и в продакшн, автор ее изначально запилил для своей конторы, чтобы быстрее писать распределенные интерпрайс-опердени на джаве). Если не шаришь - зачем пиздеть? Не понимаю таких людей, какой смысл выпячивать свою неосведомленность.
>Концепция REPL простая
Верно. Поэтому у меня вызывает удивление, когда кто-то не может ее понять, ведь там понимать-то особо нечего - чай не рокет сайенс.
>А почему эликсироводы сами не создадут себе тред?
Не знаю, наверное это нужно спросить у эликсироводов, не?
> иди-ка почекай свои привилегии
Я хуемразь и знаю свои "привелегии".
> Ты наркоман? При чем тут вообще кложа? Сейчас как бы ты о ней начал говорить, но она почему-то "моя", лол. Тебя кложурасты на рубиконфе покусали, да? ^_^
Ну за какую там академическую лиспуху ты топишь, вот то и не нужно.
> Ты путаешь языки типа хаскеля (которые про академиков и исследования)
Ноуп, не путаю — ещё раз, кложи/лиспы это полигоны для обкатки и проверки теорий информатики и программирования, пишут и развивают их учёные-алгоритмизды.
Причём есть ниша около-коммерческая для "профессиональной" науки которую занимают хачкель и R (который калька S) — для научных расчётов и статистики, с библиотекой формул и чуть более специфическим синтаксисом и вниманием к большим интегерам и флоатам, чтобы не получалось 0.00000000000000000000001 из-за оптимизаций в ЦПУ.
> Верно. Поэтому у меня вызывает удивление, когда кто-то не может ее понять, ведь там понимать-то особо нечего - чай не рокет сайенс.
Бака. Всем всё понятно, но тебе захотелось блеснуть знаниями.
> Не знаю, наверное это нужно спросить у эликсироводов, не?
Ну ладно, спроси у них.
Зачем? И так ясно, что все руби-няши трудоустроены в отличные молодые коллективы с просторными коворкингами в центре города и вкуснейшим смузи, да других вакансий (которых, конечно же, значительно больше, чем руби-няш) в руби-мире и не бывает.
>Верно. Поэтому у меня вызывает удивление, когда кто-то не может ее понять
Ты просто дурачок. R - означает чтение строки кода из консольки, а не какое-то там чтение стейта и прочию хуитку, которую ты выше описывал. В итоге получаем:
R - прочитали строку кода
E - выполнили
P - напечатали результат
L - повторили
>Не знаю, наверное это нужно спросить у эликсироводов, не?
Они его создавали, но он утонул, в отличие от мертвого треда мертвого языка, который с нулевой не уходит.
> Цитирует кусок текста, в котором описывается удалённая отладка и модификация наживую программы управления космическим кораблём, написанной на лиспе
> Понятно почему лисп не выходит дальше влажных фантазий штульмана.
Блядь, более жирных троллей я видел только в /s/ перводвача, да и то редко. Вас где-то специально двоемыслию обучают, наверное?
>кложи/лиспы
>пишут и развивают их учёные-алгоритмизды.
Лол, ну как скажешь.
>хачкель
>для научных расчётов и статистики, с библиотекой формул и чуть более специфическим синтаксисом
Лол. Заскринил.
>Всем всё понятно
Сколько тебе лет? Просто любопытно.
>>66315
Википедию тоже дурачки написали, к сожалению, - поправь там пожалуйста ошибки, твои правки наверняка зааппрувят. Ты ведь умеешь в английский, да? Вот:
https://en.wikipedia.org/wiki/Read–eval–print_loop
>The read function accepts an expression from the user, and parses it into a data structure in memory. For instance, the user may enter the s-expression (+ 1 2 3), which is parsed into a linked list containing four data elements.
Алсо,
>чтение стейта
как в жс-тред попал, ей-богу, лол
>>66317
>который с нулевой не уходит.
А все благодаря чему? Благодаря ЛИСПЕРАМ-АКАДЕМИСТАМ, конечно!
Дурачок здесь только ты. Гугли LISP system image, попытайся вникнуть, когда старшие товарищи тебе, судя по твоему максимализму, не больше двадцати двух по доброте душевной делятся с тобой опытом.
> Википедию тоже дурачки написали
И к чему у тебя претензии ?
Чтение строки и конвертация её в код для эвала на этапе эвала это и есть READ (а если заменить R на D — получится DEAD, совсем как этот тред).
А тебе не приходило в голову, что от лисперов просто много шума в интернете? Как от линуксоидов тех же.
Эти поехавшие по всем статьям ходят и пытаются примеры кода на лиспе вставить, криппер инсайд.
Как часто ты пишешь в интернете что-нибудь типа: "Ну вообще я виндой не пользуюсь, ведь линукс…", "В лиспе это гораздо лучше чем в твоём ЯП-нейм" ?
>In a REPL, the user enters one or more expressions (rather than an entire compilation unit) and the REPL evaluates them and displays the results
Зачем мне что-то исправлять, ведь под это определение irb и pry вполне подходят. Каким образом REPL относится к system image не понятно. Кстати, дампить байткод и потом его загружать руби умеет, думаю если поебаться, то можно что-нибудь похожее на system image запилить только это нахуй никому не нужно.
>И к чему у тебя претензии ?
Apparently к твоему уровню английского, лол. Программин фром май харт.
>>66342
А теперь прочитай еще раз, пожалуйста, процитированный текст, который зелененьким шрифтом выделен. Речь о том, что такое read-фаза, и чем это отличается от "чтения кода из консольки". Репл, гомоиконность, еще постов 50 назад об этом писал, на третий круг тред заходит. Глядишь так и до бамп-лимита сегодня добьем.
>>66332
А ты еще и на винде сидишь, лол? Нет, ну ты точно не мимикрирующий жаваскриптер, а?
> А ты еще и на винде сидишь, лол?
На маке, слава богу я прошёл фазу обучения на дебилиане и теперь точно знаю какая обдристаная параша этот десктопный линукс.
> гомоиконность
Лиспер в очередной раз доказывает всем то лисп такой один — неуловимый джо снова всех обыграл!
> А теперь прочитай еще раз
Прочитал, руби (питухон) делают именно это.
К чему у тебя претензия до сих пор не понимяу.
Эээ, не, про гомоиконность там ничего нету. Там написано перед твоим зеленным текстом:
>The read function accepts an expression from the user, and parses it into a data structure in memory
Руби вполне себе тоже парсит введенный текст в некоторые внутренние структуры данных, можешь не сомневаться. А дальше уже:
>For instance
Т.е. дальше идет просто пример на лиспе.
Врёти!!!1
Ваш REPL, не REPL!!!
Можно ссылку на lisp.org где сказано, что в рубях тот самый РЕПЛ?
>На маке
Ну вот, а я уже приготовился покекать как следует. Хуй знает, что там у тебя за параша была, у меня все просто работает(с)(тм) и есть не просит.
>Лиспер
Интересно, ты всех, кто знает, что такое malloc, байтоебами называешь?
>К чему у тебя претензия до сих пор не понимяу.
Потому что срешься на двачике вместо того, чтобы потратить 15 минут и разобраться в обсуждаемой теме, ну.
>>66349
>The name read–eval–print loop comes from the names of the Lisp primitive functions which implement this functionality:
Жопой читаем?
>For instance, the user may enter the s-expression (+ 1 2 3)
А может, for instance, ввести и (- 3 2 1). Мммкей?
Давайте вы уже перестанете ебать себе мозги и прочитаете про отличия традиционных лиспов и нетрадицонного лгбтсжв-лиспа то бишь сабжа, хотя бы из уважения к шакальному Матцу, блядь.
>Жопой читаем?
И что? Ну ок, название пришло из лиспа. И что теперь ИСТИННЫЙ REPL возможен только в лисп?
>А может, for instance, ввести и (- 3 2 1). Мммкей?
Что ты вообще несешь?
Вся соль вот тут:
>The read function accepts an expression from the user, and parses it into a data structure in memory
Рубишный REPL читает и создает структура данных? Да.
>The eval function takes this internal data structure and evaluates it
Выполняет? Да.
>The print function takes the result yielded by eval, and prints it out to the user
Выводит результат? Да.
Невероятно, но значит в руби таки есть REPL. Так что сливайся уже или тебе и правда ссылочка на lisp.org нужна?
Блин, Содомит — я уже не понимаю, ты тролишь или реально такой сам по себе.
https://youtu.be/JVLRgXCEUbM
> Хуй знает, что там у тебя за параша была, у меня все просто работает(с)(тм) и есть не просит.
Я не только дебилиан использовал кстати, все десктопные линуксы одинаковое говно.
> >The name read–eval–print loop comes from the names of the Lisp primitive functions which implement this functionality:
> Жопой читаем?
В руби парсинг с исполнением делается одним эвалом (под капотом можно угореть ), ну ОК в руби Эвал Принт Луп.
>И что теперь ИСТИННЫЙ REPL возможен только в лисп?
Нет, еще в смоллтоке, эрланге, форте... анон, выше все уже писали, почитай тред.
>Что ты вообще несешь?
Тебе перевести? "Например, юзер может ввести форму (+ 1 2 3) - тогда ф-ия read вернет список из символа и трех чисел", ну или что там далее по тексту было.
>Рубишный REPL читает и создает структура данных?
Нет, в руби нет отдельной read-фазы, он не гомоиконный.
>Невероятно, но значит в руби таки есть REPL.
Ctrl-F -> "модель выполнения", выше по треду этот вопрос уже подробно обсудили.
>>66367
>я уже не понимаю
Ты это в каждом посте пишешь, заметил? ^_^
>Я не только дебилиан использовал кстати
¯\_(ツ)_/¯ УМВР
>ну ОК в руби Эвал Принт Луп.
Если хочется максимальной точности, то лучше называть это "interactive shell". А если не хочется, то всем похуй, интерпретаторы часто реплами называют просто по аналогии. Кстати, мы выше по треду это уже обсудили пару раз. Предлагаю обсудить это снова!
>Нет, в руби нет отдельной read-фазы, он не гомоиконный.
Это не является требование концепции, а лишь особенности лиспа и ему подобных, смирись.
> Ты это в каждом посте пишешь, заметил? ^_^
Зачем мне это замечать? Олсо, это выражает моё неподдельное негодование.
> ¯\_(ツ)_/¯ УМВР
Платиновые мантры линуксоидов… if !УМВР then НЕНУЖНО.
> А если не хочется, то всем похуй, интерпретаторы часто реплами называют просто по аналогии.
Ну так и от чего у тебя такой ПОМПАЖ и БРАНДЕНБУРГ если ты сам понимаешь ничтожность сих прений?
>он не гомоиконный
Окей, я понял о чем ты. Ты и другие поехавшие лисперы написавшие статью на вики считаешь, что структура данных выходе из read должна быть структурой из самого рассматриваемого языка (гомоиконность, да). Я и прочие люди из 21 века считаю, что это не нужно.
>Это не является требование концепции
Эм, а я где-то утверждал обратное? Ты совсем запутался уже.
>Платиновые мантры линуксоидов… if !УМВР then НЕНУЖНО.
Эм, в чем мантра? У тебя были какие-то проблемы, у меня таких проблем нет. Алсо, если у меня что-то не работает так как я хочу, то мне это нафиг ненужно, все верно - что не так-то?
>Ну так и от чего у тебя такой ПОМПАЖ и БРАНДЕНБУРГ
Эм?.. мне задают вопросы - я отвечаю, говорил же.
>>66388
>Ты и другие поехавшие лисперы написавшие статью на вики
Ага, значит все-таки ЗАГОВОР ЛИСПОРЕПТИЛОИДОВ С ПЛАНЕТЫ НИБИРУ! Ахахаха, ну я же говорил. И ведь и Брут Матц-то тоже из этих - нигде от них спасу нет((
>считаю, что это не нужно
Про это проклятые жидолисперы тоже уже написали лет дцать назад - гугли "парадокс блаба". Точно так же если показать айфон пещерному человеку, он тебя пошлет нахер и скажет, что это НЕНУЖНО(с)(тм) - им ни мамонта не уебешь, ни огонь не разведешь, да?
Алсо,
>структура данных выходе из read должна быть структурой
Я ничего про "должна" не говорил. Я тебе просто объяснил, что у функции "read" (и слова "REPL") есть вполне конкретное значение, с которым ты раньше попросту не сталкивался, и поправил, когда ты сказал, что в руби то же самое. А уж кто там чему что должен - мне до лампочки.
>У тебя были какие-то проблемы, у меня таких проблем нет. Алсо, если у меня что-то не работает так как я хочу, то мне это нафиг ненужно, все верно - что не так-то?
Проиграл. То есть смысл в том, что ты как-то раз обмазался дебианом, и с тех пор у тебя нарушения психики, так? ;)
Смысл в том, что я 10 лет пользовался десктопным линуксом, включая домашнее использование без дуалбута и отлично знаю все о нём и о линуксоидах его использующих.
Я просто перерос юношеский максимализм, который у тебя как раз и проявляется и в привязанности к линуксу и лиспу.
Лисп охуенный концептуальный язык, просто он не для прода и не для больших команд.
Ты по сути сам уже всё сказал — реал лайф лисп это лисп от матца — руби. Риал лайф линукс это макОС.
А теперь можешь гореть и копротивляться.
>реал лайф лисп это лисп от матца — руби
Да нихуя, руби - это лисп курильщика. Риал лайф лисп - это лисп от Хикки.
Ты сдался как раз в тот момент когда линукс для десктопа наконец-то начал становится годнотой. У меня в последние пару лет наконец-то все начало работать из коробки все то с чем раньше приходилось ебаться. Блютуз наушники, поддержка нескольких мониторов, hidpi, слип, потребление батареи.
мимопроходил
Мысли свои нормально выражать научись, болезненный
Стайлгайды:
1. https://github.com/airbnb/ruby
2. https://github.com/github/rubocop-github/blob/master/STYLEGUIDE.md
3. http://shopify.github.io/ruby-style-guide/
>10 лет пользовался десктопным линуксом
>отлично знаю все о нём и о линуксоидах его использующих
Логика уровня сжв, лол.
>Я просто перерос юношеский максимализм, который у тебя как раз и проявляется и в привязанности к линуксу и лиспу.
Извини конечно, но это сферический случай ПРОЕКЦИЙ в вакууме. У тебя там 10 лет были какие-то привязанности и максимализмы, от которых ты "излечился" - ну ок, я-то тут при чем?
>Лисп охуенный концептуальный язык, просто он не для прода
Ты про Лисп 58 года от деда Маккарти? Ну да, он действительно не для прода, бгг. Если ты не понял - не такого языка, проснись.
>реал лайф лисп это лисп от матца
Не, реал лайф недолисп - это жс, а руби - это просто тормозной манялисп от очередного неосилятора с веб-фреймворком из 2005. Хотя если сравнивать его с остальными недолишпами-современниками, то руби естественно самый вменяемый из них.
>А теперь можешь гореть и копротивляться.
¯\_(ツ)_/¯
>>66532
Лол, он кстати известный кложурист. Теперь точно: Руби официально ВСЕ(с)(тм)k
>Теперь точно: Руби официально ВСЕ(с)(тм)k
Ну наконец-то! Может ты уже прикроешь поддувало.
Мимо читаю тредик и уже заебали тру-реперы со своим "кто тут риал гангста шит".
Рубич еще актуален?
Нет, буквально недавно выяснили, что ЛNСП это последний писк моды, а руби мёртв.
>проще конфигурирования чем в Руби я еще не видел. bundle install и дело в шляпе.
> dependency
> dependency
> error
)
>просто под виндой у тебя рано или поздно возникнут проблемы с гемами/окружением.
проснись маня, уже давно девкит есть https://rubyinstaller.org/add-ons/devkit.html , а сейчас в новых версиях уже все из под коробки работает
Ты их видел в реальной жизни? Был на Руби-конфе, 98% элитные няшки уровня смузи и бабершопа.
Смуззи фруктовый или офощной?
вопрос про другое был,почему при такой няшности у него мизер рынка и стагнация
Глядите, рубаны, тут 75$ в час джунам платят.
Потому что у него своя маленькая ниша (прототипирование/стартапы на Рельсах и маленькие скрипты). Руби не энтерпрайз язык чтобы быть таким популярным как Джава и не затычка в каждом браузере как Джаваскрипт. Есстественно он будет нишевый и мизерный на рынке, так всегда было. В том же фрилансе он очень популярный на апворке, например.
И да, что такое "мизерный"? На рынке полно вакансий для руби и рельс. Или тебе спокойней на душе, когда вакансий не 100, а 5000? От этого ничего не меняется. Даже если вакансий на рынке 5 - тебе нужна всего одна.
Уже записался, расписал про себя какой я няша. Тем более я не совсем белый новичок, у меня есть определенный опыт коммерческий и т.д. Надеюсь возьмут, лишние 300~ бачей в месяц на помешают + вклад в опенсорс кайфовый.
Дураку важно количество. Дурак всегда ищет супер пушку, супер кнопку, супер язык программирования. Если перед дураком выложить все виды молотков, он спросит какой лучше, хотя лучшего нет и одинаковые они только с виду.
Кстати на свифте кодить как-то проще со знанием руби.
Можно не делать, а просто на вордпресе, плюс шаблоны или вообще на сайте конструкторе которые рекламируют западные ютуберы (и языка там никакого не видишь совсем).
На руби:
1. Быстрее писать код
2. Проще поддерживать - рубисты придерживаются одного стиля и подхода
3. Программист счастлив - продукт получился качественным
На пхп:
1. Код всратый, общие известные проблемы пхп
2. Поддержка пхп - ад. Один делает так, другой так, третий пишет лапшу, четвертый вообще вставлят код через админку вордпресса
3. Программист недоволен - результат слабый и неискренний
Алсо руби не берут для "говносайтов", его берут когда нужна кастомная бизнес-логика и чтобы это заняло не полгода писать.
А если тебе нужен блог, то рельсы офк не нужны, бери вордпресс и удачи.
А правда, что в Руби до сих пор все написано на глобальных переменных, статических методах и полях? И что там одни модули могут патчить другие?
Это фича, а не баг.
Элегантность, выразительность, - что выливается в удовольствие для программиста.
Руби приятно читать и на нем приятно писать. Пластилин для ребенка = Руби для программиста.
Пикрелейтед.
Гибкость:
class Numeric
def plus(x)
self.+(x)
end
end
y = 5.plus 6
То есть, менять язык прямо на ходу. Всё в Руби является объектом.
Да, он не самый быстрый как Си, да, он не пытается в энтерпрайз и абстрактные фабрики как Джава, да, он не пытается в хайп и ML как Питон, но у него есть свои плюсы и среди динамических языков для веба по моему мнению он лучше всех.
Ломаный RubyMine
>Мнение залетной мелкобуквы не спрашивали.
ты по факту ответить можешь,где прикладные программы на руби?
Нет, это IDE. Вот Vim - да, текстовый редактор.
Каждый тред врывается в тред какой-то аутист утверждающий, что на руби никто ничего не написал, видимо в топ 10 ЯП он за счет хелло вордов стабильно уже 10+ лет держится. На держи: GitHub, AirBnB, Salesforce, Chef, Pupper, RubyMotion, Homebrew, Discourse.
Исчезновение Chef и Puppet никто не заметит? Да ты ебанутый, на них же весь современный девопс строится.
Сначала разберись в теме, потом хернякай тут, залетный.
Статья устарела лет на 5.
ААааа, чорт, я довн.
Учитывая то, что ты не понимаешь зачем нужно ставить проебл после запятой — думаю ты много чего ещё не понимаешь.
Я не придираюсь.
На самом деле да, придираюсь, и ничего плохого тут нет, особенно в данном случае.
Это показывает, что в голове у тебя беспорядок, а значит общение с тобой непродуктивно.
я нормальный вопрос задал-выше писали что для мелких или быстрого написания проэктов не подходит,для тырпрайза тоже,для нагруженных проэктов тоже.
а что тогда остаеться?
Просто время убиваю, принимаю предложения в шапку.
охуеть какая ширина применения
Сентябрськие трендовые проекты на Рельсах
https://itnext.io/trending-ruby-on-rails-github-repositories-in-september-8c51cbf4cd51
Сейчас бы код в yml файлах писать, вместо настоящего ЯП.
спрашива
что бы веселей в треде было
Короче, есть примерно такой код: https://repl.it/repls/VioletredElegantCygwin (класс C)
@x большие нигде не используется, только в func1 и func2.
Собственно, перед тем, как я его назову абсолютно уёбищным и непонятным, а программиста уебаном, я всё же хочу убедиться, что уебан не я.
Так вот, какой может быть смысл в подобном использовании instance переменной? Я бы это написал как в классе CC, где всё очевидно и ясно. И мне кажется что разницы в поведении и результате нет, если @x не используется больше абсолютно нигде, меняется в каждой итерации лупа, а последнее значение запоминать, чтобы где его использовать по смысле скрипта абсолютно не надо.
Да, твой вариант лучше, но на самом деле, конечно, вы оба уебки и это пишется в одну строчку https://repl.it/repls/BiodegradableEverlastingFonts
>и ебаться с джанго.
не понимаю бугурта
>это пишется в одну строчку
Лол, ты чего. Сам настоящий код там гораздо больше, чем какой-то map с возведением в квадрат, я ж это просто для примера рандомную фигню написал.
Руби же по ссылке передаёт сложные объекты в функции? Не создаётся никаких копий, которые кто-то мог хотеть оптимизировать? Хотя пытаться на таком сэкономить время в скрипте при массивах из нескольких элементов и вызове функции меньше ста раз это надо быть особенно одарённым, поэтому я сомневаюсь.
>Руби же по ссылке передаёт сложные объекты в функции?
Естественно, это же не ПХП какой-нибудь.
Почему стоит начать и зачем ты аноны вкатился в руби
Ну и интересно какое будущее за ruby если конкуренты способные убрать ruby.
Да и вообще хотел узнать про твой опыт на руби, что на нём пишешь и т.д.
Спасибо заранее
Вы видите копию треда, сохраненную 25 октября 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.