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).
Зачем?
| |
|