The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз языка программирования Ruby 1.9.2, opennews (??), 18-Авг-10, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


2. "Релиз языка программирования Ruby 1.9.2"  +6 +/
Сообщение от Аноним (-), 18-Авг-10, 22:53 
Лучший язык ,для тех кто ценит свое время и любит качественно работать, стал еще лучше
Ответить | Правка | Наверх | Cообщить модератору

5. "Релиз языка программирования Ruby 1.9.2"  –11 +/
Сообщение от аноним (?), 18-Авг-10, 23:21 
Ценить свое время в ущерб времени пользователя - большое зло. Но факт заключается в том, что на ruby вообще ничего ценного не написано. А если напишут, это будет только грустно.
Ответить | Правка | Наверх | Cообщить модератору

6. "Релиз языка программирования Ruby 1.9.2"  +/
Сообщение от к (??), 18-Авг-10, 23:27 
Ну да... Metasploit конечно же абсолютно ненужная штука.. Говорите за себя при таких заявках.
Ответить | Правка | Наверх | Cообщить модератору

15. "Релиз языка программирования Ruby 1.9.2"  –4 +/
Сообщение от аноним (?), 19-Авг-10, 04:55 
Абсолютно ненужная, подтверждаю.
Ответить | Правка | Наверх | Cообщить модератору

8. "Релиз языка программирования Ruby 1.9.2"  +1 +/
Сообщение от Michael Shigorinemail (ok), 19-Авг-10, 00:00 
>Ценить свое время в ущерб времени пользователя - большое зло.

Хм, то есть если написанный скрипт будет отрабатывать не за секунду, а за минуту, но живой человек бы провозился полдня -- то это тоже "в ущерб"?  Особенно если учесть, что как правило -- "за секунду" и не надо, и писать никто в этом веке не раскачается.

Вот пример из загашника, слепленный за час или около того на коленке у заказчика и изредка пригождающийся мне и другим: http://fly.osdn.org.ua/~mike/works/misc/arp2dns+dhcp.rb

>Но факт заключается в том, что на ruby вообще ничего ценного не написано.

Факт заключается в том, что Вы врёте.  Примерно так же, как MSP-остолопы, катящие бочку на линукс посредством модемов и маршрутизаторов с этим самым линуксом унутре.

>А если напишут, это будет только грустно.

У человека с таким отсутствием сразу и вкуса, и такта даже неинтересно спрашивать, что он-то сам написал не наводящего тоску. :(

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

49. "Релиз языка программирования Ruby 1.9.2"  –1 +/
Сообщение от klalafuda (?), 19-Авг-10, 20:14 
> Вот пример из загашника, слепленный за час или около того на коленке у заказчика и изредка пригождающийся мне и другим: http://fly.osdn.org.ua/~mike/works/misc/arp2dns+dhcp.rb

Эммм... Мне почему то кажется, что указанный скрипт можно было своять за те же полчаса и на любом другом скриптовике. Да-да - на ПХП. Это чтобы похоже наступить на больную мозоль :) Но тем не менее, безотносительно 'другого языка' - я как-то не заметил в скрипте каких-то фич, наличие которых именно в руби позволило сделать его понятным, эффективным и вообще самым-самым. Скрипт как скрипт. Таких миллион рожается каждый день..

Ответить | Правка | Наверх | Cообщить модератору

51. "Релиз языка программирования Ruby 1.9.2"  –1 +/
Сообщение от Michael Shigorinemail (ok), 19-Авг-10, 20:39 
>Мне почему то кажется, что указанный скрипт можно было своять за
>те же полчаса и на любом другом скриптовике. Да-да - на ПХП.

Да разумеется.  И на шелле тоже, только со структурами данных неинтересно вышло бы (там пришлось позже расширять формат вывода и наличие именно _структурированных_ сильно помогло, помнится).

А не хотите баловства ради сваять за пару минут на любом другом скриптовом языке аналог вот такого фрагмента -- открыть файл, вытащить содержимое в array (попутно обкусывая whitespace), если что не так с открытием-чтением -- внятно ругнуться?

