| | 1.1, G.NercY.uR (?), 00:26, 26/12/2013  [ответить] [﹢﹢﹢] [ · · · ] | +/– |  |  Ни разу не руби-программист, потому такой вопрос к спецам: portupgrade во фре, работает до жути медленней чем portmaster, это связано с архитектурными различиями этих прог или влияет скорость работы ПО написанном на том или ином языке?
 
 |  |  | 
 
|  | | 2.26, Аноним (-), 10:05, 26/12/2013 [^] [^^] [^^^] [ответить] | –5 +/– |  | Ruby язык для програмирования програмистами, а не чтобы оно потом быстро работало и память не ело. Железо сейчас стоит копейки относительно цены времени программеров. 
 |  |  | 
 |  | | 3.31, Аноним (-), 10:27, 26/12/2013 [^] [^^] [^^^] [ответить] | +2 +/– |  | А зачем оптимизировать код, когда можно просто повысить процессу приоритет? © Это не ваше? :))
 
 |  |  | 
 | 3.59, Аноним (-), 17:05, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | Хелловорд программист втреде. Догадайся, почему кроме какого-то го..на на руби и гвидобейсике больше ничего нет? 
 |  |  | 
 | 3.65, angra (ok), 20:33, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  |  То есть умножению вас в школе так и не научили? Ведь если умножить дополнительные затраты на количество запусков, а потом еще и на количество машин, то копейками окажутся как раз затраты на программистов. 
 |  |  | 
 | 
 | 2.32, Sabakwaka (ok), 10:28, 26/12/2013 [^] [^^] [^^^] [ответить] | –8 +/– |  |  Где там «до жути медленней», когда, скажем, 99,99999999999999999% времени занимает, собственно, GCC ??? :) 
 |  |  | 
 |  | |  | | 4.60, chinarulezzz (ok), 17:31, 26/12/2013 [^] [^^] [^^^] [ответить] | –1 +/– |  |  >Автор проекта gentoo больше не использует и перешел на slackware Бггг)
 P.S. Просто гвидобэйсик прост и понятен. Скорость не первостепенная задача, для этого есть другие инструменты. А хаскель - это звиздец. Выбирать его ради скорости тоже неадекватно. Тогда уж c/cpp/pascal.
 |  |  | 
 |  | | 5.64, Аноним (-), 19:31, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | Поддерживаю, хаскель используют только из желания щас мы в бою попробуем этот модный тренд.. 
 |  |  | 
 | 
 | 
 | 
 | 
 
 | 1.3, alexey (??), 01:23, 26/12/2013  [ответить] [﹢﹢﹢] [ · · · ] | +/– |  |  В 2.1.0 они перешли на что-то похожее на semantic versioning. Какой-то он у них больно странный. Version Schema:
 MAJOR: Reserved for special events
 MINOR: increased every christmas, may be API incompatible
 TEENY: security or bug fix which maintains API compatibility
 PATCH: number of commits since last MINOR release
 Им там вторым же комментом заявили, что в MINOR ломать API нельзя, но им все рано :(
 |  |  | 
 
|  | | 2.4, Ушастик (?), 02:11, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | Ну и где API поломали? Что def теперь возвращает Symbol? С 1.8 на 1.9 и то больше сломали. 
 |  |  | 
 |  | | 3.10, Аноним (-), 03:21, 26/12/2013 [^] [^^] [^^^] [ответить] | +1 +/– |  | Ну да. А какая скриптятина и где от этого сломалась - юзеры на себе узнают. Но апи совместимый, совмесимый, совместимый. А то что существующие программы могут сломаться от смены поведения - фича, не баг. 
 |  |  | 
 |  | |  | | 5.24, Привет пионэрам (?), 09:55, 26/12/2013 [^] [^^] [^^^] [ответить] | +2 +/– |  | Разница между ruby 1.8/1.9(2.0) в разы больше чем между python 2/3, плюс каждая версия ломает обратную совместимость. 
 |  |  | 
 |  | | 6.33, Аноним (-), 10:39, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | Переход с 1.8 на 1.9 тяжелый из-за Unicode и только в части работы со строками. В остальном - легко исправимые мелочи. Переход с 1.9 на 2.0 не заметен. Больше проблем при переходе на JRuby.
 Для сохранения обратной совместимости просто не надо использовать то, что появилось в 2.0 или 2.1. Версия 1.8 уже не поддерживается. Для разработки она совершенно не интересна.
 |  |  | 
 |  | | 7.48, Привет пиоэнерам (?), 15:08, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | >Переход с 1.8 на 1.9 тяжелый из-за Unicode и только в части работы со строками. В остальном - легко исправимые мелочи. Забыли про кучу всего, например потоки которых не было. 
 >Переход с 1.9 на 2.0 не заметен. 
 Большей частью да. 
 >Для сохранения обратной совместимости просто не надо использовать то, что появилось в 2.0 или 2.1
 Обратная совместимость, она ОБРАТНАЯ, то есть если код из 2.0 будет работать в 2.1 он обратно совместим, а не наоборот. Вот только в минорных версиях ломать эту совместимость зачем?
 > Версия 1.8 уже не поддерживается. Для разработки она совершенно не интересна.
 Спасибо Кэп!
 |  |  | 
 | 
 | 
 | 
 |  | | 5.23, waf (ok), 09:44, 26/12/2013 [^] [^^] [^^^] [ответить] | +1 +/– |  |  Тесты не в счёт. Они, конечно, во многом помогут, но вообще-то они для выявления ошибок авторов программы, а не ловли изменений в среде исполнения. Некрасиво это. 
 |  |  | 
 |  | | 6.29, Привет пионэрам (?), 10:12, 26/12/2013 [^] [^^] [^^^] [ответить] | +2 +/– |  | > Тесты не в счёт. Они, конечно, во многом помогут, но вообще-то они > для выявления ошибок авторов программы, а не ловли изменений в среде
 > исполнения. Некрасиво это.
 Если изменился язык, то это не ошибки автора программы, это ошибки в проектировании языка.
 |  |  | 
 | 
 | 
 | 4.67, Ушастик (?), 21:43, 26/12/2013 [^] [^^] [^^^] [ответить] | +1 +/– |  | Как ломаются, так и чинятся. Это не C-экстеншн переписать под новое API. У меня на Rails-апе (12 KLOC код, 26 KLOC тесты) при переходе с 1.9 на 2.0 сломались только тесты -- связка webmock и vcr глюканула, обновил -- работает дальше. А то разведут истерику, из-за пары ±методов. 
 |  |  | 
 |  | |  | | 6.78, Ушастик (?), 19:39, 27/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | Ну так, с тестами все было бы ок :) Тем более, есть тонна софта для анализа кода на рубях, всякие там rubocop, reek, flay, flog, churn, metric_fu и т.д. Были даже скриптики (sed, awk) которые занимались «портированием» с 1.8 на 1.9. Я по прежнему считаю, что эту проблему высасывают из пальца всякие диванные проггеры. 
 |  |  | 
 |  | | 7.79, Привет пионэрам (?), 09:27, 28/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | >Ну так, с тестами все было бы ок :) Если код покрыт тестами, то переписывать код резко становится не нужно? 
 Давай конкретно, во-первых при изменении синтаксиса языка и методов библиотек придется переписывать тесты, во-вторых придется переписывать код, на проект из 10k строк кода уйдет минимум неделя работы команды, а теперь прикинь что ты собственник этого кода, давай посчитай сколько это стоит.   
 >Я по прежнему считаю, что эту проблему высасывают из пальца всякие диванные проггеры.
 Проблема описана прямо в новости, критика идет от всего сообщества ruby. 
 |  |  | 
 | 
 | 
 | 
 | 
 | 3.17, Аноним (-), 08:51, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | > Ну и где API поломали? Что def теперь возвращает Symbol? С 1.8 > на 1.9 и то больше сломали.
 Так о том и речь, что при смене минорного номера, как в вашем примере, e более привычной схеме нумерации ломать API не принято. Не знаю сломалось ли оно при переходе с 1.8 на 1.9, но описанная тредстартером схема это допускает. 
 
 |  |  | 
 |  | | 4.30, Привет пионэрам (?), 10:15, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | > Не знаю сломалось ли оно при переходе с 1.8 на 1.9, О... Сломалось это слишком мягкое выражение, это два разных языка, с похожим синтаксисом.  
 
 |  |  | 
 |  | | 5.34, Аноним (-), 10:42, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | > О... Сломалось это слишком мягкое выражение, это два разных языка, с похожим > синтаксисом.
 Перед тем как это заявлять, приведите несколько выражений из 1.8, которые не поймёт 1.9. А то, что методы некоторые переименовали или изменили число параметров - это не такая уж и проблема.
 |  |  | 
 |  | | 6.37, scor (ok), 11:32, 26/12/2013 [^] [^^] [^^^] [ответить] | +1 +/– |  |  > Перед тем как это заявлять, приведите несколько выражений из 1.8, которые не > поймёт 1.9. А то, что методы некоторые переименовали или изменили число
 > параметров - это не такая уж и проблема.
 Навскидку:
