1.4, Аноним (4), 23:01, 25/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Сферические примеры паттерг-матчинга в вакууме настолько понятны, что не ясно зачем оно вообще нужно. Поясните для слоупоков, зачем это всё на самом деле?
| |
|
2.5, Поедатель борщей (?), 23:13, 25/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
В нормальных языках — работать с ADT, с типами-суммами и типами-произведениями. В смысле, удобно работать, а не как вот тут.
| |
2.7, Ordu (ok), 23:33, 25/12/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Взяли [0, [1, 2, 3]] и сопоставили с образцом [a, [b, *c]]. Получили три локальные переменные a, b и c, в a лежит 0, в b -- 1, в c лежит список [2, 3]. Или это не список в ruby, а массив? Не помню уж, но не суть важно.
| |
|
3.82, ррр (?), 21:59, 26/12/2019 [^] [^^] [^^^] [ответить]
| –4 +/– |
> Взяли [0, [1, 2, 3]] и сопоставили с образцом [a, [b, *c]].
> Получили три локальные переменные a, b и c, в a лежит
> 0, в b -- 1, в c лежит список [2, 3].
> Или это не список в ruby, а массив? Не помню уж,
> но не суть важно.
не спорю
| |
|
|
|
2.11, Влад (??), 00:02, 26/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да нет, это кажется на самом деле. Просто прошел пик хайпа. Вакансий много, коммиты в популярные проекты все ещё есть регулярно. Ну и isrubydead.com конечно
| |
|
3.17, Урри (?), 00:48, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Подтверждаю. Куэйщики используют вовсю - язык достаточно прост, чтобы ним могли пользоваться не программисты, и фреймворки понятные.
| |
|
4.50, Аноним (50), 12:28, 26/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Редмайн написан на Руби может поэтому он для куэй? Да и бреу на Руби. На руби действительно хороших юзабельных продуктов существенно больше чем на том же расте на котором только парсилка каскадных таблиц и всё.
| |
|
5.52, Аноним (52), 13:18, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
А еще, все сидят на Discourse, разрабатывают вместе с gitlab. И пользуются инет-магазинами типа Spree....
| |
|
|
|
|
|
|
3.21, Аноним (20), 00:54, 26/12/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
УДивительно, но и столько же сколько вакансий на Golang.
Подозрительно, что возможно это тоже проходной язычок.
| |
|
|
1.13, аноним3 (?), 00:07, 26/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –11 +/– |
чет синтаксис питона выглядит куда понятнее и человечнее. а тут попытка закосить под крутой язык? ну я когда смотрел разницу подходов питона и руби, так сразу засек , что руби как то менее человечен чем питон. а ведь оба интерпретируемые языки. и со стремлением к понятной и быстрой разработке. впрочем на руби я встречал как то мало скриптов. хотя даже в лине попадались, но как то не больше 5 штук.)) язык не пошел.
| |
|
2.34, Аноним (-), 08:00, 26/12/2019 [^] [^^] [^^^] [ответить]
| +5 +/– |
Для того, чтобы рассуждать о языке, надо понимать его модель. В Ruby акцент на человекочитаемость. Чтобы человек, понимающий естественную речь (английскую по-умолчанию), мог понять программу. Отсюда, у программистов-нелюдей с изменённым состоянием сознания, возникает диссонанс, глядя на Ruby, что в Ruby так можно, а в их любимом ЯП - нет.
> впрочем на руби я встречал как то мало скриптов.
пользуйтесь OpenSUSE или MacOS
| |
|
1.15, Аноним (15), 00:30, 26/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> выполнять дефрагментацию области памяти, решая проблемы снижения производительности
Кто в теме, объясните нубу, как дефрагментация памяти повысит производительность? Это же не диск, где головка туда-сюда дёргается, там просто адрес ячейки.
| |
|
2.18, Аноним (18), 00:51, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
на правах ИМХО...
Если маленькие "свободные места" слить в один большой "кусок свободного места", это упростит создание новых объектов и руби будет реже говорить системе "дай еще памяти".
Но это в теории... что и кому добавится на практике посмотрим на продакшенах :)
| |
2.19, Урри (?), 00:52, 26/12/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Гуглить Крис Касперски "Техника оптимизации программ. Эффективное использование памяти".
Если в двух словах - контроллер памяти пересылает данные целыми блоками. Больше фрагментация - больше пересылок. Если не в двух, то все очень сложно, ибо есть еще кэш и т.д. и т.п. - короче, читай книгу выше.
| |
|
|
4.47, Я (??), 11:40, 26/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
У Криса оптимизация существенно лучше расписана.
| |
|
5.55, Аноним (33), 14:10, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Вопрос в том, насколько информация в его интерпретации верна.
«На процессоре Р-III 733/133/100 оптимизированный вариант выполняется быстрее на целых 66%, а на АМD Athlоп 1050/100/100 — на 60%, т. е. предвыборка увеличивает производительность более чем в два раза!»
| |
|
6.63, Урри (?), 15:56, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Неоптимизированный код - 100 секунд. Оптимизированный код - на 60% (60 секунд) быстрее; то есть 40 секунд.
40 секунд - более чем в два раза меньше, чем 100 секунд.
Кроме того, в книге приводятся графики тестов по доступу к памяти, множество фактов и примеров. Я, например, такие же тесты использовал, когда оптимизировал им одну либу для гугла под хромбук.
| |
|
7.71, Аноним (33), 17:49, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Неоптимизированный код - 100 секунд. Оптимизированный код - на 60% (60 секунд)
> быстрее; то есть 40 секунд.
> 40 секунд - более чем в два раза меньше, чем 100 секунд.
Вот именно -- секунд. Секунда это единица измерения времени. Быстрее -- характеристика скорости, есть обратной ко времени величины. Корректно было бы: «время выполнения на 66% меньше».
Таким образом, после прочтения книжек Криски в голове образуется каша, которую не каждому дано переварить.
| |
|
8.78, Урри (?), 19:55, 26/12/2019 [^] [^^] [^^^] [ответить] | +/– | Это в _вашей_ голове образуется каша А в головах других людей - не образуется ... текст свёрнут, показать | |
|
9.85, Аноним (33), 06:20, 27/12/2019 [^] [^^] [^^^] [ответить] | +/– | Ниже https www opennet ru openforum vsluhforumID3 119316 html 80 живой пример ... большой текст свёрнут, показать | |
|
|
9.86, Аноним (33), 06:27, 27/12/2019 [^] [^^] [^^^] [ответить] | +/– | Откройте для себя учебник математики, тема пропорции Следом порешайте задачки п... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
4.32, Аноним (33), 07:33, 26/12/2019 [^] [^^] [^^^] [ответить] | +/– | Имеет смысл располагать в линейке кеша объекты, доступ к которым происходит прим... большой текст свёрнут, показать | |
|
5.35, Аноним (35), 08:57, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Да это вполне возможно.
По поводу целесообразности встраивания в линейки незнаю. Надо тестировать смотреть. Может быть что целесообразно доработать код для этого, а может нет.
| |
|
|
3.43, Аноним (43), 10:58, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
> т.е. проблема поиска свободных блоков памяти при сильной фрагментации - "приветик" от создания короткоживущих объектов "на каждый чих".
Интересно бы почитать, как с этим делом в Эрланге, с ихним "share nothing" создание переменных на каждый чих - во все поля.
| |
|
4.53, Аноним (53), 13:45, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Гугли про generational gc. В эрланге так же как в хацкелле, жабе и прочих сишарпах. С поправкой на тот факт, что в энларге можно собирать мусор в каждом потоке отдельно, не останавливая весь мир.
| |
|
3.65, Урри (?), 16:12, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
> т.е. проблема поиска свободных блоков памяти при сильной фрагментации - "приветик" от создания короткоживущих объектов "на каждый чих".
Для языков со сборкой мусора это как раз не проблема. Именно в задачах, где надо создавать много короткоживущих объектов языки с GC уделывают традиционные.
| |
|
4.69, Аноним84701 (ok), 17:20, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
>> т.е. проблема поиска свободных блоков памяти при сильной фрагментации - "приветик" от создания короткоживущих объектов "на каждый чих".
> Для языков со сборкой мусора это как раз не проблема. Именно в задачах, где надо создавать много короткоживущих объектов языки с GC уделывают традиционные.
Собственно, с этим никто не спорил.
Просто в конкретных реализациях GC/аллокаторов - иногда таки можно наткнуться на какой-нибудь проблемный случай.
По приведенной ссылке - как раз описана такая ситуация "highly dynamic object-space". Решалась там (в конце-концов) прикручиванием другого аллокатора: " The problem can be mitigated by linking ruby against ptmalloc3."
| |
|
|
|
1.16, Аноним (16), 00:36, 26/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
Неоднозначный синтаксис языка не позволяет делать полноценный синтаксический анализатор для IDE. Правда код на руби остается понятным и читаемым долго и клепается нечеловечески быстро это факт, даже без поддержки IDE. Но есть одна деталь которая напрочь этот руби делает непригодным - приложения жрут невероятно процессорное время часто в десятки раз больше чем на других языках. Такое г. непонятно где хостить (и нужно ли в итоге?).
| |
|
2.22, Аноним (20), 00:57, 26/12/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Так в чем причина потребеления процессорного времени? Смотрели профайлером?
Просто ради любопытства даже тем же Python надо стараться что бы утилизировать весь CPU.
Может что-то не так делаете? Не используете асинхронность например?
| |
2.23, Аноним (18), 01:08, 26/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну не десятки. (Если не сравнивать с "hello world" на си)
А, например, если нужно распарсить HTTP запрос, дернуть контроллер, который сходит в БД, сгенерить HTML и оттдать клиенту... Если у вас руби для этого больше 50мс от ядра CPU отнял, вы что-то (пере)мудреное делаете, стоит присмотреться внимательно.
| |
2.29, GentooBoy (ok), 06:40, 26/12/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Пишите о том в чем не разбираетесь.
>Неоднозначный синтаксис языка не позволяет делать полноценный синтаксический анализатор для IDE
Полнейший бред, проблемы возникают только если люди узнают что такое метопрограммирование и пихают его везде. Да после дубогово питона это встречается, руби не ограничивает вас в извращениях.
>приложения жрут невероятно процессорное время часто в десятки раз больше чем на других языках
Полнейший бред, выжирание памяти да есть, руби любит память кушать. CPU кушает как и питон.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/ruby.html
Единственное есть проглемы с временем старта, связанные с тем что загружаються gem при старте. Но над этой проблемой ведется работа. Если отрубить gem то время старта практически точно такое же как у питона(до перл не дотягивает). Так что даже для подстрочников он вполне юзабельный.
>Такое г. непонятно где хостить (и нужно ли в итоге?).
Ваши наезды не релевантны, у руби куча недостатков, но это не те что вы озвучили.
| |
2.45, qwerty123 (??), 11:10, 26/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Но есть одна деталь которая напрочь этот руби делает непригодным - приложения жрут невероятно процессорное время часто в _десятки_ раз больше чем на других языках.
В сотни! В тысячи! В миллионы! =)
Идите уже делать уроки, что-ли...
| |
|
3.54, fyjybvjec (?), 14:06, 26/12/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
Ну руби правда тормозной, чтож делать то lol
У руби другие достоинства, но явно если не нужно решать задачи где нужна высокая производительность.
Наляпать что то по быстрому, обработать не очень много хттп запросов на небольшом сайте, тут у руби нет конкурентов.
Статистики, много ее - это случайная с гугла
https://attractivechaos.github.io/plb/
Implementation Lang sudoku:t matmul:t matmul:m patmch:1t patmch:2t dict:t dict:m
C 1.0 2.3 31.7 1.7 4.5 3.0 52.6
C#@Mono-2.10.1 C# 3.8 8.9 40.6 15.7 45.1 5.2 113.9
Ruby-1.9.2p180 Ruby 98.0 628.4 196.6 15.4 30.3 8.6 156.8
| |
|
4.62, fyjybvjec (?), 15:33, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Инженерный подход к решению задач рулит - когда вы используете то что вам нравится а не то что надо по задаче, где то умирает еще один котик)
| |
4.75, Додо (?), 18:25, 26/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Эм. Эта ссылка датирована 2011 годом, с тех пор как бы много что поменялось.
Ruby по сравнению с остальными языками небыстрый, это да, но скорость разработки на нем фантастическая. И не для всех задач скорость работы первостепенно важна - если страничка какого-то среднего интернет-магазина будет грузиться не за 30 мс, а за 70 мс, это не сильно критично.
| |
|
|
2.92, Аноним (92), 19:18, 27/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Неоднозначный синтаксис языка
На этом поле давно всё занято плюсами.
| |
|
|
2.56, fyjybvjec (?), 14:13, 26/12/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
Питон изучается за пару дней, код ясен и понятен. Пишут макеты, алгоритмы, обвязки для мат библиотек, аа еще блендер на питоне. У этих языков разные области применения.
Аналогов более чем в избытке - причем это я не в минус руби - отличный язык для некоторых задач.
| |
|
3.64, Урри (?), 16:03, 26/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Питон не изучается за пару дней. Пара дней - это порог вхождения в питон. И это две большущие разницы.
Только вот есть одна маленькая проблема - потом существенно больше времени и ресурсов тратится на переделывание.
Вы упомянули блендер - не хотите вспомнить, сколько блендер прозябал? 99,9% претензий к нему были "слишком тормозной, невозможно работать". И взлетать он стал только после того, как компьютеры стали достаточно мощные и(!) после того, как его наконец-то переделали профессионалы (в том числе большей частью переписали на C).
Почем знать, если бы сразу писали нормально - может он бы уже давно стал стандартом де-факто в мире 3д.
| |
|
4.67, fyjybvjec (?), 16:28, 26/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вы совершенно правы, за два дня его не изучить, но имеет низкий порог вхождения.
На питоне хорошо делать макеты или отлаживать алгоритмы (с переносом куда то после). + отличная интеграция со сторонними библиотеками.
Но мой ответ был комментатору про <<Руби крутейший язык, аналогов которому нет. Питон это недорозумение. >>
Блендер, отличная штука, большая часть плагинов на питоне, есть на С, ядро было изначально на С.
Моделирование если сравнивать с майей на 4+, текстурирование предпочитают после делать в 3д максе, нормальный рендеринг появился начиная с Cycles (2016 год), Скиннинг и анимации до сих пор очень слабо если без плагинов - с майей не сравнить.
Так что можно сказать что он был не особо популярен не из за тормозного питона (а они все тормозные, эти 3д пакеты) просто по своей неразвитости, сейчас сильные подвижки будем надеяться что его допилят :).
Вот лов-поли модельки на нем делать ОК + экспорт в SL из коробки.
| |
|
3.73, Аноним (73), 17:55, 26/12/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
В саблайме плагины тоже на питоне, только это не значит что саблайм написан на питоне.
Вот например vs code плагины на джаваскрипт, но сам браузер большей частью на Хроме написан т.е. тоже на C++.
| |
|
|
1.30, Аноним (30), 06:48, 26/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> def foo(key: 42); end; foo({key: 42}) # warned
> def foo(key: 42); end; foo(**{key: 42}) # OK
Вот уроды! Делают .NET из моего руби.
> Из базовой поставки во внешние gem-пакеты вынесены библиотеки CMath (cmath gem), Scanf (scanf gem), Shell (shell gem)
А это уже пистоно-болезнь!..
Матц, вернись! Хипстеры гробят язык!
| |
1.31, Че (?), 07:17, 26/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Роберт Шекли. "Необходимая вещь"
В этом рассказе вся боль "Руби"
| |
1.40, Аноним (40), 10:11, 26/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Любой язык где возможна конструкция вида a=a+b-(b=a) не нужен.
А это как минимум Руби, Джаваскипт, С++.
| |
|
|
3.42, Аноним (40), 10:26, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Вообще-то в нужных языках хватает такой конструкции: a, b = b, a
А та что выше это дичь.
| |
|
4.44, привет (ok), 11:01, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Кроме как питоне такая именное есть где то?
этож штука вроде (a, b) = (a,b) в перле?
Просто эту конструкцию я видел пару раз и
каждый их них было "представление крутости питона"
крутости на этом, правда, заканчивались
| |
|
5.49, Аноним (50), 12:23, 26/12/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
В перле ты просто пробел убрал? и что он делает?
a, b = b, a; есть в Го в Руби тоже есть.
Это две переменные меняются значениями без создания третьей или без необходимости записи трех строк кода чтобы поменять переменные без создания третьей. В некоторых алгоритмах так быстрее всего записать. Причем строка в начале этого топика делает тоже самое, но как-то странно.
Для Руби можно даже без скобок записать. Такая конструкция уже гарантированно ломает мозг.
a=a+b-b=a; с тем же результатом что и выше. Но имхо языки которые такое позволяют решительно не нужны.
| |
|
6.77, привет (ok), 19:31, 26/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
> В перле ты просто пробел убрал? и что он делает?
> a, b = b, a; есть в Го в Руби тоже есть.
(a, b) = (b, a);
те тоже самое, но на мой взгляд лаконичнее. кому то скобки
показатся лишними могут, конечно.
Пробел конечно же не значит ничего, поставлен в попыхах :)
Я к тому написал, что мне представляли конструкию "магией" питона
хотя ничего магического я в ней не видил - потому решил уточнить у знающих
> Это две переменные меняются значениями без создания третьей или без необходимости записи
> трех строк кода чтобы поменять переменные без создания третьей. В некоторых
> алгоритмах так быстрее всего записать. Причем строка в начале этого топика
> делает тоже самое, но как-то странно.
> Для Руби можно даже без скобок записать. Такая конструкция уже гарантированно ломает
> мозг.
> a=a+b-b=a; с тем же результатом что и выше. Но имхо языки которые
> такое позволяют решительно не нужны.
смотрится неоднозначно, согласен с вами :)
| |
|
|
|
|
|
1.66, Аноним (66), 16:28, 26/12/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Пока мамкины эксперты пыхтят свои басни о недостатках, руби помогает зарабатывать миллиарды баксов, просто за счёт быстрой разработки, ибо стоит она дороже любых системных ресурсов (которые руби жрёт не так уж и активно).
| |
|
2.84, Gjrkdj (?), 23:43, 26/12/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ruby - всего лишь миллиарды, когда Python позволяет заработать триллионы
| |
|
3.87, Аноним (-), 10:22, 27/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
Есть небольшая для питонистов проблема. Может и триллионы, но в удельном выражении на одного "разработчика" это означает "работать за еду". Собственно, это единственная причина, почему есть вакансии на Питоне.
| |
|
4.88, Аноним (89), 10:56, 27/12/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это ты с пыхерами перепутал. А там и десятки триллионов могут быть. В руби ты тоже как-то умолчал что миллиарды получают далеко не программисты...
| |
|
5.93, Аноним (-), 19:38, 27/12/2019 [^] [^^] [^^^] [ответить]
| +/– |
В Ruby-мире как-то не встречаются низкооплачиваемые вакансии. Если только реально только вчера начал программировать. А вот питонисты - за еду готовы. Собственно, они и есть предполагаемая замена пэхеров, если получится. Но не факт.
| |
|
|
|
|
|