begin
  File.open(IGNORE) do |f|
    f.each do |mac| ignored << mac.chomp end
  end
rescue
  puts "** unable to open #{IGNORE}, accepting all MACs" if DEBUG
end

> Скрипт как скрипт. Таких миллион рожается каждый день..

В том-то и дело.  Мне как раз для такой "подножной автоматизации" ruby является вторым после шелла выбором.  Чуть сложнее цикла-пайпа -- и уже задумываюсь, стоит ли выписывать на шелле или осмысленно сразу нарубить.

PS: на всякий -- относительно регулярно пишу ещё на схеме, а хакать порой доводится более или менее всё, что горит.  Так что сопоставлять есть с чем :)

Ответить | Правка | Наверх | Cообщить модератору

57. "Релиз языка программирования Ruby 1.9.2"  –1 +/
Сообщение от klalafuda (?), 19-Авг-10, 21:37 
> А не хотите баловства ради сваять за пару минут на любом другом скриптовом языке аналог вот такого фрагмента -- открыть файл, вытащить содержимое в array (попутно обкусывая whitespace), если что не так с открытием-чтением -- внятно ругнуться?

Ммм...

$path = 'test.txt';
if (($data = file_get_contents($path)) === false) {
    echo "Failed to read input file '$path'\n";
} else {
    $lines = array_map('trim', explode("\n", $data));
}

не? Всего лишь как пример. Впрочем, всё то-же самое можно сделать и на любом другом скриптовике с теми же самыми трудозатратами. Мало показательный тест. Вид сбоку ни чем не отличается.

Ответить | Правка | Наверх | Cообщить модератору

61. "Релиз языка программирования Ruby 1.9.2"  –2 +/
Сообщение от Michael Shigorinemail (ok), 19-Авг-10, 23:29 
>Вид сбоку ни чем не отличается.

<s>whitespace не обкусили.</s> Простите, глаз к вечеру замылился :)

Для меня отличается -- потребление памяти на здоровом файле будет отличаться дословно в разы.  Ну и читабельность/элегантность (кхе) кода тоже.

Ответить | Правка | Наверх | Cообщить модератору

63. "Релиз языка программирования Ruby 1.9.2"  –2 +/
Сообщение от klalafuda (?), 19-Авг-10, 23:37 
><s>whitespace не обкусили.</s> Простите, глаз к вечеру замылился :)

array_map и trim там не просто так :)

>Для меня отличается -- потребление памяти на здоровом файле будет отличаться дословно
>в разы.

А на приведенном в оригинальном примере - не будет?

PS: Добавим пару строк, поменяем file_get_contents-для-ленивых на fopen/fread и с памятью будет как минимум ни чуть не хуже. Это ещё три строки кода. Если as is.

> Ну и читабельность/элегантность (кхе) кода тоже.

И поехал флейм о фломастерах..

Ответить | Правка | Наверх | Cообщить модератору

66. "Релиз языка программирования Ruby 1.9.2"  –1 +/
Сообщение от Michael Shigorinemail (ok), 20-Авг-10, 00:15 
>><s>whitespace не обкусили.</s> Простите, глаз к вечеру замылился :)
>array_map и trim там не просто так :)

Да-да, разумеется :)

>>Для меня отличается -- потребление памяти на здоровом файле будет отличаться
>>дословно в разы.
>А на приведенном в оригинальном примере - не будет?

Говорю, в моём примере идёт построчное чтение, обкусывание и набивка в массив.  В Вашем -- сперва всасывается весь файл, потом куда-нить небось заскладируют временно массив от explode(), потом продублируют до конца рантайма в $lines.  Перед завершением чтения потребление памяти будет отличаться в (хорошо если)два..три(более вероятно) раза, и то если пробелов немного оказалось.  Где-то посредине различие будет ещё больше, но в абсолютных цифрах конец важней.

>PS: Добавим пару строк, поменяем file_get_contents-для-ленивых на fopen/fread
>и с памятью будет как минимум ни чуть не хуже. Это ещё три строки кода.
>Если as is.

А сделайте?  Просто следом вылезет проверка ошибок, и это ещё три строки кода, а там уже и полэкрана.  То есть если лениво -- выходит плохо, а если по уму -- выходит куча строчек.

>> Ну и читабельность/элегантность (кхе) кода тоже.
>И поехал флейм о фломастерах..

Ну почему же, давайте приведём к одному знаменателю ТТХ сравниваемых кусочков (или свой предложите, если хотите) и спокойно сравним.  Я ж не вредности ради и не чтоб оппонента ниже плинтуса вкатать.  Мне оппонент дороже времени, раз оно на него находится.

А на PHP тоже можно писать красиво, но он к этому, увы, не располагает.  Патчить-то тоже много чего доводилось (например, расширения и немного потроха TYPO3).

Ответить | Правка | Наверх | Cообщить модератору

67. "Релиз языка программирования Ruby 1.9.2"  –2 +/
Сообщение от klalafuda (?), 20-Авг-10, 00:27 
> А сделайте?  Просто следом вылезет проверка ошибок, и это ещё три строки кода, а там уже и полэкрана.  То есть если лениво -- выходит плохо, а если по уму -- выходит куча строчек.

try {
    $f = new File('test.txt');
    $lines = array();
    while (($line = $f->read(array('filter' => 'trim'))) !== false) {
        $lines[] = $line;
    }
    ||
    $lines = $f->readAll(array('lines' => 'trim'));
    ||
    <you name>
} catch (Exception $e) {
    echo "Error: {$e->getMessage()}\n";
}

Так лучше? Класс File займет ровно 30 строк. Один раз на всю последующую жизнь. При желании можно закинуть в какой-нить PECL или ещё какой порноресурс. А можно и не закидывать бо там таких творений уже и так сотни лежат - выбирай не хочу. Его нет 'в базе'? Ну что ж. >90% полезных и реально используемых вещей и так нет 'в базе'. Независимо - в руби или в пэхапэ или в в прости господи перле. Замечу, что CPAN != 'base'.

Ответить | Правка | Наверх | Cообщить модератору

68. "Релиз языка программирования Ruby 1.9.2"  +/
Сообщение от Michael Shigorinemail (ok), 20-Авг-10, 00:36 
[как понимаю, s/'lines'/'filter'/]

>Так лучше?

В части обработки ошибок по крайней мере уже подешовле на целый файл. :)

>Класс File займет ровно 30 строк.

Ну так и вклеили бы, как раз полтора экрана и будет... и сравнение наглядное.

>Один раз на всю последующую жизнь.

Не-а.  Потому что сейчас это одна частная задача, завтра -- другая, ну и пошло-поехало -- изобретать Ruby на PHP.

>При желании можно закинуть в какой-нить PECL или ещё какой порноресурс.

...ну Вы поняли :)  Можно, конечно -- но детям такое на факультативе я рассказывать не буду, стыдно.  А рубишный вот всё раскачиваюсь почитать в родном lic145.kiev.ua.  Разумеется, рассказывая и про слабые стороны -- всё-таки глубокие циклы на интерпретаторе крутить не стоит.

Ответить | Правка | Наверх | Cообщить модератору

70. "Релиз языка программирования Ruby 1.9.2"  –1 +/
Сообщение от klalafuda (?), 20-Авг-10, 00:50 
>[как понимаю, s/'lines'/'filter'/]
>
>>Так лучше?
>
>В части обработки ошибок по крайней мере уже подешовле на целый файл.
>:)
>

Сигнализация об ошибках через исключение - это всего лишь один из способов сигнализации об ошибках. И совсем не в руби или пхп его 'придумали'. И совсем не всегда он подходит а уж тем более является 'единственным правильным'. Так что от того, что я чуть-чуть перевел код в плоскость ООП он, код, не стал ни на йоту лучше. Впрочем, как и хуже. Оба примера *полностью* отвечают поставленным в изначальном ТЗ условиям. И, не имея каких-то дополнительных данных, их невозможно разделить на лучше/хуже. Они оба идентичны.