$ rvm use 1.8 && echo "puts [].uniq.join(" ").any?" | ruby
 false
 $ rvm use 1.9 && echo "puts [].uniq.join(" ").any?" | ruby
 -:1:in '<main>': undefined method 'any?' for "":String (NoMethodError)
 $
 И не спрашивайте зачем так делалось. Факт -- есть факт.:)
 |  |  | 
 |  | | 7.38, Аноним (-), 11:38, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | > Навскидку: > $ rvm use 1.8 && echo "puts [].uniq.join(" ").any?" | ruby
 > false
 > $ rvm use 1.9 && echo "puts [].uniq.join(" ").any?" | ruby
 > -:1:in '<main>': undefined method 'any?' for "":String (NoMethodError)
 > $
 > И не спрашивайте зачем так делалось. Факт -- есть факт.:)
 Убрали метод any? для строки. Вполне в духе приближения к естественному английскому, поскольку смысла от такого метода здесь нет.
 Ну а изменения языка то в чём?
 |  |  | 
 |  | | 8.68, scor (ok), 22:36, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  |  Ну да, в духе  А типа вот от этого, смысла сразу поприбавилось  тут уже линия, а... текст свёрнут, показать |  |  | 
 | 
 | 7.66, Ушастик (?), 21:30, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | > $ rvm use 1.8 && echo "puts [].uniq.join(" ").any?" | ruby > false
 > $ rvm use 1.9 && echo "puts [].uniq.join(" ").any?" | ruby
 > -:1:in '<main>': undefined method 'any?' for "":String (NoMethodError)
 :))))
 А "стринга".any? слабо? Зачем было лиспятину воротить для примера, чтоб показать, что знаешь тему? В стандартной библиотеке и так много мусора, типа keep_if. Вроде как синоним для select, а по факту это select!, только портит читаемость и вносит баги. Я бы с радостью повыбрасывал эти keep_if, inject и прочую смолтокщину и оставил бы лиспятину. Все равно количество смолток проггеров со времени релиза руби только падает, не вижу смысла им помогать мигрировать. А лисп вечен и прекрасен.
 |  |  | 
 |  | | 8.69, scor (ok), 22:38, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  |  Та не  Просто из переписки скопипастил    Такая конструкция в реальном коде была... текст свёрнут, показать |  |  | 
 | 
 | 
 | 6.50, Привет пиоэнерам (?), 15:11, 26/12/2013 [^] [^^] [^^^] [ответить] | +/– |  | >> О... Сломалось это слишком мягкое выражение, это два разных языка, с похожим >> синтаксисом.
 > Перед тем как это заявлять, приведите несколько выражений из 1.8, которые не
 > поймёт 1.9.
 Я бы написал, конечно, но после:
 > А то, что методы некоторые переименовали или изменили число 
