|
|
|
Kiorus |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 158 Регистрация: 1.7.2004 Репутация: нет Всего: 8 |
задам такой же вопрос как и Kaskad, только про Ruby
что есть в Ruby чего нет в других языках? и в какаих целях его применяют? |
|||
|
||||
simanyay |
|
|||
Антон Ковалёв Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: 6 Всего: 36 |
What's Ruby
Ruby Documentation (там внизу есть статьи на эту тему) Добавлено @ 10:01 Если есть вопросы по преимуществами в какой-то конкретной области - пиши. I'll do my best -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
MastEdm |
|
|||
Master Профиль Группа: Участник Сообщений: 178 Регистрация: 3.12.2005 Где: Москва, МГИУ Репутация: нет Всего: 2 |
Из последнего: http://www.rubyonrails.com/ - перспективная разработочка
|
|||
|
||||
setq |
|
|||
Unregistered |
было бы неплохо написать и прекрепить здесь обзорную статью по ключевым моментам Ruby (на русском). кто возьмётся?
|
|||
|
||||
Pete |
|
|||
Опытный Профиль Группа: Участник Сообщений: 318 Регистрация: 5.1.2006 Где: Москва Репутация: 2 Всего: 12 |
-------------------- Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу) Не откладывай на завтра то, что можешь сделать сегодня. (Пословица) А теперь выпишем точное значение числа пи... (Препод) Жахни, Пендальф! © Гоблин |
|||
|
||||
Void |
|
||||
λcat.lolcat Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 1 Всего: 173 |
Pete
Неплохая Ruby advocacy статья, но вот такие:
ляпы существенно портят впечатление. Закрадываются сомнения в компетентности автора. Я это к тому, что Питон все вышеперечисленное поддерживает.
Хоть убейте, я не считаю это преимуществом для мало-мальски больших проектов Это сообщение отредактировал(а) Void - 13.1.2006, 16:50 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||
|
|||||
Rubynovich |
|
||||||||||||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 7.6.2006 Репутация: 3 Всего: 3 |
Две ошибки. Первая, внутри .map присваивание как козе баян. Вторая, итератор .map здесь вообще не к месту.
Добавлено @ 20:21 Как показывает практика, чем больше пытаешься рассказать студентам, тем меньше они знают. Отсюда мораль, начинать надо с простого. До сложного они сами дойдут. В Python длинная арифметика вшита через ж.... Haskell пропущу (на Ruby писать в стиле Haskell -- одно удовольствие)... про LISP можно забыть. =) Добавлено @ 20:22
Иди на http://ru.wikipedia.org/wiki/Ruby и читай Добавлено @ 20:25
Ruby очень быстро развивается. Быстрее, чем ML. Зачем учить детей тому, что в скором времени может исчезнуть? Уж лучше Haskell... Это сообщение отредактировал(а) Rubynovich - 7.6.2006, 20:25 |
||||||||||||
|
|||||||||||||
Rubynovich |
|
||||||||||||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 7.6.2006 Репутация: 3 Всего: 3 |
Пример в студию. Хочу посмотреть как в Пайтон'е можно добавить метод к челым числам, без создания нового класса. Или как добавить метод к строке "Hello", без порождения нового класса? Добавляем метод к целым числам без порождения нового класса:
Добавляем новый метод к строке "Hello", без порождения нового класса.
По поводу объявления переменных. Где присваивание, там и объяввление переменной. А вот до начала написания программы знать имена всех необходимых тебе переменных и пролистывать код каждый раз, когда понадобится еще одна -- это маразм XX века. Кстати, большинство моих программ на Ruby замечательно обходятся без переменных. Не веришь? Смотри выше... =) ЗЫ. ООП в Ruby идеально! В Python же... ладно, пока промолчу. Подожду примеров (с передачей self в качестве параметра). =) Добавлено @ 20:46
Mi ne comprenas vin. По русски говори (код в студию). Что-то я такого безобразия на Haskell не припоминаю... |
||||||||||||
|
|||||||||||||
Void |
|
||||||||||
λcat.lolcat Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 1 Всего: 173 |
Никак. Я процитировал пункт «Python не поддерживает наследования», что есть явный бред. ML исчезнет? С какой радости? Применение ML-оидов невелико, но уменьшаться оно не собирается. Особо увеличиваться, впрочем тоже. Я не за ML для обучения, но хоронить его не стоит.
http://en.wikipedia.org/wiki/Pattern_matching http://en.wikipedia.org/wiki/Algebraic_datatype
OCaml:
Понятнее стало? И давайте без фанатизма. Для holywars и соответствующего тона у нас специальный раздел есть. Добавлено @ 21:30
Полностью согласен. И где же такая фигня наблюдается? Это сообщение отредактировал(а) Void - 7.6.2006, 21:24 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||||||||
|
|||||||||||
Rubynovich |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 7.6.2006 Репутация: 3 Всего: 3 |
Если я правильно понял, то задается некоторая структура (шаблон) объекта и проводится проверка вида "соответствует ли объект указанной структуре?"
Честно говоря, даже не очень понимаю как это можно применить на практике... Ну в Haskell оно понятно... а вот в Ruby? Скорее всего, это будет реализовываться дописыванием методов вида .nil? .array? .string? .tree? Кода будет примерно столько же... =) Не об исчезновении я говорю, а о забвении. Все концептуальные языки программирования чаще всего остаются малоизвестными. Ruby в этом смысле не повезло. Какой-то ..... написал RoR. Хорошо, что не все догадываются, что RoR != Ruby. По поводу переменных... Во всяких там Паскалях и Сях. Как вспомню... программы по 10 тыс. строк кода. Несколько экранов переменных с неудобоваримыми именами. Лучше писать программы без переменных, циклов и условных операторов. Ошибок меньше на порядок получается. И не надо думать о том, что объявлять, а что нет. Когда начинал программировать на Ruby, то думал, что отсутствие типа у переменных будет мне мешать. Но потом привыкаешь. В Ruby нет такого маразма, как в PHP, что переменная может возникнуть из пустоты (без присваивания). Если переменной не присвоено значение, то она равняется nil, а у nil практически нет методов. "Утиный контроль" хватает эту ошибку во время первого же запуска. Это не привычно поначалу, но потом перестаешь обращать на это внимание. ЗЫ. Кстати, почти вернулись к певоначальной теме. Это сообщение отредактировал(а) Rubynovich - 7.6.2006, 22:02 |
|||
|
||||
Void |
|
||||||
λcat.lolcat Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 1 Всего: 173 |
Ага.
Вот такую вещь на Ruby изображали Ну мы же про нормальные высокоуровневые языки говорим Вывод типов прекрасно решает любые проблемы с объявлением переменных. Не всегда можно отличить на глаз код с выводом типов и код на динамически типизированном языке.
Все таки малоизвестность и забвение — разные вещи. Из «концептуальных языков» многое потихоньку уползает в мэйнстрим. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||||
|
|||||||
Rubynovich |
|
||||||||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 7.6.2006 Репутация: 3 Всего: 3 |
Метод multi -- это конечно круто, но не Ruby like. =) Вряд ли его кто-то будет так использовать... кроме мигрантов со всяких там Haskell. "Вывод типов" -- это что-то типа этого?
В Ruby только одна опасность: переменные не имеют типа (точнее у них у всех тип "ссылка на объект") и появляется соблазн второго присваивания (причем с другим типом). Вот тогда и может возникнуть косяк. Если этого не делать, то привязка переменной к типу и не потребуется. |
||||||||
|
|||||||||
Void |
|
|||
λcat.lolcat Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 1 Всего: 173 |
Нет. Это когда типы переменных не декларируются явно, но статически определяются на этапе компиляции из контекста использования. Ну и вообще: http://en.wikipedia.org/wiki/Type_inference -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
simanyay |
|
|||
Антон Ковалёв Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: 6 Всего: 36 |
По поводу забвений. Вы всё ещё хотите найти язык, который будет служить вам вечно? Всё в этой жизни — временные увлечения.
-------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
Правила форума "Ruby: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |