LINUX.ORG.RU
ФорумTalks

Ruby


0

0

Что там есть такого, чего нет в Python?

Я сам только мельком видел, синтаксис ИМХО сложнее, работа с юникодом говорят плохая, ну и библиотек поменьше.

anonymous

Ответ на: комментарий от bugmaker

>Он ещё тормознее.

Это цена, которую надо платить за то, чтобы разговаривать с интерпретатором на более человечном языке.

Selecter ★★★★
()

>Что там есть такого, чего нет в Python?

Там есть Великий, Ужасный и Могучий Ruby On Rails!

Deleted
()
Ответ на: комментарий от Selecter

>> Он ещё тормознее.

> Это цена, которую надо платить за то, чтобы разговаривать с интерпретатором на более человечном языке.

Посмотри лисп и почувствуй себя обманутым.

bugmaker ★★★★☆
()
Ответ на: комментарий от bugmaker

>Посмотри лисп и почувствуй себя обманутым.

То есть, Lisp тормозит? Потому что, как я понимаю, функциональные языки скорее математические.

Selecter ★★★★
()
Ответ на: комментарий от bugmaker

>да и функциональные языки не больше всех других математические.

ФП языки я назвал математическими, т.к. в их основе нет понятий из реального мира.

Selecter ★★★★
()

Это просто другой взгляд и другое решение.. Лично мне,кстати, нравиться.. Хотя и не без недостатков.. Пока сам, лично не попробуешь - не поймёшь..

MiracleMan ★★★★★
()
Ответ на: комментарий от bugmaker

Например, понятие объекта, которые мы видим повсюду.

Аналогию с MVC я нашёл, когда случайно наткнулся на статью про то, как устроен человеческий мозг.

Принцип отделения данных от реализации заложен в реализации процесса передачи наследственной информации в клетках организма. ДНК - хранит, РНК - реализует.

Функции, рекурсия - это всё из математики.

Если не прав, прошу простить, ибо, признаюсь, что познания мои скудны :-) "Знаю то, что ничего не знаю".

Selecter ★★★★
()
Ответ на: комментарий от Selecter

> Например, понятие объекта, которые мы видим повсюду.

Твой врач знает, что ты всюду видиш IOStream, AbstractArray и другое?

bugmaker ★★★★☆
()
Ответ на: комментарий от Selecter

Ни в одном наречии нету объектов из реального мира. Есть математические модели, описывающие ево, во всех наречиях одинаковые, и средства и методы работы с ними, в какой-то степени разные. Объектно-ориентированные имеют не больше отношения к ральному миру, а только налагают дополнительные ограничения на оформление кода и данных.

bugmaker ★★★★☆
()
Ответ на: комментарий от bugmaker

Хорошая мысть...Особенно в контексте совмещения Куэльо и Страуструпа.. Адская смесь...

MiracleMan ★★★★★
()
Ответ на: комментарий от Selecter

Это статья о том, как написать программу на C, а к ней 30 строчек клеевого Ruby-кода, чтобы сказать "О! Мам! Смотри! И я умею на Ruby писать!" ??

anonymous
()
Ответ на: комментарий от Selecter

>Например, понятие объекта, которые мы видим повсюду.

Извини, но тебе натурально запудрили мозги. Когда ты хочешь чаю, ты берёшь чайник, наливаешь туда воду, включаешь плиту... А не просишь чайник налиться водой, поставиться на плиту, а плиту - влючиться...

>Принцип отделения данных от реализации заложен в реализации процесса передачи наследственной информации в клетках организма. ДНК - хранит, РНК - реализует.

да вот только для того, чтоб сделать копию, надо поломать, скопировать, а потом склеить назад, чтоб никто не заметил. правда, не пример надёжности?

>Функции, рекурсия - это всё из математики.

теорию алгоритмов проходил?

Pi ★★★★★
()
Ответ на: комментарий от Pi

>Извини, но тебе натурально запудрили мозги. Когда ты хочешь чаю, ты берёшь чайник, наливаешь туда воду, включаешь плиту... А не просишь чайник налиться водой, поставиться на плиту, а плиту - влючиться...

А по-моему, ты именно осуществляешь "кран -> открыть", "плита -> включить". Но вот чайник налиться водой действительно не просишь =)

Грамотное проектирование --- половина успеха при написании программ.

MYMUR ★★★★
()
Ответ на: комментарий от ero-sennin

Нет, не прошу. Я кран просто _открываю_, про чайник он и знать не знает. И не должен знать! Крану совершенно пофиг, для чего его открывают: наполнить чайник, вымыть посуду, затопить соседей или еще что....

MYMUR ★★★★
()
Ответ на: комментарий от MYMUR

Ну, вот, хоть кто-то понял, о чём я говорю и не пытается играть в софистов.

Selecter ★★★★
()
Ответ на: комментарий от ero-sennin

Блин, ну подумай еще раз: кран должен хоть что-то знать про чайник? Кран что-нибудь знает про "наполнить"? Где у тебя на кране кнопка "Наполнить", а?

Опиши обычными действиями, которые ты делаешь в жизни:

чайник->move(кран->coordinates());
чайник->open();
кран->turnOn();
while (!чайник->hasEnoughWater()){
sleep(FILLING_TIMEOUT);
}
кран->close();

Что-то типа такого.

MYMUR ★★★★
()
Ответ на: комментарий от MYMUR

Да не должнен кран знать про чайник.
Ты передаёшь ему любой объект, а он его наполняет. :D

void Кран::наполнить(const Посуда &посудина)
{
    посудина->move(self->coordinates());
    self->open();
    while (!посудина->hasEnoughWater()){ 
        sleep(FILLING_TIMEOUT);
    self->close();
}

Открыть и закрыть посуду - на совести пользователя. :)

ero-sennin ★★
()
Ответ на: комментарий от Pi

Каждый видит мир по-своему =)

Вот в твоем мире, оказывается, нет объекта "чайник", "кран", "плита", а есть только действия над ними =)

MYMUR ★★★★
()
Ответ на: комментарий от MYMUR

угу, но главное другое: когда мне нужен полный чайник воды, я просто беру его, открываю кран и лью воду, не здумываясь над тем какие молумифические объекты в этом безобразии участвуют. я всё к тому, что человек императивен и поэтому не надо в реальном мире искать какие-то объекты.

Pi ★★★★★
()
Ответ на: комментарий от Pi

Не задумываясь --- потому что действия над этими объектами (чайник, кран, плита) давно отлажены. Но ты все равно берешь объект "чайник" в руки, открываешь объект "кран" и так далее....

У объекта "кран", к примеру, есть вполне определенные свойства и вполне определенный интерфейс: кроме как через метод "открыть" ты не достучишься до воды (грязные хаки типа использования лома рассматривать не будем :)). Инкапсуляция? Она самая. Краны бывают разные: одни надо крутить, другие двигать вверх-вниз. Это просто разная реализация методов "открыть/закрыть" некоего абстрактного крана --- вот они, наследование и полиморфизм.

ООП в чистом виде =)

MYMUR ★★★★
()
Ответ на: комментарий от MYMUR

> ООП в чистом виде =)

Осталось только понять, зачем проге вообще нужно оперировать с кранами и сыростью, и можно строицо в колонну и итти за нобелевкой.

bugmaker ★★★★☆
()
Ответ на: комментарий от Miguel

>Программирование вообще - мелкий раздел математики Программирование - это сплошная математика!

Siansor
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.