> параметров - это не такая уж и проблема.
 уже и сказать нечего.
 |  |  | 
 |  | | 7.53, Аноним (-), 15:34, 26/12/2013 [^] [^^] [^^^] [ответить] | –1 +/– |  | >> А то, что методы некоторые переименовали или изменили число >> параметров - это не такая уж и проблема.
 > уже и сказать нечего.
 Сложно понять, что язык и библиотеки - это не одно и то же?
 |  |  | 
 | 
 | 
 | 
 | 
 | 
 | 2.8, aim (ok), 03:17, 26/12/2013 [^] [^^] [^^^] [ответить] | +1 +/– |  |  какая разница где ломать API? главное знать где и когда оно буде сломано. и сколько будет поддерживаться старая версия. 
 |  |  | 
 | 2.16, Аноним (-), 08:30, 26/12/2013 [^] [^^] [^^^] [ответить] | +1 +/– |  | А у меня большее недоумение вызывает "increased every christmas". Как-то нелогично менять номер версии просто потому, что год прошёл. Если с предыдущего раза ни чего существенного допилить не успели, а дедлайн наступил, они вкорячивают любую неотлаженную и несущественную фичу лишь бы циферку подкрутить, так что ли? 
 |  |  | 
 |  | | 3.27, Привет пионэрам (?), 10:10, 26/12/2013 [^] [^^] [^^^] [ответить] | –1 +/– |  | >Как-то нелогично менять номер версии просто потому, что год прошёл. А почему бы нет. Номер версии это всего лишь номер версии, он не на что не влияет. 
 |  |  | 
 | 
 | 2.18, Аноним (-), 08:52, 26/12/2013 [^] [^^] [^^^] [ответить] | +2 +/– |  | Тут с semantic versioning мало чего общего. "special events" - слабо определённое нечто, "every chritsmas" пообще полный бред ради увеличения номера версии без повода, teeny - то что в semver называется patch, patch - бесполезное ни о чём не говорящее большое число. В то время как semver чёткая схема, major.minor.patch, где major увеличивается на поломках API совместимости, minor - на новых фичах, сохраняющих совместимость и patch на остальных совместимых в обе стороны изменениях.
 Со своей идиoтской схемой они могут ломать API как хотят, хуже от этого не станет.
 |  |  | 
 | 
 
 
 | 1.25, Привет пионэрам (?), 09:59, 26/12/2013  [ответить] [﹢﹢﹢] [ · · · ] | +/– |  | >Удаление curses из стандартного набора библиотек (библиотека curses вынесена в отдельный curses.gem). Зачем? 
 |  |  | 
 
 
 |