>>Класс File займет ровно 30 строк.
>
>Ну так и вклеили бы, как раз полтора экрана и будет... и
>сравнение наглядное.
>>Один раз на всю последующую жизнь.
>
>Не-а.  Потому что сейчас это одна частная задача, завтра -- другая,
>ну и пошло-поехало -- изобретать Ruby на PHP.

Сэр хочет сказать, что RTL руби (или любого другого языка) полностью покрывает его потребности к ф-ти, заложенной в предполагаемой области применения тех или иных объектов из RTL (в данном случае - доступа к файлам)? Завидую. Мне пока что не встречалась такая всеобъемлющая RTL. Всегда есть что-то, что не в писывается или отсутствует в 'стандартном' дизайне.

>>При желании можно закинуть в какой-нить PECL или ещё какой порноресурс.
>
>...ну Вы поняли :)  Можно, конечно -- но детям такое на
>факультативе я рассказывать не буду, стыдно.  А рубишный вот всё
>раскачиваюсь почитать в родном lic145.kiev.ua.  Разумеется, рассказывая и про слабые
>стороны -- всё-таки глубокие циклы на интерпретаторе крутить не стоит.

Ответить | Правка | Наверх | Cообщить модератору

69. "Релиз языка программирования Ruby 1.9.2"  –1 +/
Сообщение от klalafuda (?), 20-Авг-10, 00:38 
>>>Для меня отличается -- потребление памяти на здоровом файле будет отличаться
>>>дословно в разы.
>>А на приведенном в оригинальном примере - не будет?
>
>Говорю, в моём примере идёт построчное чтение, обкусывание и набивка в массив.
> В Вашем -- сперва всасывается весь файл, потом куда-нить небось
>заскладируют временно массив от explode(), потом продублируют до конца рантайма в
>$lines.  Перед завершением чтения потребление памяти будет отличаться в (хорошо
>если)два..три(более вероятно) раза, и то если пробелов немного оказалось.  Где-то
>посредине различие будет ещё больше, но в абсолютных цифрах конец важней.

Вжжжжжжжик - блямс! - сказала японская пила и заглохла
Ага!!! - обрадовались русские мужики
(с) старый боян

Обычно при формировании тех или иных технических заданий указываются разумные граничные условия применимости. Ну хотя бы примерные. Хотя бы эмпирические, исходя из предполагаемой предметной области. Мы вот тут файлик читаем. В массив. На руби или на пыхе - не важно. А что там за файлик? Сколько он весит? И где мы его читаем? И как первое соотносится со вторым? Мы парсим нечто подконтрольно здесь-и-сейчас? Мы делаем что-то конкретно направленное но для реюза? А может мы делаем некий универсальный инструмент с неопределенными граничными условиями ибо мы их не знаем? Или что-то другое? А может мы вообще дураки, что пытаемся впихнуть его весь в память не суть важно как ибо ну не влезет апачевский лог с гугла.ком в память КПК вне зависимости от языка?

В каждом из случаев получится совершенно разный код. К нему требования совершенно разные. Причем не зависимо от используемого языка.

Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

19. "Релиз языка программирования Ruby 1.9.2"  +2 +/
Сообщение от Gular (ok), 19-Авг-10, 05:14 
Puppet вполне себе вменяемая и нужная вещь.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

24. "Релиз языка программирования Ruby 1.9.2"  +3 +/
Сообщение от northbearemail (??), 19-Авг-10, 09:37 
>Ценить свое время в ущерб времени пользователя - большое зло. Но факт
>заключается в том, что на ruby вообще ничего ценного не написано.
>А если напишут, это будет только грустно.

Из того что могло быть ценным для вас, ничего. Вам можно назвать массу продуктов полезных для меня, например, только вы ничего не поймете из этого. Не доросли еще, видимо.

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

53. "Релиз языка программирования Ruby 1.9.2"  +4 +/
Сообщение от delirium (ok), 19-Авг-10, 20:45 
Мда, а как же redmine? Вроде многие используют.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру