The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"OpenNews: В интерпретаторе языка Ruby обнаружено 4 уязвимост..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"OpenNews: В интерпретаторе языка Ruby обнаружено 4 уязвимост..."  
Сообщение от opennews (??) on 11-Авг-08, 22:53 
В интерпретаторе языка Ruby обнаружено (http://secunia.com/advisories/31430/) несколько новых уязвимостей:


-  Возможность обхода ограничений уровней изоляции (safe level) через манипуляции с функцией "untrace_var()";
-  Использование некорректного регулярного выражения в WEBrick::HTTPUtils.split_header_value() может привести к отказу в обслуживании, путем полного потребления процессом ресурсов CPU, после получения специальным образом оформленного HTTP запроса;
-  Ошибка в "DL" может быть использована для обхода ограничений безопасности и вызова потенциально опасных функций;
-  Отсутствие в resolv.rb случайного выбора номера порта при отправке ответа на DNS запрос, упрощало проведение атаки Каминского (http://www.opennet.ru/opennews/art.shtml?num=17101).

Наличие уязвимостей подтверждено в версиях Ruby 1.8.5, 1.8.6-p286,  1.8.7-p71 и более ранних. Проблемы исправлены в Ruby 1.8.6-p287 (ftp://ftp.ruby-lang.org/pub/ruby/1.8/) и 1.8.7-p72 (ftp://ftp.ruby-lang.org/pub/ruby/1.8/).

URL: http://secunia.com/advisories/31430/
Новость: http://www.opennet.ru/opennews/art.shtml?num=17358

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

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


1. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от Аноним (??) on 11-Авг-08, 22:53 
уже вторые сутки пошли как их исправили
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от User294 (??) on 11-Авг-08, 23:25 
>уже вторые сутки пошли как их исправили

Ну вот, а говорили еще что PHP - решето :).Думается и остальные если их прошерстить - точно такие же, просто PHP в силу популярности и интересности хацкерам достается больше внимания.

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

6. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от Аноним1 (ok) on 11-Авг-08, 23:28 
>Ну вот, а говорили еще что PHP - решето :).Думается и остальные
>если их прошерстить - точно такие же, просто PHP в силу
>популярности и интересности хацкерам достается больше внимания.

Судить о языке по найденным и исправленным ошибкам не имеет никакого смысла. Очень хорошо, что нашли и исправили.


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

8. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от User294 (??) on 11-Авг-08, 23:39 
>Судить о языке по найденным и исправленным ошибкам не имеет никакого смысла.

Ну, что-то это все-таки показывает.Например что дыры все-таки есть.А так - согласен, если дыру заделали до того как ее заюзали - это хорошо.

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

10. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от Аноним1 (ok) on 12-Авг-08, 00:12 
>Ну, что-то это все-таки показывает.Например что дыры все-таки есть.

Очень ценные знания! Что и на этот раз систему делают не боги и иногда тоже ошибаются.
Все другие характеристики на этом фоне просто меркнут!

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

17. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от Аноним (??) on 12-Авг-08, 11:31 
>>Судить о языке по найденным и исправленным ошибкам не имеет никакого смысла.

Вот! А местное население почему-то очень любит судить о ПХП по уязвимостям. Причем обычно уязвимостям в старых версиях. Парадокс ...

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

19. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от Аноним (??) on 12-Авг-08, 12:20 
> А местное население почему-то очень любит судить о ПХП по уязвимостям.

По количеству милый, по количеству уязвимостей пхп.

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

28. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от User294 (??) on 13-Авг-08, 21:43 
>По количеству милый, по количеству уязвимостей пхп.

Думаете, если бы руби использовали в таком же количестве, там бы меньше находили?А вы уверены?И на чем основан такой оптимизм?

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

29. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от Аноним1 (ok) on 13-Авг-08, 22:00 
>Думаете, если бы руби использовали в таком же количестве, там бы меньше находили?А вы уверены?И на чем основан такой оптимизм?

Именно на том, что как Вы сами это здесь и подтвердили, создатели Ruby не гонятся за большим количеством поклонников, не пытаются выдать побыстрее разные там фишки для малоквалифицированных программистов, поэтому качественнее проектируют.

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

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

32. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от User294 (??) on 13-Авг-08, 23:15 
>Именно на том, что как Вы сами это здесь и подтвердили,

Я ничего не подтверждал, я констатировал банальный факт состоящий в том что чтобы в софте искали баги и уязвимости - его для начала должны хотя-бы использовать.

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

Тогда они отстанут в развитии от остальных.А тут говорили что дескать, перспективы.Какие же это перспективы тогда?Быть растоптаными другими проектами?

>разные там фишки для малоквалифицированных программистов,

Ну, когда на Руби будут проекты хотя-бы уровня PHPBB 3 или SMF а не только стремные наколенные поделки в штучном количестве и рассуждизмы о крутизне - тогда можно будет что-то о квалификации оных программистов сказать.А до тех пор - "а судьи кто?".Где, собственно, пруф наличия должной квалификации у самих судей?

>поэтому качественнее проектируют.

Ой, что-то это мне напоминает флейм Линуса и Таненбаума по части монолитных и микроядер.И Таненбаум с своей правильностью и оторванностью от реалий так и остался где-то в заднице, его системы на практике оказались никому не нужны.Зато как он обосрал линукс... который теперь в каждой дыре.

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

Самая главная ошибка которую обычно делают в этой фазе проекта - слишком увлечься высокими концепциями и оторваться от реалий.После этого обычно проекту рано или поздно наступает крышка или он влачит жалкое существование никому нафиг не нужный.Таких проектов, концептуально круто закрученых и всех из себя правильных и ... никому нахрен не нужных - вагон и маленькая тележка.Достаточно вспомнить Minix и Linux.Да, концептуально микроядро "правильнее", формально миникс должен был быть более портабельным а линукс должен был загнуться.Фактически же вышло все ровно наоборот.Таненбаум промахнулся в прогнозах а из-за ряда иных промашек его проект оказался никому нафиг не нужен кроме него самого.При всей правильности.

>рассуждате как человек, который с трудом разобрался с один языком программирования,

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

>изучение которого не требует больших способностей,

Это какой интересно язык?PHP?Так я его практически не осваивал.Я просто могу открыть писаный на нем файл и отрихтовать как мне под мои нужды надо.Ну, может, пару раз в процессе подсмотрев в онлайновую доку по языку, которая у чуваков весьма качественная и подробная.Сказать что я специально изучал PHP - мягко говоря, это будет звиздеж.

>и ищет для себя поводы, чтобы больше ни с чем не разбираться.

Предлагаете греть голову высокими концепциями сугубо ради оных концепций?А это надо?Вон Таненбаум такой был.Ну и толку от его правильных систем?Зато дядька Торвальдс с своей не особо красивой в концептуальном плане системой дохрена пользы людям принес...

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

36. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от Аноним1 (ok) on 14-Авг-08, 09:06 
http://www.opennet.ru/openforum/vsluhforumID3/43307.html#30
>А вы наверное, The God, не иначе?Или как минимум страдаете манией величия.

Вот Ваша исходная фраза:
>Поэтому простому смертному он понятен примерно как иероглифы :).

Как же он может быть непонятен простому смертному, и как я могу считать себя Богом, если всем известно, что даже создатели языков богами не являются. Если я и показался Вам Богом, то это не потому, что Вы скромно считаете себя простым смертным, а потому что сами себя униженно определили простой "курицей" http://www.opennet.ru/openforum/vsluhforumID3/43207.html#25 .

>Для начала я не вижу пока никакого пруфа что у руби большое будущее.

Не видите - Ваши проблемы. Что же тогда так волнуетесь. Юзайте спокойно Ваш любимый PHP.

>Для начала я не вижу пока никакого пруфа что у руби большое будущее.Один из языков.Из кучи.С вагоном разнообразных проблем, половины из которых у других нет.И ... чего?

Я не говорил ни о каком "большом будущем", я сказал дословно "хорошие перспективы". Абсолютно с Вами согласен, один из многих. И я много языков знаю. Я и не утверждал нигде, что Ruby самый лучший язык. Откуда Вы это взяли? Это Вы пытаетесь доказать, что язык, который Вам удалось-таки освоить самай лучший.

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

Не надо судить других по себе. То, что сложно, трудно, непонятно, мучительно для Вас не обязательно является таковым для других. Кроме того люди, которые знают эти непонятные и ненавистные для Вас системы, как правило знают и PHP. Это Вы не знаете и не можете понять того, что знают и понимают они и поэтому злитесь.

>Да ничего я не осваивал ни с каким трудом.Просто я просто могу взять пхпшную болванку и отрихтовать ее под свои нужды, вообще не заморачиваясь длительным изучением PHP
>Это какой интересно язык?PHP?Так я его практически не осваивал.Я просто могу открыть писаный на нем файл и отрихтовать как мне под мои нужды надо.Ну, может, пару раз в процессе подсмотрев в онлайновую доку по языку, которая у чуваков весьма качественная и подробная.Сказать что я специально изучал PHP - мягко говоря, это будет звиздеж.

Итак, PHP Вы тоже, как выясняется, толком не изучали. А весь Ваш опыт программирования состоит в "отрихтовке болванок" и прочей подстройке готовых, сделанных другими шаблонами. То, что Вы его не изучали, подтверждает, то что это ширпотреб, созданный для таких, как Вы.

Вам видимо трудно вообще что-то изучать. Поэтому тех, кто что-то изучает, Вы считаете идиотами и мазохистами. Не судите других по себе. Другие изучают что-то не потому, что любят мучиться, а просто потому, что им это не трудно, в отличии от Вас.

>"а судьи кто?".Где, собственно, пруф наличия должной квалификации у самих судей?

Зато сами себя судьей считаете с квалификацией "рихтовщика болванок". Судить о Вас будут те, кто прочитает Ваши высказывания.

>Самая главная ошибка которую обычно делают в этой фазе проекта

О, да! С вашей квалификацией "рихтовщика болванок" лучше всего рассуждать о фазах проекта

>Мне просто интересно, на чем основаны заявы про перспективность были.Аргументация то будет?
>Ну или как вы оценивали перспективы не имея для этого критериев?Что-то не очень понимаю, как можно оценить перспективы но при том спрашивать критерии для этого ... у других!

Если бы в пылу самооправданий у Вас из памяти не вываливалось ранее прочитанное, то Вы заметили бы аргументы, сразу на следующих строчках после заявления о перспективности. Отсюда же следуют и критерии. Я там конечно на полный обзор не претендовал, можно много чего еще хорошего про Ruby сказать. А Вас о Ваших критериях я спросил потому, что Вашим единственным критерием, судя по всему являются "продукты", созданные на языке. Ну и еще, чтобы ничего не изучать. То есть в свойства самих языков Вы не разбираетесь. И самостоятельно оценить перспективы не можете. А только смотрите, кто еще пользуется.

И почему я Вам должен приводить критерии, аргументы и кто им пользуется? Если бы Вы о программировании что-то знали, кроме как "рихтовать болванки", тогда бы и привел. Вам для себя надо оправдания искать, почему Вы языки программирования посложнее PHP освоить не можете, вот сами их ищите.

И вообще тема про Ruby, Вас с Вашим любимым PHP вообще не касалась. Вы видимо просто как личное оскорбление принимаете, когда кто-то положительно отзывается о других языках, а не Вашем любимом PHP, который Вам удалось освоить. Или вообще когда положительно отзываются о системах и технологиях, непонятных Вам.

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

Торвальдса с Таненбаумом еще зачем-то приплели. Правильно, если о программировании сказать нечего и не разбираетесь, лучше говорить о чем-то постороннем, лишь бы говорить.

Считаете Ruby бесперспективным? Слишком для Вас сложным? Ненужным? Считаете, что на нем ничего не сделано? Считаете, что лучше PHP ничего нет? Ну так и юзайте свой любимый PHP. Чего же так волнуетесь? И рады бы что-то еще освоить, да не можете.

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

44. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от User294 (??) on 14-Авг-08, 21:41 
>Вот Ваша исходная фраза:
>>Поэтому простому смертному он понятен примерно как иероглифы :).

А что я могу поделать если не считаю себя истиной в последней инстанции?Я констатировал факт.Вам что-то не нравится?

>сами себя униженно определили простой "курицей"

Не надоело ерунду нести?Вот вы действительно только кудахчете а аргументов правоты - нема.

>Не видите - Ваши проблемы.

Да-да, отсутствие аргументов у моего оппонента - налицо.
Напоминает анекдот:
- Армяне лучше чем грузины!
- Чем?
- Чем грузины!

Замените армян на Ruby и грузинов на "остальных" - получите ваш стиль ведения дискуссии 1 в 1.

>Я не говорил ни о каком "большом будущем", я сказал дословно "хорошие
>перспективы".

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

>Это Вы пытаетесь доказать, что язык,
>который Вам удалось-таки освоить самай лучший.

А нельзя ли уточнить хотя-бы какой язык я рекламирую?PHP чтоли?Не смешите мои тапочки, я его просто как более практичный "в жизни" а не "в теории" язык как пример привел.С каким-никаким пруфом своих слов, в отличие от вас.

>технологий и по-Вашему сильно при этом мучаются.

Эк вас понесло.У вас какие-то комплексы по части "ширпотреба" и т.п. маразмы чтоли?

>того, что знают и понимают они и поэтому злитесь.

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

>Итак, PHP Вы тоже, как выясняется, толком не изучали.

И что?Мы тут обсуждаем мою персоналию чтоли?Если что - мне ваше мнение о моей персоналии фиолетово как-то.Чего это вы вместо аргументации своей точки зрения на перспективность вдруг скатились на мою персоналию?Аргументов своей правоты придумать не смогли?

>это ширпотреб, созданный для таких, как Вы.

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

>Вам видимо трудно вообще что-то изучать.

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

>это не трудно, в отличии от Вас.

От вас, от нас... опять вместо аргументов - левые наезды на мою персону.

>Зато сами себя судьей считаете с квалификацией "рихтовщика болванок". Судить о Вас
>будут те, кто прочитает Ваши высказывания.

Для начала, я не брал на себя роль судьи а всего лишь вопросил - на чем основано ваше мнение о перспективности.В этом месте у вас вместо внятного аргументированного ответа почему-то началась форменная истерика с попытками обсудить мою персону, щедрой раздачей ярлыков вида "ширпотреб" и "для таких как вы" и прочий детский сад.

>О, да! С вашей квалификацией "рихтовщика болванок"

Я в софтварной индустрии не один год и потому беру на себя иногда такую смелость.Кстати как правило в отличие от вас не претендуя на истину в последней инстанции громогласными заявами.То к чему вы придрались - вообще просто наблюдение из жизни.Даже если оно вам и не симпатично - ну извините, а что я могу с этим поделать.

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

Хоть застрелите - не вижу я там ни одного аргумента нормального.В основном там по тексту было нытье типа "этого у нас нет, но нам и не нужно" или "да не так уж оно и плохо" - совершенно стандартное для фанатов поведение.Так, рекламка.Без особой аргументации.Как максимум - про парадигму ооп с натяжкой можно засчитать за аргумент, но опять же - а почему только ооп?Для некоторых задач ООП хорошо.Для других - как топор для плавания по реке.Если сравнить то в том же PHP демократичнее.Хотите, юзаете ООП, не хотите - не юзаете.Когда есть выбор вместо hardcoded точки зрения авторов языка на то что такое хорошо и что такое плохо - это по-моему плюс.

>Отсюда же следуют и критерии.

Да?А что же вы их озвучить то не осилили и вообще у меня их спрашиваете?

>Ruby сказать.

Вместо этого вы почему-то предпочли сказать много нехорошего о моей персоне.Какой-то странный подход.Ну да, ругаться на оппонента, его интеллект, персону и что там еще намного проще чем внятные аргументы своей правоты привести ;)

>Вашим единственным критерием, судя по всему являются "продукты", созданные на языке.

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

>Ну и еще, чтобы ничего не изучать.

Ну, поскольку минусом это назвать трудно - я рассматриваю это как плюс.Что-то не так?

>И самостоятельно оценить перспективы не можете.

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

>И почему я Вам должен приводить критерии, аргументы и кто им пользуется?

Ну, иначе ваши заявления выглядят как обычная голосновная фанатская реклама в стиле анекдота "армяне лучше чем грузины!".

>тогда бы и привел.

Дешевые отмазки... благо тут не только я но еще и ALL есть.Для них вы тоже аргументировать не будете, да? ;)

>Вам для себя надо оправдания искать,

Мне для себя никаких оправданий искать не надо.Пока что оправдываетесь и громко вопите тут вы а не я.Пытаясь увильнуть от аргументирования своих явно рекламных заяв путем перехода на обсуждение личности, способностей и умений оппонента, которое однако выглядит смешно и оффтопично :)

>Вы языки программирования посложнее PHP освоить не можете, вот сами их
>ищите.

Да-да-да, стандартные отмазки вида "я не я и лошадь не моя!".Извините, но поскольку заяву выдали вы - почему аргументы для нее должен искать я?Это нелогично.

>И вообще тема про Ruby, Вас с Вашим любимым PHP вообще не
>касалась.

Да я его вообще как пример привел.А вот по теме - вы так и не смогли ничего сказать, почему все-таки у руби по вашему мнению большие перспективы.И как вы вообще это оценили.Вместо этого вы жиденько и стандартно отмазались чуть выше.Получается что по сути вы только отрекламили основываясь сугубо на своем имхо.В моем понимании "не ширпотреб" само по себе достоинством не является если что, равно как и "ширпотреб" не является каким-то недостатком :)

>отзывается о других языках,

Так отзывайтесь.Но аргументированно, черт побери, а не как детсадовец.Желательно, чтобы аргументами было что-то объективное а не детская ругань на персону собеседника, левые рассуждизмы о его умственных и програмерских талантах и прочая хрень на уровне детского садика.А то у вас вместо этого в ответ на безобидный вопрос начинается форменная истерика с левыми отмазками, увиливанием от ответов, руганью в адрес оппонента и даже предложения оппоненту самому поискать аргументы вашей правоты :)))

>непонятных Вам.

А что, это мешает привести аргументы?
Кстати у ученых например есть забавный принцип: "Если учёный не может объяснить кухарке, чем он занимается - то он никчёмный специалист", так что вы с вашими заявами про интеллект собеседника не очень выигрышно выглядите ;)

>Вы действительно ищите для себя оправдания,

Да не ищу я оправданий, чего вы зациклились то?И вообще, мы о руби или о моей персоне?

>И пользуетесь только тем, что изучать не нужно.

А чего тут такого?Мне ехать а не шашечки, если что.

>говорить о чем-то постороннем, лишь бы говорить.

Это вы про себя чтоли?Вместо аргументов в защиту своей точки зрения - одни обсуждения моей персоны и левые отмазки вида "вам нужны аргументы моей правоты?Вот вы их и ищите!".

>Считаете Ruby бесперспективным?

Я такого imho не говорил.Просто спросил на чем основано ВАШЕ утверждение о перспективности.То что вы написали на аргументы с трудом тянет.Разве что совсем слегка.

>Слишком для Вас сложным? Ненужным?

Это ваши домыслы.Кстати, вы повторяетесь и банальны.

>Считаете, что лучше PHP ничего нет?

Покажите где я это именно в таком виде написал?PHP ни разу не идеальный.Просто неплохой язык для некоторого класса задач, далеко не любого.Что, вас так задел приведенный мной в качестве примера PHP?

>И рады бы что-то еще освоить, да не можете.

А с чего вы взяли что не могу?Просто любой геморрой должен быть оправдан.Долгосрочные перспективы могут быть неплохим поводом.А вот рекламные слоганы и аргументация в стиле "вы спросили неудобный вопрос поэтому вы дурак, любите php и вообще, я вам ничего аргументировать не буду!" - не выглядят убедительно.Хороших проектов как пруфа того что это возможно - тоже не попадалось.И с чего я должен кинуться изучать этот язык?Мне теперь на каждый набрасываться?Так их много и шибко разных.А почему тогда не освоить скажем, Lua например?Или перл?Или вообще какойнить кошмарик типа TCL :).Кстати да, вон там вон еще оппонент вкуривший в сий язык по делу прошелся по больным мозолям оного, высказав свое фи.Конструктивно и по делу.Вот это - аргументировано а не брызгание соплями и аргументы вида "армяне лучше чем грузины!".Хоть и не в ту сторону которую бы вам хотелось но зато технично и по делу.А с вашей стороны одна ругань и сопли, вместо того чтобы например спокойно и внятно перечислить имеющиеся плюсы и сильные стороны (ведь если вы его освоили то наверное знаете их и свое мнение должны бы смочь аргументировать по идее?!).

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

78. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от www2 email(??) on 20-Авг-08, 12:13 
У Танненбаума не было цели захватить мир. Он изначально делал систему для обучения студентов и стремился сохранять её как можно более простой. А чтобы кто угодно туда не нанёс всякого хлама, он выпустил её под ограниченной лицензией.

У Торвальдса тоже изначально не было цели захватить мир. Он начал делать свою систему, поскольку делать патчи для Minix, которые всё равно не будут включены в систему, по его мнению было бесполезно. Свою систему он выпустил под свободной лицензией. Hurd в то время не был готов, FreeBSD испытывала проблемы с лицензиями. Поэтому Linux появился просто в нужое время в нужном месте и под нужной лицензией.

То, что идея микроядра оказалось никому не нужной - сомнительно. Иначе бы не было, например, QNX - вполне себе здрваствующая коммерческая система, которая заняла свою нишу. Иначе не было бы проектов вроде l4Linux.

Возможно, эволюционным путём Linux со временем станет микроядерной, но я сомневаюсь что это произойдёт при жизни Торвальдса. Торвальдс пошёл на принцип и перевод Linux на рельсы микроядерной архитектуры будет фактическим признанием поражения в споре.

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

22. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от Аноним1 (ok) on 12-Авг-08, 13:16 
>Вот! А местное население почему-то очень любит судить о ПХП по уязвимостям.
>Причем обычно уязвимостям в старых версиях. Парадокс ...

Ай-Ай-Ай-Ай-Ай-Ай-Ай! А вот Вы возьмите и не уподобляйтесь.
Просто PHP - это ширпотреб, со всеми вытекающими. И уязвимостями, и суждениями, и аудиторией.

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

39. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от User294 (ok) on 14-Авг-08, 15:35 
>Просто PHP - это ширпотреб, со всеми вытекающими.

Угу.Раскидывать пальцы своей эксклюзивностью презрительно козыряя в адрес других лэйбаками типа "ширпотреб" и правда намного проще чем сделать качественный и востребованный проект который бы показал что на данном языке возможно за разумные сроки создавать качественные, удобные и востребованные решения :D.

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

77. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от www2 email(??) on 20-Авг-08, 10:46 
>>Просто PHP - это ширпотреб, со всеми вытекающими.
>
>Угу.Раскидывать пальцы своей эксклюзивностью презрительно козыряя в адрес других лэйбаками типа "ширпотреб"
>и правда намного проще чем сделать качественный и востребованный проект который
>бы показал что на данном языке возможно за разумные сроки создавать
>качественные, удобные и востребованные решения :D.

Я фразу: "Просто PHP - это ширпотреб, со всеми вытекающими." понял немного по-другому. Просто многие люди, пользующиеся PHP, его сами же и обсирают. Большинство людей, пользующихся Python, Ruby вряд-ли будут обсирать какой-то язык за ошибки в интерпретаторе. Они достаточно зрелы, для того чтобы понять, что ошибки бывают везде.

То, что Вы не знаете, написано ли что-нибудь востребованное на Ruby, ещё не значит, что ничего такого нет. portupgrade, например, нужен практически всем админам, пользующимся FreeBSD, написан на Ruby.

Делать что-то, чтобы доказать ВАМ нужность какого-то языка - это смахивает подменой целей. Люди будут пользоваться теми инструментами, которые им удобны, для написания тех программ, которые рашеют их задачи, а не для того, чтобы что-то кому-то доказывать.

А Вы, судя по многим постам на opennet в различных ветках, вообще не достойны того, чтобы Вам что-то объяснять. Вы - тролль, флудер, бездельник и лентяй.

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

81. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от psyche (ok) on 20-Авг-08, 14:58 
Пипл не пытается загнобить язык. Всегда возникает вопрос о причинах малого количества известных продуктов для "хорошего" языка.

Между делом, добавлю проекты, которые написаны на Ruby и используется за пределами самого языка или Ruby on Rails: Capistrano и Metasploit. Усраться, аж 3 проекта получилось.

"If you're so smart, why aren't you rich?".

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

82. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
Сообщение от Аноним1 (ok) on 21-Авг-08, 07:41 
>Пипл не пытается загнобить язык.

Словарь Даля: ЗАГНОБИТЬ ряз.-кас. затомить, замучить, замаять; от загнести.
Что Вы имели в виду?

>Всегда возникает вопрос о причинах малого количества известных продуктов для "хорошего" языка.

Причины малого количества продуктов могут быть самые разные. Например:

  • люди, которые пользуются языком сильно отличаются от большинства и находятся в меньшинстве;

  • язык широко используется в закрытых и частных проектах, не предназначенных для тиражирования, хоть в свободных, хоть в коммерческих вариантах, потому что люди, хорошо владеющие языками программирования зачастую просто не создают программные продукты для широкого пользования, они создают сразу готовые информационные системы, либо извлекают прибыль и удовольствие из своих способностей какими-то другими способами;

  • язык предназначен для более профессионального использования, а чем больший профессионализм требуется, тем как известно меньше поклонников;

  • язык широко используется в смешанных проектах, т.е. в проектах, где для разных задач используются разные средства, к примеру отдельно функциональные и императивные языки программирования, эти средства потом интегрируются различными способами, например, с помощью C-API, такие методы непопулярны у менее профессиональных пользователей, отсюда и меньшая известность.

    Причины, повторяю, могут быть самые разные. Каким, интересно, образом Вы делаете выводы о языках по продуктам?

    Виндами тоже пользуется подавляющее большинство обычных юзеров. А вот среди администраторов серверов и программистов статистика совсем другая. Причем, статистика очень сильно меняется в зависимости от профессионализма.

    Ваши претензии к языку Ruby точь-в-точь напоминают претензии поклонников продуктов MS к менее распространенным операционным системам. К User294 это тоже относится.

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

    >Между делом, добавлю проекты, которые написаны на Ruby и используется за пределами самого языка или Ruby on Rails: Capistrano и Metasploit. Усраться, аж 3 проекта получилось.

    С Вашими способностями искать, находить и приводить примеры (см. ниже в этой же ветке форума) это не мудрено.

    >"If you're so smart, why aren't you rich?".

    Ух ты! Вы даже по-английски что-то сбацать можете!

    Только здесь снова не логично, чем распространее продукт, тем беднее его пользователи. Богатые люди всегда пользуются эксклюзивом. А бедные просто из зависти ругают эксклюзивные продукты и их создателей. Причем под богатством следует понимать как деньги, так и способности, талант.

  • Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

    2. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним (??) on 11-Авг-08, 23:14 
    Как язык вообще, стоит его учить?
    Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

    5. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним1 (ok) on 11-Авг-08, 23:26 
    >Как язык вообще, стоит его учить?

    Язык очень хорошо спроектирован. Его создал японец. Одна из самых чистых реализаций парадигмы ООП.
    Язык все еще достаточно молод. И многие его библиотеки находятся в состоянии бета-релизов. Однако у него очень хорошие перспективы.
    Многим не нравится, что в нем не реализован байт-код, из-за чего скрипты на нем исполняются гораздо медленнее, чем в других подобных системах.
    Но многие считают это преимуществом, меньше сложностей.  Видимо автор сконцентрирован сейчас на других, более важных аспектах Ruby, чем реализация байт-кода.
    Я раньше писал на Python'е, однако после знакомства с Ruby, Python стал казаться мне очень корявым и желание его использовать исчезло.

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

    7. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от User294 (??) on 11-Авг-08, 23:34 
    >Язык очень хорошо спроектирован. Его создал японец. Одна из самых чистых реализаций
    >парадигмы ООП.

    Поэтому простому смертному он понятен примерно как иероглифы :).

    >Однако у него очень хорошие перспективы.

    Машиной времени не поделитесь?Или как вы перспективы узнали вот так вот заранее?

    А так - ну вон на PHP много готовых качественных продуктов.На ruby ... а они где?А то перспективы, перспективы... а proof где?

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

    9. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним1 (ok) on 11-Авг-08, 23:46 
    >Поэтому простому смертному он понятен примерно как иероглифы :).

    В одной из веток форума, Вы причисляли себя к курицам. http://www.opennet.ru/openforum/vsluhforumID3/43207.html#25 Теперь - к простым смертным.
    Это сугубо Ваши проблемы. Вас ведь никто не заставляет им пользоваться.
    Я уже сказал Вам, в вышеуказанной ветке форума, что Вам видимо больше подходит ширпотреб.

    >>Однако у него очень хорошие перспективы.
    >Машиной времени не поделитесь?Или как вы перспективы узнали вот так вот заранее?

    Если Вы самостоятельно не можете оценить перспектив того или иного проекта, то это тоже Ваши проблемы.

    Опять же, по какому критерию оценивать перспективы системы? По количеству малоквалифицированных пользователей и наштампованных на ее базе продуктов. Или по поддержке профессионалов, которые используют ее в своих целях.

    Вы, очевидно, ориентируетесь на массы, смотрите, "как у других". Но все же такие, как Вы.

    >А так - ну вон на PHP много готовых качественных продуктов.На ruby
    >... а они где?А то перспективы, перспективы... а proof где?

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

    Вы, видимо, с большим трудом в свое время освоили PHP и ищите для себя поводы, чтобы больше ничем не интересоваться.
    Сомневаетесь - не пользуйтесь, никто ведь не заставляет.

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

    26. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от psyche on 13-Авг-08, 12:10 
    Чистая реализация ООП? Множественное наследование в Ruby не реализовано в чистом виде.

    Альфа-редукция в версиях 1.8.x реализована не верно.

    Если рассматривать более "мощные" языки, тогда это будет Lisp. Взять к примеру хотя бы его развитую систему макросов.

    Но сразу же возникает вопрос, если язык настолько сильный, то где "хорошие" продукты? Лучше применять слово "используемые", оно более очевидное для оценки.

    Для PHP сходу можно названы такие открытые проекты: phpMyAdmin, phpBB, Drupal, MediaWiki, WordPress, Joomla!.
    В тоже время самый посещяемый сайт, созданный с использованием Ruby On Rails -- Twitter, бьёт все рекорды по отказам в работе.

    Кроме этого не надо смешивать Ruby on Rails и Ruby (аналогично для Camping, Merb, Sinatra и пр.) -- это лишь фреймфорк. Для PHP есть аналогичные фреймворки: Symfony, Zend Framework.

    Скорость работы для некоторых задач является критичной, что ставит крест на применимости Ruby для этого класса задач. Ссылки на производительность последнего релиза IronRuby приветствуются, иначе дискуссия будет беспочвенной.

    ps. PHP появился в том же году, что и Ruby, а если конктретнее, то в 1995. Говорить о том, что язык ещё молод не имеет смысла.

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

    27. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним1 (ok) on 13-Авг-08, 21:18 
    Очередное оправдание на тему "почему я все еще пользуюсь PHP". Так оправдываются обычно те, кто с большим трудом освоили что-то одно и не решаются взяться за освоение чего-то другого.

    Сразу видно, что Вы относитесь к категории людей, которые все еще ищут для себя идеальный и универсальный язык. К этой категории часто относятся люди, которым трудно изучать языки, а потому они не могут пользоваться разными языками.

    >Чистая реализация ООП? Множественное наследование в Ruby не реализовано в чистом виде.

    Ну его туда принципиально на включали. А что можно сделать с помощью множественного наследования, чего нельзя сделать с помощью полиморфизма? С учетом всех недостатков МН. Собственно МН и является одним из способов реализации полиморфизма, причем корявым способом.

    Вам действительно необходимо МН? Тогда действительно Вам лучше выбрать другой язык.

    И вообще, причем здесь чистота реализации ООП? Вы явно высказывались здесь в сторону полноты. То есть не представляете, о чем говорите. Или Вы считаете, что в любой язык необходимо тащить все известные концепции, не задумываясь об их полезности?

    >Альфа-редукция в версиях 1.8.x реализована не верно.

    Какие Вы термины знаете! Только Вы здесь не раскрыли, насколько это негативно отражается на языке и на возможностях его использования, насколько без этого можно обойтись и сделать это самому.

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

    >Если рассматривать более "мощные" языки, тогда это будет Lisp. Взять к примеру хотя бы его развитую систему макросов.

    Даа. Lisp очень красивый и мощный язык. Я им просто восхищаюсь! (Без какой-либо иронии.) Правда писать на нем не могу. Снимаю шляпу перед теми, кому удается на нем программировать. (Без какой-либо иронии.) У меня мозг не может делать столько вычислений. Я предпочитаю, чтобы это делал за меня язык программирования.

    >Но сразу же возникает вопрос, если язык настолько сильный, то где "хорошие"
    >продукты? Лучше применять слово "используемые", оно более очевидное для оценки.

    Я уже на это ответил прямо выше. Вам нужен язык, или продукты? Вы программист или юзер?

    >Для PHP сходу можно названы такие открытые проекты: phpMyAdmin, phpBB, Drupal, MediaWiki, WordPress, Joomla!.

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

    >В тоже время самый посещяемый сайт, созданный с использованием Ruby On Rails -- Twitter, бьёт все рекорды по отказам в работе.

    Это говорит просто о том, что люди, программирующие на Ruby уделяют меньше времени созданию сайтов. Создание сайтов, также как и писательство всяких GUI - это удел менее квалифицированных программистов, которые больше ничего писать не умеют. И которые сами используют то, что создали более квалифицированные.

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

    >Кроме этого не надо смешивать Ruby on Rails и Ruby (аналогично для Camping, Merb, Sinatra и пр.) -- это лишь фреймфорк. Для PHP есть аналогичные фреймворки: Symfony, Zend Framework.

    Вот Вы и сами сказали, что это всего лишь один из продуктов, по которому глупо судить о самом языке.

    Кроме того, RoR предназначен для более профессиональной аудитории, это скорее шаблон, более простой для изучения, который легче доделать под себя. А не готовый продукт для малоквалифицированных программистов.

    Многим профессионалам вообще фреймворки не нужны. Не все же такие, как Вы.

    >Скорость работы для некоторых задач является критичной, что ставит крест на применимости Ruby для этого класса задач. Ссылки на производительность последнего релиза IronRuby приветствуются, иначе дискуссия будет беспочвенной.

    Насчет производительности уже написано ниже в этой же ветке форума.

    А никто и не говорил, что Ruby гонится за универсальной применимостью.
    Если PHP хорошо применим в области сайтоделания, это тоже не значит, что он также хорошо применим в других областях. Только не приводите примеры применения, любой язык можно применить где угодно, вопрос насколько эффективно.

    >ps. PHP появился в том же году, что и Ruby, а если
    >конктретнее, то в 1995. Говорить о том, что язык ещё молод
    >не имеет смысла.

    PHP ориентирован на менее квалифицированных программистов, на массу. Ну и какие ООП-концепции в нем до сих пор реализованы, кроме большого числа "продуктов" для массового пользования.

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

    33. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от psyche on 14-Авг-08, 01:15 
    Предлагаю не переходить на личности Вы, Мы, Ты, иначе это рано или поздно закончится очередным писькомером.

    Ни одна фича языка не является обязательной, однако именно они позволяют с минимальными суммарными затратами создавать программный продукт. Язык, который сможет грамотно сочетать множество концепций программирования, будет являться наиболее мощным [1]. Функциональное программирование постепенно становится стандартом для новых языков программирования (хотя чаще всего из всего функционального программирования используются лишь лямбда-функции, замыкания и функции высшего порядка), но нельзя недооценивать и другие концепции как, например, автоматное программирование, которое позволяет легко расширять и гибко описывать механизмы сложного поведения, реализованных на конечных автоматах [2]. Аналогично и для множественного наследования.

    Одно дело, что фича может быть совсем не реализована, а другое, когда она реализована с ошибкой и не исправляется от релиза к релизу. Для того чтобы убедиться в неверной реализации альфа-редукции, можно выполнить следующий код:
    p n=[1]*3
    n.each { |n| p n }
    p n

    Язык программирования должен быть простым и лёгким в освоении, иначе его ждёт судьба ассемблера или кобола. Чем меньший барьер в языке существует для того, чтобы начать на нём программировать тем лучше. В этом случае идеалом может являться естественный язык. Его можно считать асимптотой для всех языков программирования.

    Кроме того совершенно неприемлемо, чтобы переход на новую версию языка требовал переписывания до 40% существующего кода [3].


    --
    [1] Paul Graham. Beating the Avereges. http://www.paulgraham.com/avg.html. Проверено 14.08.2008.
    [2] Automata-based programming (Shalyto's approach). http://en.wikipedia.org/wiki/Automata-based_programming_(programming_technology). Проверено 14.08.2008
    [3] Ruby Makes Me Want to Rant On My Blog. http://jfm3-repl.blogspot.com/2008/08/ruby-makes-me-want-to-.... Проверено 14.08.2008

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

    34. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним1 (ok) on 14-Авг-08, 06:18 
    >Предлагаю не переходить на личности Вы, Мы, Ты, иначе это рано или поздно закончится очередным писькомером.

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

    Я могу сделать и высказать выводы о Вашей личности на основании смысла Ваших высказываний. Но я не делаю выводов о смысле Ваших высказываний на основании моего мнения о Вашей личности. Это делают писькомеры. Одно не следует из другого. Если лично Вы при упоминании Вашей личности не можете удержаться от писькомерства, то это исключительно Ваши проблемы.

    Я Вам не запрещаю делать и высказывать выводы о моей личности, если это у Вас конечно получится. Суждения о личностях не снижает объективности. Объективность снижается при недостоверных и необоснованных суждениях о чем бы то ни было.

    Суждений о своей личности боятся те, кто просто тупо боится критики.

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

    Вы считаете, что мощь языка и вобще чего бы то ни было определяется количеством фичей? Некоторые здесь тоже так считают.
    http://www.opennet.ru/openforum/vsluhforumID3/43291.html#44
    http://www.opennet.ru/openforum/vsluhforumID3/43291.html#49
    Или Вы считаете, что фичей в Ruby не хватает?

    >Функциональное программирование постепенно становится стандартом для новых языков программирования

    Как парадигма может стать стандартом? Императивные языки Вы называете автоматными, ну ладно, так тоже можно. А вот про логические языки Вы видимо совсем не слышали. Разные парадигмы программирования развиваются параллельно. Еще в 1936г Тьюрингом было доказано, что функ и имп парадигмы эквивалентны и описывают один и тот же класс вычислимых функций. Это просто вопрос предпочтений.

    >Для того чтобы убедиться в неверной реализации альфа-редукции, можно выполнить следующий
    >код:

     
    >p n=[1]*3
    >n.each { |n| p n }
    >p n

    Я не знаю, что такое альфа редукция, видимо это как-то относится к реализации функциональных языков. Только дело в том, что Ruby - императивный язык и всегда был заявлен именно в этом качестве. Это означает, что присваивание в нем имеет побочные эффекты. В приведенном Вами примере в качестве итератора используется объект, созданный за пределами блока. Обычный побочный эффект в императивном языке. Кто Вас заставляет так делать?


    n.each { |i| p i }
    p i -> NameError

    Все в порядке.

    Я ничего не имею против функ языков, и очень их уважаю, но зачем требовать от имп языка отсутствия побочных эффектов при присваивании? Побочные эффекты и в функ языках до конца устранить не могут.

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

    >Аналогично и для множественного наследования.

    Так Вы считаете что в МН есть польза? Вы так и не ответили, что такого можно сделать с помощью корявого МН, чего нельзя сделать, с помощью других, более изящных реализаций полиморфизма? МН в Ruby не реализован осознанно, потому что от МН толку никакого нет. Зато как в Ruby реализовано подмешивание!

    >Язык программирования должен быть простым и лёгким в освоении. Чем меньший барьер в языке существует для того, чтобы начать на нём программировать тем лучше.

    Это исключительно кому как. Кому-то важнее, как легко будет потом, когда уже освоил. Хотя лично для меня Ruby как раз и являлся легким в освоении. Для Вас это не так? Это исключительно Ваши проблемы.

    >иначе его ждёт судьба ассемблера или кобола.

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

    >В этом случае идеалом может являться естественный язык. Его можно считать асимптотой для всех языков программирования.

    Ну Вы и привели идеал в легкости освоения!

    >Кроме того совершенно неприемлемо, чтобы переход на новую версию языка требовал переписывания до 40% существующего кода.

    Это тоже как посмотреть. Для тех кто завязан на бабки со своими проектами - да. Для тех, кто хочет получить максимально чистый язык - нет. Обратная совместимость приводит к появлению большого количества архитектурных заплат. Как это получилось в Python. Когда создатели системы не гонятся за дешевой популярностью, это можно только приветствовать.

    Каждому - свое.
    Еще есть нарекания к Ruby?

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

    35. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним1 (ok) on 14-Авг-08, 07:06 
    >Для того чтобы убедиться в неверной реализации альфа-редукции, можно выполнить следующий
    >код:


    >p n=[1]*3
    >n.each { |n| p n }
    >p n

    Я понял причины ваших ошибок. Вы, в отличии от большинства, начинали изучение программирования с функциональных языков. А в императивных языках опыта практически не имели. Именно этим можно объяснить, почему вам кажется трудным изучение языка Ruby. Вы просто ждете от него функционального поведения. В выражении n.each { |n| p n } Вы ожидаете, что замыкание { |n| p n } должно быть чистым. Хотя уже сам вывод в поток (p n) чистой функцией не является.

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

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

    37. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от psyche (ok) on 14-Авг-08, 15:02 
    Если хочешь обсуждать мою личность, создавай другой топик, иначе добро пожаловать в [1]. Мне твоя личность неинтересна.

    Ruby ограничен следующим:
       * недоразвитая система макросов, которая основывается на eval и method_missing. Matz открыто говорил, что был вдохновлён Lisp при создании языка. Более того Matz заявлял, что Ruby отказался от макросов [2];
       * невозможность задать параметры по умолчанию для аргументов лямбда-функции. В 1.9 они попытались это реализовать, однако возникла проблема доякости трактовки выражения [3];
       * передача функции двух и более блоков невозможна;
       * некорректная работа с юникодом;
       * отстутствие множественного наследования в том виде, в котором оно изначально разрабатывалось. Примеров, когда множественное наследование позволяет упростить конечную программу предостаточно [4]. Изобретать колесо всегда считалось путём мудаков и студентов.

    Ты сам себе противоречишь приводя пример ошибки из-за отсутствия переменной и говоря о побочных эффектах. Это баг Ruby, который характерен для всех релизов ветки 1.8 [5]. Но справедливости ради стоит отметить, что в 1.9 они всё же нашли в себе силы исправить данную архитектурную ошибку.


    --
    [1] Биореактор им. В. С. Луговского. http://www.antigreen.org/bioreactor/. Проверено 14.08.08
    [2] Ruby's lisp features. http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/.... Проверено 14.08.08
    [3] Growth, Syntax, Ruby 1.9, and That Bad Smell You Smell. http://jfm3-repl.blogspot.com/2008/02/growth-syntax-ruby-19-.... Проверено 14.08.08
    [4] Bjarne Stroustrup. Multiple Inheritance for C++ // The C/C++ Users Journal. May, 1999.
    [5] A block argument within a block which argument has the same name leaks. http://www.ruby-forum.com/topic/93339. Проверено 14.08.08

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

    47. "Поздравляю, Вы опровергли сами себя"  
    Сообщение от Аноним1 (ok) on 15-Авг-08, 07:27 
    >Если хочешь обсуждать мою личность, создавай другой топик, иначе добро пожаловать в [1].

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

    >Мне твоя личность неинтересна.

    Мне Ваша тоже. Мне лишь бывают интересны причины возникновения некоторых суждений.

    >Ruby ограничен следующим:

    А какие из языков по-Вашему ничем не ограничены?

    >   * некорректная работа с юникодом;

    Это более серьезный недочет. Но опять-таки, это системная проблема а не концептуальная т е ее решить гораздо проще. Помнится раньше, если я не ошибаюсь Ruby вообще толком не мог с альтернативными кодировками работать. Они ту проблему решили. Думаю, решат и эту.

    >   * отстутствие множественного наследования в том виде, в котором оно изначально разрабатывалось. Примеров, когда множественное наследование позволяет упростить конечную программу предостаточно [4].

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

    >Изобретать колесо всегда считалось путём мудаков и студентов.

    Если бы колеса не переизобретались, автомобили ездили бы на колесах от телег.

    >Ты сам себе противоречишь приводя пример ошибки из-за отсутствия переменной и говоря о побочных эффектах. Это баг Ruby, который характерен для всех релизов ветки 1.8 [5]. Но справедливости ради стоит отметить, что в 1.9 они всё же нашли в себе силы исправить данную архитектурную ошибку.

    Ох, psyche. Приготовьтесь. Сейчас Вашей бедной личности снова не поздоровится.

    Во-первых, где это я там противоречу? При использовании итератора с другим именем все становится в порядке. Кто Вас заставляет использовать итератор как в исходном примере? Вы видимо сами не понимаете ни примеры, которые откуда-то передираете, ни те, что Вам в ответ приводят. Увидели слово Error и обрадовались. А что это означает - невдомек.
    Что такое понятие "побочный эффект" в функ программировании, Вы видимо тоже не представляете, и приняли это просто так, за обычную фразу.

    Во-вторых, читаем Вашу же ссылку http://www.ruby-forum.com/topic/93339 . Автор поста пишет: "я не уверен, является ли это багом, фичей или плохим кодированием с моей стороны, но для меня это неожидаемое поведение". Matz ему отвечает: "Это ожидаемое поведение для версии 1.8. Будет профиксено для 1.9." Там нигде не сказано, что это баг! Мой несмышленый друг psyche, если сказано fixed, это еще не значит, что был bug. Это просто такой вариант поведения замыкания. Он может быть разным в функ парадигме. А кричите - баг!

    В-третьих, точно такое же поведение замыкания реализовано в Scheme. А Scheme - это одна из самых чистых реализаций Lisp.

    Вот Вы и попались, psyche. Вы просто ищете в И-нете по ключевому слову "bug", и лепите что нашли сюда, даже толком не осознав, что именно прилепили. Я не смог до конца опровергнуть эту Вашу ошибку в предыдущих сообщениях, но Вы в своем упорстве облажать Ruby, опровергли-таки сами себя.

    >   * недоразвитая система макросов, которая основывается на eval и method_missing. Matz открыто говорил, что был вдохновлён Lisp при создании языка. Более того Matz заявлял, что Ruby отказался от макросов [2];

    eval, method_missing - ну и что? Нормально для скриптового языка. На этот раз сами понимаете, что все это значит? Попробуйте пояснить почему это по-Вашему плохо. Только смотрите опять не облажайтесь.

    >   * передача функции двух и более блоков невозможна;

    Это вопрос чисто косметический. Несколько блоков всегда можно передать, упаковав их в другой блок. Причем динамически это в Ruby тоже можно сделать.

    >   * невозможность задать параметры по умолчанию для аргументов лямбда-функции. В 1.9 они попытались это реализовать, однако возникла проблема доякости трактовки выражения [3];

    Насколько по-Вашему критична данная проблема?

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

    Вот уж по кому Биореактор плачет, так это по Вам.

    >--
    >[1] Биореактор им. В. С. Луговского. http://www.antigreen.org/bioreactor/. Проверено 14.08.08
    >[2] Ruby's lisp features. http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/.... Проверено 14.08.08
    >[3] Growth, Syntax, Ruby 1.9, and That Bad Smell You Smell. http://jfm3-repl.blogspot.com/2008/02/growth-syntax-ruby-19-....
    >Проверено 14.08.08
    >[4] Bjarne Stroustrup. Multiple Inheritance for C++ // The C/C++ Users Journal. May, 1999.
    >[5] A block argument within a block which argument has the same name leaks. http://www.ruby-forum.com/topic/93339. Проверено 14.08.08

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

    50. "Поздравляю, Вы опровергли сами себя"  
    Сообщение от psyche (ok) on 15-Авг-08, 16:40 
    Повторяю тебе ещё раз, хочешь обсуждать меня -- создавай специальный топик и не меняй тему разговора, пытаясь скрыть недостатки языка. Мы говорим об ограничениях Ruby, а не других языков.

    1. Недостаточная система макросов не позволяет определять новые конструкции языка. В Ruby, например, невозможно создать макрос, который определит новую конструкцию safeif, которая будет принимать четыре аргумента:
       а) объект;
       б) инструкции при равенстве объекта true;
       в) инструкции, когда объект равен false;
       г) инструкции, которые будут выполнены в случае, когда объект равен nil или возникли какие-нибудь ошибки.

    2. Matz не хотел признавать наличие архитектурной ошибки при работе с лямбда-функциями и поэтому назвал данную ошибку фичей. Дешёвый трюк, особенно если учитывать то, что она не была задокументирована. Специально для тебя:
    (define n 3)
    ((lambda (n) 0) 1)
    (display n)

    Результат:
    0
    3

    Аналогичный код на Ruby версии 1.8.7:
    n=3
    p lambda { |n| 0 }[1]
    p n

    Результат:
    0
    1

    3. О передачи нескольких блоков и значениях по умолчанию для лябда-функций. Ты ведь хочешь получить максимально чистый язык, к чему находить обходные пути решения, которые коверкают язык? Чистый язык должен либо позволять добиться такого эффекта или же предоставлять возможности расширения самого себя. Запись передачи нескольких лямбда-функций не в качестве блока является излишней.

    4. Прежде всего Ruby имеет лишь простое наследование. Множественное наследование имитируется с использованием модулей и примесей. Для того, чтобы добиться наследования от классов приходится шаманить используя динамическое программирование.

    Рассмотрим один из классических примеров множественного наследования: существует абстрактный класс работы с файлом (AbstractFile), от него наследуются два класса чтения из файла (ReadFile) и записи в файл (WriteFile), после чего мы создём класс для чтения и записи в файл (ReadWriteFile), который унаследует черты ReadFile и WriteFile.

    В Ruby для реализации данного примера потребуется создать два модуля и четыре класса, тогда как при классической реализации множественного наследования будет достаточно лишь четырёх классов. Избыточность очевидна. Таким образом, Matz, изобретая колесо, усложняет разработку программного обеспечения на Ruby.

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

    56. "О языке Ruby"  
    Сообщение от Аноним1 (ok) on 16-Авг-08, 12:49 
    Ответ на пункт 1.

    > 1. Недостаточная система макросов не позволяет определять новые конструкции языка. В Ruby, например, невозможно создать макрос, который определит новую конструкцию safeif, которая будет принимать четыре аргумента:
    >   а) объект;
    >   б) инструкции при равенстве объекта true;
    >   в) инструкции, когда объект равен false;
    >   г) инструкции, которые будут выполнены в случае, когда объект равен nil или возникли какие-нибудь ошибки.

    Насколько важна такая конструкция? Такую конструкцию можно легко создать с помощью C-API. Я же сразу говорил, что Ruby еще достаточно молодой язык. Молодой  - это не значит, что есть баги, это значит, что есть стабильное емкое ядро и меньше готовых второстепенных фичей. Эти фичи требуют обычно неопытные юзеры. Профессионалы могут легко и быстро создать для себя недостающие им фичи. Когда проект начинает обрастать такими фичами, профессионалы обычно ищут другой более молодой и чистый.

    Ответ на пункт 2.

    >(define n 3)
    >((lambda (n) 0) 1)
    >(display n)
    >Результат: 0 3

    Во-первых. Это это само собой разумеется, что конструкции на функциональном языке, не должны менять значений глобальных переменных. Однако это верно лишь для функциональных языков. Претензия в посте, который Вы привели http://www.ruby-forum.com/topic/93339 заключалась не в этом. Там автор выдвигал претензии к механизму разрешения области видимости. Это еще раз доказывает, что Вы сам пост толком не читали. Вот я и сказал, что переменные замыкания привязываются к глобальному контексту, также, как и в Scheme. А они в зависимости от реализации замыкания могут автоматически к глобальному контексту и не привязываться. Именно это имелось в виду, когда говорилось, что в Scheme замыкания ведут себя так же.

    Во-вторых. Я говорил о замыкании, а Вы вообще привели здесь просто лямбда-функцию. То что Вы в ответ на высказывании о замыканиях приводите пример с лямбдой, говорит о том, что Вы просто не понимаете, о чем идет речь. Блок в Ruby ведет себя как замыкание, а не как лямбда.

    В-четвертых. В функ яз замыкание создается с помощью лямбда (а там с помощью лямбда все создается, т к лямбда там центральное понятие). В то время как в Ruby, наоборот, с помощью замыкания эмулируется, всего лишь эмулируется лямбда. Попробуйте сделать так в Scheme, там такое с лямбдой сделать нельзя:

    x=1; y=2; lambda{x+y}.call -> 3, x==1, y==2

    Куда делись объявление и передача параметров? И куда делся вообще итератор? А теперь сделайте так, с приваиванием:
    x=1; y=2; lambda{x=x+y}.call -> 3, x==3, y==2

    Это эквивалентно простому:
    x=1; y=2; x=x+y -> 3, x==3, y==2

    А теперь с итератором, но без присваивания:
    x=1; y=2; lambda{|x|x+y}.call(4) -> 6, x==4, y==2

    Что эквивалентно:
    x=1; y=2; x=4; x+y -> 6, x==4, y==2

    А почему так по-Вашему нельзя? У нас императивный язык. И лямбда здесь вовсе никакая не лямбда. Это можно лишь заставить работать как лямбду при правильном использовании. А блок - тоже не совсем замыкание. Он относится к замыканию так же, как императивная процедура относится к математической функции, хотя процедуры часто тоже называют функциями.

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

    В-третьих.
    >Matz не хотел признавать наличие архитектурной ошибки при работе с лямбда-функциями и поэтому назвал данную ошибку фичей.

    Снова не читали пост. Даже мой перевод поста толком не прочли. Про "фичу" сказал автор поста, который как и Вы толком не понимал, что происходит. Matz не называл это "фичей", Matz сказал, что это ожидаемое поведение. А оно действительно ожидаемое, если не путать парадигмы программирования. Вы просто нашли пост по ключевому слову "bug", а это слово произнес автор поста, а не Matz. Вы думаете, что если бы это действительно был баг, то Matz не смог бы его профиксить?

    И "профиксивание" видимо делается вовсе не для улучшения. Это просто выбор между компромиссами.
    А теперь вопрос Вам на засыпку. Что именно было "профиксено" в версии 1.9?

    Ответ на пункт 3.

    >3. О передачи нескольких блоков и значениях по умолчанию для лябда-функций. Ты ведь хочешь получить максимально чистый язык, к чему находить обходные пути решения, которые коверкают язык? Чистый язык должен либо позволять добиться такого эффекта или же предоставлять возможности расширения самого себя. Запись передачи нескольких лямбда-функций не в качестве блока является излишней.

    Вы имеете в виду какую чистоту? Императивную или функциональную? Смесь парадигм как раз может привести к "загрязнению". Какая-то парадигма должна доминировать. Нужны обе парадигмы? Используйте два языка и интегрируйте их, хотите на внешнем уровне, хотите на уровне API. Хотите один язык со всеми парадигмами? Тогда Вы - поклонник ширпотреба.

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

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

    Ответ на пункт 4.

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

    А Вы на какой вопрос стали отвечать?
    >Рассмотрим один из классических примеров множественного наследования: существует абстрактный класс работы с файлом

    Откуда у Вас появились классы, если Вы еще не поставили задачу. Сначала поставьте задачу, а уже потом придумывайте классы. Это говорит об отсутствии у Вас реального опыта в программировании. Вы идете не от задачи, а от каких-то стереотипов, от какого-то уже заранее существующего шаблонного решения непонятно какой задачи. А потом утверждаете, что лучшего решения нет. Только, не говорите, что якобы задача и так очевидна, типа файлы. Сформулируйте.

    Вы думаете, Matz не смог бы реализовать МН, если бы захотел? Имея кучу примеров реализации. Какие проблемы реализации МН в C++, какие в Python, Вы знаете? В Python реализация МН вообще оказалась излишней. Matz просто учится на чужих ошибках.

    >В Ruby для реализации данного примера потребуется создать два модуля и четыре класса, тогда как при классической реализации множественного наследования будет достаточно лишь четырёх классов.

    Для реализации какого примера? Для реализации уже кем-то созданной ромбовидной структуры классов? Для какой именно задачи она была создана? Только, не говорите, что якобы задача и так очевидна, типа файлы. Сформулируйте. Зачем эта структура нужна, зачем нужен абстрактный базовый класс, если теория ООП(а не Ruby) предоставляет гораздо более изящные инструменты? И без проблем связанных со множественным наследованием. Об этих инструментах и о проблемах МН Вы естественно ничего не слышали.

    >Таким образом, Matz, изобретая колесо, усложняет разработку программного обеспечения на Ruby.

    Matz ничего здесь не изобрел, это все в теории ООП и оно наоборот все упрощает.

    Люди, не подсказывайте ему! Пусть сам ищет!

    >Мы говорим об ограничениях Ruby, а не других языков.

    Прежде чем говорить, об ограничениях, нужно говорить о назначении языка. А вот уже потом, можно сказать, какие язык имеет ограничения в рамках своего назначения.

    >По поводу посредственной скорости: это является минусом Ruby и отрицать не имеет смысла.

    Это не имеет смысла ни отрицать ни утверждать, если Вы не определили область применения. То, что Matz не стал заиматься преждевременной оптимизацией позволило ему сконцентрироваться на более важных свойствах языка.

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

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

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

    61. "Семантика блока в языке Ruby"  
    Сообщение от Аноним1 (ok) on 17-Авг-08, 13:49 
    Можно сказать проще, семантика замыкания в императивных языках, в отличии от замыкания в функциональных языках, в том, что его можно рассматривать просто как кусок программного кода, который можно вставить в любое место программы.

    В языке Ruby 1.8 объект-блок (не путать с простым блоком в тексте программы на Ruby) является полноценным объектом, является императивным замыканием и имеет сквозную область видимости переменных, что некоторые пользователи, не разобравшись, принимают за баг.

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

    63. "О языке Ruby"  
    Сообщение от psyche (ok) on 17-Авг-08, 15:37 
    Насколько важна конструкция unless в Ruby? Ни насколько. Но она позволяет сделать язык более простым и выразительным. Наглядно увидеть преимущества и простоту создания макросов можно в [1], или же их первое применение в третей главе.
    Я говорю о макросах, а не о конкретных фичах. Ты попросил привести пример того, что eval и method_missing недостаточны, я его привёл пример ограниченности макропрограммирование в Ruby. CAPI это не макропрограммирование.

    Твои слова:
    1. "Попробуйте сделать так в Scheme, там такое с лямбдой сделать нельзя: x=1; y=2; lambda{x+y}.call -> 3, x==1, y==2"

    (let ((x 1) (y 2))
      ((lambda () (+ x y)))
      (and (eq? x 1) (eq? y 2)))
    ; > #t

    2. "Куда делись объявление и передача параметров? И куда делся вообще итератор? А теперь сделайте так, с приваиванием: x=1; y=2; lambda{x=x+y}.call -> 3, x==3, y==2"

    Не понял при чём здесь итератор. Наверное, ты, случайно, опечатался и имел в виду аргумент.

    (let ((x 1) (y 2))
      ((lambda () (set! x (+ x y))))
      (and (eq? x 3) (eq? y 2)))
    ; > #t

    Теперь же снова к коду на Ruby 1.8.7:
    p n=3
    lambda { |n| 0 }[1]
    p n
    # => 3\n1

    lambda { |y| 0 }[1]
    p y
    # => undefined local variable or method `y' for main:Object (NameError)

    Объясни такое поведение для Ruby 1.8.7. Почему в 1.9 оно другое? Какую парадигму использует Ruby 1.8.7? Какую парадигму использует Ruby 1.9?

    Значения по умолчанию не имеют отношения ни к императивному, ни к функциональному программированию. Не пудри мне мозги словами: "API", "смесь", "ширпотрёб". Если тебе не нужны похожие возможности, то почему ты не используешь Brainfuck, который так же является Тьюринг-полным языком?

    Вернёмся к началу дискуссии о множественном наследовании. Мои слова были буквально следующими: "Множественное наследование в Ruby не реализовано в чистом виде". После чего я показал, что использование примесей порождает сущности, которые не требуются при классическом множественном наследовании. Пусть, во множественном наследовании есть свои проблемы, однако Matz полностью от него отказался, хотя мог бы сочетать два подхода: иметь множественное наследование и примеси.
    Сейчас же ты приведи пример, который потребует меньшего количества сущностей для реализации множественного наследования в Ruby, нежели при использовании классического множественного наследования.

    Область применения языка это следствие его ограниченности. На каких важных свойствах языка Matz был сконцентрирован? Что Ruby привнёс нового в программирование?

    --
    [1] Peter Seibel. Practical Common Lisp. Apress. 2005
    [2] The Lisp defined in McCarthy's 1960 paper. http://lib.store.yahoo.net/lib/paulgraham/jmc.lisp. Проверено 17.08.2008
    [3] John McCarthy. Lisp 1.5 Programmer's Manual. M.I.T. Press. 1985.

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

    66. "О языке Ruby"  
    Сообщение от Аноним1 (ok) on 17-Авг-08, 16:44 
    >Твои слова:
    >1. "Попробуйте сделать так в Scheme, там такое с лямбдой сделать нельзя: x=1; y=2; lambda{x+y}.call -> 3, x==1, y==2"

    Ладно, признаю, такое сделать можно. Как я уже писал, я не являюсь знатоком Lisp, однако как я уже писал, я им восхищаюсь, и это не было попыткой его облажать, в отличии от Ваших придирок Ruby.

    Но и Вы ничего не могли мне возразить по поводу моих контр-аргументов про скорость, "продукты" и веб-технологии.

    Значит, я допустил ошибку и стал строить свою аргументацию по неверному пути.
    Однако это по прежнему не означает что правы Вы, утверждаю, что с блоками в Ruby что-то не так. Все, что я говорил, кроме этого пункта, пока остается в силе.

    Я дам Вам еще одну фору. Я даже не являюсь большим знатоком Ruby. Я об этом тоже уже писал (http://www.opennet.ru/openforum/vsluhforumID3/43307.html#5). Таким образом, я опровергаю Вас в-основном экспромтом.

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

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

    31. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Anonymous on 13-Авг-08, 22:59 
    Ты СОВЕРШЕННО не понимаешь, в чем суть php. php это не руби «о, привет чуваки, зацените прикольный полностью ООП язык я нашел, хаха». php это не псевдоинтеллектуальные обсуждения на лоре и опеннет. php это не хрень с замыканиями, настоящим ООП или гламурным синтаксисом. php это язык, где люди могут побыть быдлокодерами — ужасными, бесчувственными, безразличными чудовищами, которыми они на самом деле и являются.
    Переписали сайт с Rails на PHP, а мы смеемся. Подростки написали хоумпейдж на php, а мы смеемся.
    Три школьницы взломали со школьного компьютера, кликая по ссылкам сайт на Python, а мы смеемся и просим еще. Python, Ruby, C# — мы смеемся. Django, Rails, ORM, DRY, REST, AJAX  — мы смеемся. В Ruby нашли 19 уязвимостей — мы смеемся. Мы бездушно напишем на чем угодно, наши предпочтения не основаны на здравом смысле, бесцельные споры — наша стихия, мы — истинное лицо программистов.
    Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

    54. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от dart (??) on 16-Авг-08, 00:05 
    >Чистая реализация ООП? Множественное наследование в Ruby не реализовано в чистом виде.

    Нет в Ruby МН - и это правильно !
    А накой ? Вот объясните зачем МН ? Что-бы плодить проблемы, от которых в последствии не так то и просто избавиться ? Да это гибко, но то кол-во проблем, которое порождает МН ставит под вопрос целесообразность его (МН) применения. Сами то хоть пользовались МН ? :)

    >Но сразу же возникает вопрос, если язык настолько сильный, то где "хорошие"
    >продукты? Лучше применять слово "используемые", оно более очевидное для оценки.

    Для начала 37 signals и его проекты. Изучайте.

    >
    >Для PHP сходу можно названы такие открытые проекты: phpMyAdmin, phpBB, Drupal,
    > MediaWiki, WordPress, Joomla!.
    >В тоже время самый посещяемый сайт, созданный с использованием Ruby On Rails
    >-- Twitter, бьёт все рекорды по отказам в работе.

    Ссылку с фактами о посещаемости и отказах в студию, хочу ознакомиться.

    >Кроме этого не надо смешивать Ruby on Rails и Ruby (аналогично для
    >Camping, Merb, Sinatra и пр.) -- это лишь фреймфорк. Для PHP
    >есть аналогичные фреймворки: Symfony, Zend Framework.

    Ну не надо, они совсем не аналогичны, и появились как клоны RoR. Причем довольно убогие по сравнению с оригиналом. Освойте весь функционал, вложенный в RoR, а потом попробуйте перейти на какой-нить php framework. Гарантирую  - вернетесь на RoR.

    >Скорость работы для некоторых задач является критичной, что ставит крест на применимости
    >Ruby для этого класса задач.

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

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

    55. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от psyche (ok) on 16-Авг-08, 01:52 
    Множественное наследование мы с коллегой уже обсуждаем несколькими постами выше. Предлагаю и тебе присоединиться, а не плодить новые ответвления.

    Называть todo список приложением, прозвучало бы смешно даже десять лет назад. Однако! Я считаю, что ни для кого не секрет, что Rails был разработан в 37signals DHH. Первым приложением на Rails и является Basecamp, хотя тогда было всё наоборот: Basecamp являлся Rails.

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

    Не так давно RWW подводил статистику по времени отказов и Twitter был назван лидером, среди таких сайтов, как Pownce, LinkedIn, Windows Live, Last.fm, Facebook и т.п. [1] Хотя, оказывается, Twitter уже не самый популярный сайт, написанный на Ruby on Rails, появились такие выкидыши, как Scribd. Подробнее можно посмотреть на [2].

    В конечном счёте, для языков программирования и продуктов не важно, кто первый, кто второй, а кто клон. Важно лишь то, какая функциональность и как она реализована. Только человек способен кричать, что это он был первым, кто придумал и создал. Приложению и пользователям всё равно.

    По поводу посредственной скорости: это является минусом Ruby и отрицать не имеет смысла.


    --
    [1] Twitter Leads Social Networks in Downtime, But Still Up Near 99%. http://www.readwriteweb.com/archives/social_network_downtime.... Проверено 16.08.2008
    [2] rails100 wiki. Amazon/Alexa. http://rails100.pbwiki.com/Alexa+Rankings. Проверено 16.08.2008

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

    57. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним1 (ok) on 16-Авг-08, 12:54 
    >Нет в Ruby МН - и это правильно ! А накой ? Вот объясните зачем МН ? Что-бы плодить проблемы, от которых в последствии не так то и просто избавиться ? Да это гибко, но то кол-во проблем, которое порождает МН ставит под вопрос целесообразность его (МН) применения. Сами то хоть пользовались МН ? :)

    Не подсказывайте ему, пусть сам ищет!


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

    62. "Альфа-редукция в языке Ruby"  
    Сообщение от Аноним1 (ok) on 17-Авг-08, 15:12 
    >Альфа-редукция в версиях 1.8.x реализована не верно.

    Понятие альфа-редукция связано с лямбда-исчислением. Прежде чем сыпать терминами, докажите, что то место, на которое Вы указываете в Ruby, действительно является альфа-редукцией. С учетом того, что блок в Ruby лямбдой не является.

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

    64. "Альфа-редукция в языке Ruby"  
    Сообщение от psyche (ok) on 17-Авг-08, 15:40 
    f = lambda { |n| n }
    p f # => #<Proc:0x0294f9c4>

    Ты считаешь, что f это не лямбда-функция?

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

    65. "Альфа-редукция в языке Ruby"  
    Сообщение от Аноним1 (ok) on 17-Авг-08, 15:58 
    >f = lambda { |n| n }
    >p f # => #<Proc:0x0294f9c4>
    >
    >Ты считаешь, что f это не лямбда-функция?

    Я ждал подобных рассуждений.

    Считаю я это или нет это другой вопрос. Кто у нас тут знаток функционального программирования?

    1. Так Вы считаете или нет, что блок является лямбдой?

    Вы так и не ответили на вопрос.

    2. Докажите, что то место, на которое Вы указывали, говоря, что ошибка в реализации альфа-редукции действительно является альфа-редукцией.

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

    67. "Альфа-редукция в языке Ruby"  
    Сообщение от psyche (ok) on 17-Авг-08, 16:46 
    Предлагаю рассмотреть немного другой пример:
    lambda { |x|
      lambda { |x| x }[2]
      p x
    }[1]

    Результат в 1.8.7: 2
    Результат в 1.9: 1

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

    Но теперь данный пример больше похож на пример из википедии λx.λx.x [1]. Альфа-редукция позволяет получить из приведённого примера: λy.λx.x

    Или для кода Ruby:
    lambda { |x|
      lambda { |y| y }[2]
      p x
    }[1]


    --
    [1] Lambda calculus. http://en.wikipedia.org/wiki/Alpha_reduction#.CE.B1-conversion. Проверено 17.08.2008

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

    68. "Ответ для psyche"  
    Сообщение от Аноним1 (ok) on 18-Авг-08, 13:26 
    Пока я отвечал Вам, у меня еще больше сложилось впечатление, что Matz очень хорошо знает, что делает. Балансирует систему и не гонится за дешевой популярностью. Я не являюсь фанатиком Ruby. У меня даже очень небольшой опыт программирования на нем. Если мне покажут что-то лучшее в той области применения, на которую претендует Ruby, именно в той области, а не вообще, я это очень внимательно рассмотрю. Но пока я вижу только какие-то мелкие придирки.

    Пока что можно сделать выводы, что Вы очень плохо разбираетесь в тех областях, за что пытаетесь критиковать Ruby. Вы приводите много ссылок и мало что можете объяснить своими словами. Потом еще выясняется обычно, что сами ссылки Вы толком не читали. Просто передираете откуда-то.

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

    Например, как выясняется, Вы просто не знаете, что такое "чистота системы", а главное, зачем это нужно. Путаете это понятие с полнотой реализации некой теории.

    Что по-Вашему имеется в виду под понятием "чистая реализация концепции ООП"?

    Вы больше походите на ламера, который пытается умничать.

  • Функциональное программирование в Ruby

    Итак, Вы утверждали, что в Ruby по-Вашему неверно реализована альфа-редукция. Привели по этому поводу ссылку [ http://www.ruby-forum.com/topic/93339 ], и утверждали, что в этой ссылке говорится якобы о баге, который был профиксен. Также Вы привели пример, где по-Вашему проявляется неверная реализация альфа-редукции

    p n=[1]*3; n.each { |n| p n }; p n

    Повторяю в очередной раз.

    1. Вы не поняли, о чем говорится в том посте - там ничего не говорится о функциональном программировании.

    2. Слово "bug" использует только автор поста, да и то в вопросительной форме, Matz сказал, что это ожидаемое поведение, и что оно изменено в новой версии. Никакого бага. Ваши заявления о том, что Matz, что-то скрывает пока что являеются Вашими домыслами, Вы ничего не доказали. Почему это поведение ожидаемое, я объяснил в примерах в предыдущих сообщениях. То что Вы этого не поняли говорит только о том, что Вы не знаете имп парадигму.

    3. Читайте заявление о языке Ruby [ http://www.ruby-lang.org/en/about/ ]. "Ruby is a language of careful balance. ...language that balanced functional programming with imperative programming." - "Осторожный баланс". Никто Вам не гарантировал чистую реализацию функ парадигмы. Пользуйтесь чистыми функ языками для чистого функ программирования. Ваши претензии не по адресу. А как Вы вообще представляете себе язык, где одновременно в чистом виде были бы реализованы обе парадигмы.

    4. Докажите, что в Ruby вообще реализовано лямбда-исчисление, и где там по-Вашему должна была быть альфа-редукция и зачем она там нужна. Вы так на эти вопросы и не ответили. Я не знаю, что это такое и не обязан знать, я уже говорил. В статье из Википедии, ссылку на которую Вы приводите, это вообще называется альфа-конверсией. Вы снова "плаваете" в терминологии и не понимаете, о чем говорите. И вообще, объясняйте своими словами, нечего ссылками прикрываться. Тем более, все время выясняется, что Вы не понимаете сами, о чем там идет речь. Вы еще ссылки на печатные издания все время приводите. По-Вашему, все должны искать эти книги, чтобы только понять, о чем Вы говорите. Это говорит о том, что Вы просто умничающий ламер.

    Вы так и не ответили на вопрос. Так Вы считаете или нет, что блок в Ruby является лямбдой? Вы до сих пор так и не поняли, что из себя представляет объект-блок в Ruby.

    5. В сообщении [ http://www.opennet.ru/openforum/vsluhforumID3/43307.html#56 ] я задал Вам вопрос на засыпку. Что именно было "профиксено" в версии 1.9? А Вы меня переспрашиваете. Я-то знаю ответ на этот вопрос. Странно только, что Вы не знаете на него ответ, если утверждаете, что по-Вашему это баг, который наконец-то был профиксен в новой версии, и его по-Вашему никак не могли профиксить в старой. Откуда тогда Вы так уверены, что он по-Вашему наконец профиксен? Только потому, что стали выполняться знакомые Вам функ формулы?

    >Объясни такое поведение для Ruby 1.8.7. Почему в 1.9 оно другое? Какую парадигму использует Ruby 1.8.7? Какую парадигму использует Ruby 1.9?

    В обоих версиях используется императивная парадигма. Так и не поняли, что это такое?
    Вот Вы и объясните, если утверждаете, что это был баг, а если не можете объяснить, то не говорите о баге. Matz уже сказал, что это ожидаемое поведение. Это и есть тот самый "осторожный баланс" [ http://www.ruby-lang.org/en/about/ ].

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

    >Не понял при чём здесь итератор. Наверное, ты, случайно, опечатался и имел в виду аргумент.

    Нет, не опечатался. Это была очередная подсказка. Именно итератор, а не просто параметр. В этом все и дело. Не знаете, что это такое? Вы до сих пор так и не поняли, что из себя представляет объект-блок в Ruby.

  • Множественное наследование в Ruby

    Вы сейчас снова пойдете в свой собственный Биореактор. Вам какой вопрос был в очередной раз задан?

    >>Что такое можно сделать с помощью МН, чего нельзя сделать с помощью его более изящных и эффективных альтернатив? И это вопрос не относительно Ruby, а относительно теории ООП. Что говорится в теории ООП про МН Вы явно не знаете.

    А Вы снова что говорите?

    >Вернёмся к началу дискуссии о множественном наследовании. Мои слова были буквально следующими: "Множественное наследование в Ruby не реализовано в чистом виде".

    Неправда, Вы говорили так.

    >Чистая реализация ООП? Множественное наследование в Ruby не реализовано в чистом виде.

    Неправильно. МН в Ruby вообще не реализовано.

    Здесь Вы лишь демонстрируете, что путаете понятия "чистота" и "полнота". Видимо, Вы вообще не знаете, что такое "чистота". И самое главное, какие она дает преимущества. В частности Вы просто не понимаете выражение "чистая реализация ООП".

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

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

    Задача не ставится в терминах ООП! Уже будучи поставленной она решается с помощью ООП. Или какими-то другими средствами.

    >Пусть, во множественном наследовании есть свои проблемы, однако Matz полностью от него отказался, хотя мог бы сочетать два подхода: иметь множественное наследование и примеси.

    И зачем по-Вашему нужен старый вариант, в котором есть проблемы, если есть новый вариант, в котором проблем нет. Хотите оба варианта - используйте Python. Matz просто не стал повторять его ошибку.

    >Сейчас же ты приведи пример, который потребует меньшего количества сущностей для реализации множественного наследования в Ruby, нежели при использовании классического множественного наследования.

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

    Короче, изучайте ООП, прежде чем придираться. Вы просто умничающий ламер.

  • Другие навороты в Ruby

    >Значения по умолчанию не имеют отношения ни к императивному, ни к функциональному программированию.

    Снова неправильно. Они не имею отношения к функ, но имеют отношение к имп программированию. Но в Ruby нет только зн_по_ум для лямбда-функций, а если Вы сами признаете, что зн_по_ум не имеют отношения к функ прог, то насколько по-Вашему они важны? Кроме того Вы говорите о лямбда-функциях, а есть ли в Ruby лямбда-функции? Там точно есть блоки и итераторы, и у них другой синтаксис. Кроме того, Вы как всегда не читали толком причину, почему их не сделали. А причина в том, что уже не тянет LARL(1)-парсер. Хотя Вы вряд ли знаете, что это такое. Парсер нельзя до бесконечности загружать наворотами, а у Ruby и так очень богатый сиснтаксис.

    >Не пудри мне мозги словами: "API", "смесь", "ширпотрёб".

    Ни о чем.

    >Если тебе не нужны похожие возможности, то почему ты не используешь Brainfuck, который так же является Тьюринг-полным языком?

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

    >Насколько важна конструкция unless в Ruby? Ни насколько. Но она позволяет сделать язык более простым и выразительным.

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

    >Наглядно увидеть преимущества и простоту создания макросов можно в [1], или же их первое применение в третей главе.

    Вы снова прикрываетесь ссылками. Тем более ссылками на печатные издания и их главы. Никто не обязан искать книги, только для того, чтобы понять, что Вы имеете в виду. Своими словами объяснить не можете. Насколько Вы разбираетесь в содержимом своих же собственных ссылок, Вы уже неоднократно показывали.

    >Я говорю о макросах, а не о конкретных фичах. Ты попросил привести пример того, что eval и method_missing недостаточны, я его привёл пример ограниченности макропрограммирование в Ruby. CAPI это не макропрограммирование.

    Во-первых, после Ваших аргументов по поводу функ_прог и МН уже начинают возникать сомнения, насколько Вы хорошо разбираетесь и в этой теме.
    Во-вторых, тот пример котрый Вы привели, safeif, Вы так и не объяснили насколько он важен?
    В-третьих, макропрограммированием обычно расширяют язык в области концептуальных аспектов, в то время как safeif - это системная, техническая конструкция. В каких задачах требуются триггеры на изменение значения объекта? Как часто такие задачи возникают?

    Если safeif важен - хорошо. А если нет - есть еще какие-то аргументы в пользу недостаточности eval и method_missing. И самое главное, в каких областях применеия?

    И почему нельзя пользоваться C-API? Скриптовые языки как раз и развиваются обычно постепенным обрастанием вокруг C-API. А в Ruby именно С-API реализован очень чисто, просто и лаконично. В отличии, например от Python. А сами расширения возможностей макросов тоже как известно делаются на С. Я уже говорил сразу, что Ruby еще достаточно молодой язык, а это значит, что основное преимущество получают в нем именно профессиональные программисты, которые не ждут, когда дядя Matz что-то для них сделает, а сами могут сделать и предложить Matz'у.

  • Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

    70. "Ответ для psyche"  
    Сообщение от psyche (ok) on 18-Авг-08, 21:17 
    Большинство твоих абзацев пестрит укорами моей личности; ты просишь доказательств, задаёшь вопросы, которые уводят разговор от первоначальной беседы. Бросаешься на каждое высказывание, которое показывает, что Ruby содержит неприятные ограничения, как бык на красную тряпку, при этом теряя из виду первоначальную мысль.

    Большинство твоих нападок не относится к теме разговора. Хотя, я был не прав, когда назвал альфа-преобразование редукцией.

    Ты не хочешь читать литературу, которую я привожу в ссылках, хотя все эти печатные издания имеют бесплатные online версии. Practical Common Lisp очень чётко описывает использование и преимущества макросов Lisp, два раза писать об этом бессмысленно.

    Возвращаясь к списку ограничений, тему которых ты хитро подменил теорией:
    1. недоразвитая система макросов, которая основывается на eval и method_missing;
    Это факт. В Lisp они реализованы лучше.

    2. невозможность задать параметры по умолчанию для аргументов лямбда-функции;
    Рано или поздно 1.8 умрёт. Гавнище, что придётся выбросить до 40% написанного кода, однако в 1.9 они решили эту проблему. Используя экспериментальный синтаксис лямбда-функции становится возможным не только передавать значения по умолчанию, но и избежать конфликта с "|", о котором я писал в одном из предыдущих постов. Опять же при использовании новой лямбды потребуется использовать и новый синтаксис для хэша.

    3. передача функции двух и более блоков невозможна;
    Не реализовано. Способ избежать -- передавать не блоками, а лямбда-функциями. Минус: при этом теряется синтаксическая привлекательность.

    4. некорректная работа с юникодом;
    Уже обсуждали.

    5. отсутствие множественного наследования.
    Это религиозный спор, который не мы начали и не нам заканчивать: обсуждать хорошо это или плохо нет смысла. Можно лишь оперировать фактами: в Ruby нет множественного наследования. Есть лишь примеси.


    Ты говоришь: "Но и Вы ничего не могли мне возразить по поводу моих контраргументов про скорость, "продукты" и веб-технологии."
    Конкретнее. Моё утверждение и твой контраргумент.

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

    71. "Ответ для psyche о теме дискуссии"  
    Сообщение от Аноним1 (ok) on 19-Авг-08, 09:55 
    >Большинство твоих нападок не относится к теме разговора. Хотя, я был не прав, когда назвал альфа-преобразование редукцией.
    >Возвращаясь к списку ограничений, тему которых ты хитро подменил теорией:

    Какой именно теорией я ее по-Вашему подменил?
    Итак, Вы все время утверждаете, что я якобы отклоняюсь от первоначальной темы. Здесь Вы подтверждаете, что Вашей темой был "список ограничений Ruby". Я прекрасно об этом помню и читаю при ответах предыдущие сообщения.

    Однако, Вы не уточнили в решении каких именно задач Вас ограничивает Ruby. Т.е. Вы считаете, что об ограничениях имеет смысл говорить вообще, не привязывая их к области применения.

    Как это можно увидеть с самого начала, я этим вовсе не утверждаю, что Ruby является универсальным языком. Я лишь постоянно указываю на стратегию "осторожного баланса", которой придерживается Matz, и о чем можно прочитать на странице "About Ruby" главного сайта проекта [ http://www.ruby-lang.org/en/about/ ]. Поэтому я еще в начале и задал Вам вопрос - а какие языки по-Вашему не имеют ограничений?

    Считаете это отклонением от темы? А я нигде этого и не отрицал, что я отклоняюсь именно от Вашей темы. Или Вы считаете, что мне нельзя рассуждать на собственную тему, которая при этом имеет прямое отношение к языку Ruby? Я лишь использую Вашу тему, как основу для своей темы. Вы удовлетворены?

    Если Вы считаете, что говорить об ограничениях без привязки к области применения имеет смысл, то можете продолжать это делать.

    Некоторые замечания. В дискуссии о блоках никакого отклонения от темы не было. Там было самое обычное опровержение Вашего заявления о баге в Ruby. Дискуссию о МН также трудно назвать отклонением от темы, концепция МН в современной теории ООП считается устаревшей, а исключение устаревшей концепции из общей системы можно назвать ограничением только в очень узком смысле.

    Поскольку Вы ничего не говорите об областях применения, то Ваша тема на самом деле формулируется так:
    Ограничения языка Ruby, которые ограничивают лично Вас в применении технологий программирования, к которым привыкли лично Вы.

    Моя же тема:
    Стратегия "осторожного баланса" в развитии языка Ruby [ http://www.ruby-lang.org/en/about/ ].

    >Большинство твоих абзацев пестрит укорами моей личности

    В предыдущих абзацах нет укоров Вашей личности. Фактическая формулировка Вашей темы также таким укором не является, а логически следует из вышеприведенных утверждений, которые не касаются Вашей личности. Укоры Вашей личности есть в следующем абзаце.

    Как я уже неоднократно это указывал, то что Вы постоянно уклоняетесь от вопроса об области применения, а также от вопросов о назначении и о задачах, говорит о том, что Вы не имеете реального опыта программирования, а просто что-то где-то слышали о некоторых технологиях. А, попросту говоря, Вы - ламер. Что и пытаетесь постоянно скрыть приводя различные ссылки с теориями, знание которых Вы подтвердить не можете.

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

    72. "Ответ для psyche"  
    Сообщение от Аноним1 (ok) on 19-Авг-08, 12:46 
    >Большинство твоих нападок не относится к теме разговора.

    -- Так всегда обычно начинают жаловаться, оказавшись припертыми к стенке.
    О теме дискуссии см. [ http://www.opennet.ru/openforum/vsluhforumID3/43307.html#71 ].

    >Большинство твоих абзацев пестрит укорами моей личности

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

    >Ты не хочешь читать литературу, которую я привожу в ссылках, хотя все эти печатные издания имеют бесплатные online версии. Practical Common Lisp очень чётко описывает использование и преимущества макросов Lisp, два раза писать об этом бессмысленно.

    Во-первых. Вы считаете, что ссылка на какую-либо теорию может являться аргументом? А у Вас ссылки в-основном используются вместо аргументов. К тем ссылкам, которые приводятся просто для справки я претензий не имею. Теории используются для формулировки собственных аргументов, а ссылка приводится для справки, а не как аргумент.

    Во-вторых. Если существуют online-версии, то и надо приводить ссылки на них.

    -- Вы просто прикрываетесь ссылками, когда не можете сформулировать аргументы. И еще Вы видимо действительно рассчитываете на то, что никто это не прочитает, приводя ссылки, которые затруднительно прочитать. Если Вы действительно знаете эти теории, сформулируйте с помощью них аргументы. Да, я не хочу читать литературу, только для того, чтобы в очередной раз убедиться, что Вы плохо разбираетесь в ее содержимом. Покажите, что Вы в этом разбираетесь, сформулировав аргументы на основе приводимых Вами теорий, и я возможно снова стану читать Ваши ссылки.

    >4. некорректная работа с юникодом;
    >Уже обсуждали.

    Здесь я с Вами согласен. Только действительно уже обсуждали. Хотя я этот факт и не проверял, и пока поверил Вам на слово.

    >Хотя, я был не прав, когда назвал альфа-преобразование редукцией.

    Само по себе это было бы и не страшно, я тоже допустил ошибки в высказываниях относительно Lisp. Однако Вы привели только эту ошибку, хотя сделали их там гораздо больше.

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

    >Возвращаясь к списку ограничений, тему которых ты хитро подменил теорией:

    К списку ограничений, которые ограничивают лично Вас, в применении технологий, к которым привыкли лично Вы. (В этой фразе нет выводов о Вашей личности) Следует учесть, что я придерживаюсь темы "осторожный баланс" и считаю, что нет смысла говорить об ограничениях, не указывая область применения системы, в которой эти ограничения существенны [ http://www.opennet.ru/openforum/vsluhforumID3/43307.html#71 ].

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

    Стратегия "осторожного баланса" [ http://www.ruby-lang.org/en/about/ ] означает, что имеет принципиальное значение, в каком порядке в систему добавляются различные возможности. В частности, например, очень важен порядок важности. Также важна степень взаимной противоречивости этих возможностей. Здесь очень показательна история развития языка Python.

    -- Вы не имеете реального опыта программирования, поэтому не можете все это увидеть.

    >1. недоразвитая система макросов, которая основывается на eval и method_missing;
    >Это факт. В Lisp они реализованы лучше.

    А я нигде обратного и не утверждал. Я лишь просил привести область применения, в которой эти ограничения существенны. Вы привели только структуру safeif с ее контролем на nil и триггерами на значение. Область применения этой структуры Вы указать не смогли. Кроме того, очень сомневаюсь, что Matz не знает, как это реализовать. Это всего лишь вопрос очередности приоритетов.

    -- Где Вам это все нужно? Вы собираетесь вмешиваться в работу сборщика мусора (GC) или не можете проконтролировать значения переменных в тексте собственной программы? Это все системные задачи, касающиеся функционирования самого Ruby, их проще и лучше решать средствами C-API. А C-API там очень хорошо реализован. Не знаете C-API и самого языка C? Тогда скорее всего Вам это все точно не нужно. Просто где-то прочитали.

    >2. невозможность задать параметры по умолчанию для аргументов лямбда-функции;

    Вы так и не ответили какому стилю программирования это сильно вредит.

    >Рано или поздно 1.8 умрёт. Гавнище, что придётся выбросить до 40% написанного кода, однако в 1.9 они решили эту проблему.

    Я Вам на это уже ответил [ http://www.opennet.ru/openforum/vsluhforumID3/43307.html#34 ].

    >>Это тоже как посмотреть. Для тех кто завязан на бабки со своими проектами - да. Для тех, кто хочет получить максимально чистый язык - нет. Обратная совместимость приводит к появлению большого количества архитектурных заплат. Как это получилось в Python. Когда создатели системы не гонятся за дешевой популярностью, это можно только приветствовать.

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

    >3. передача функции двух и более блоков невозможна;
    >Не реализовано. Способ избежать -- передавать не блоками, а лямбда-функциями. Минус: при этом теряется синтаксическая привлекательность.

    Что значит "не блоками, а лямбда-функциями", когда лямбда-функция в Ruby и есть блок. И гле это потеряется синт привлекательность, синтаксис упаковки нескольких блоков в один практически идентичен их передаче функции. Семантика при этом абсолютно не меняется. Более по самому смыслу передача нескольких блоков и есть передача одного блока

    -- Вообще мелкая придирка. Такие фичи достойны Visual Basic.

    >5. отсутствие множественного наследования.
    >Это религиозный спор, который не мы начали и не нам заканчивать: обсуждать хорошо это или плохо нет смысла. Можно лишь оперировать фактами: в Ruby нет множественного наследования. Есть лишь примеси.

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

    >>Что такое можно сделать с помощью МН, чего нельзя сделать с помощью его более изящных и эффективных альтернатив? И это вопрос не относительно Ruby, а относительно теории ООП.

    Религиозным можно назвать спор только относительно эквивалентных концепций. По самой теории МН далеко не эквивалентно, а очень ограничено по сравнению с новыми средствами. МН создавалось для статических языков, когда производительность и количество памяти были очень ограничены.

    Кроме того, это большая ошибка считать, что примеси являются заменой МН, для замены МН в Ruby есть гораздо больше средств. Причем еще разными вариантами.

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

    >Ты говоришь: "Но и Вы ничего не могли мне возразить по поводу моих контраргументов про скорость, "продукты" и веб-технологии."
    >Конкретнее. Моё утверждение и твой контраргумент.

    [ http://www.opennet.ru/openforum/vsluhforumID3/43307.html#27 ]

    -- Читать не умеете?

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

    73. "Ответ для psyche"  
    Сообщение от psyche (ok) on 19-Авг-08, 20:47 
    Ты зациклен на области применения. По Ушакову, "ограничить": стеснить известными пределами, условиями, поставить в какие-н. рамки, границы [1]. Неизвестно откуда ты взял область применения для этого слова. Ограниченность не зависит от области; кроме этого если язык не подходит под какую-то область, значит он стеснён известными пределами, условиями, то есть ограничен.

    1. Макросы. Не сама ссылка является аргументом, но её содержание. Автор книги великолепно изложил материал, повторять его я нет смысла. Более того, ты продолжаешь говоришь о CAPI не смотря на то, что к макросам это не имеет отношения.

    2. Значения по умолчанию для лямбда-функции. Это сильно не вредит никакому стилю программирования. Однако на текущий момент является ограничением Ruby.

    3. Передача двух блоков. Лямбда-функция в Ruby не является блоком.
    { a=0 } # это блок
    lambda { a=0 } # это лямбда-функция
    Блок может быть использован только в качестве аргумента.

    Напиши код, который ты имеешь в виду про "упаковку".

    5. Множественное наследование. Обсуждать нет смысла. Ни я, ни ты не можем привести контрпример о нецелесообразности использования.

    6. Продукты. Ты не привёл ни одного продукта на Ruby, о каком контраргументе ты говоришь? В одном из постов я сделал это за тебя, приведя Top100 самых популярных сайтов на Ruby on Rails. Дерзай с примерами, которые не ориентированы на интернет.

    7. Производительность. Я не вижу ссылок на производительность или сравнительных таблиц с другими языками программирования. Я знаю, что Ruby 1.9 быстрее 1.8, хотя не во всех моментах [2].

    8. Веб-технологии. Ты о чём? Цитируй моё утверждение и свой контраргумент.

    9. Альфа-преобразование. http://www.opennet.ru/openforum/vsluhforumID3/43307.html#67. В http://www.opennet.ru/openforum/vsluhforumID3/43307.html#66 ты соглашаешься, что с блоками что-то не так. Ты на что волну гонишь?


    --
    [1] Яндекс.Словари: Ограничить http://slovari.yandex.ru/dict/ushakov/article/ushakov/15/us2.... Проверено 19.08.2008
    [2] Benchmarks: Ruby 1.8 and Ruby 1.9 http://rubychan.de/share/yarv_speedups.html. Проверено 19.08.2008

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

    79. "Ответ для psyche"  
    Сообщение от Аноним1 (ok) on 20-Авг-08, 12:47 
    >Ты зациклен на области применения. По Ушакову, "ограничить": стеснить известными пределами, условиями, поставить в какие-н. рамки, границы [1]. Неизвестно откуда ты взял область применения для этого слова. Ограниченность не зависит от области; кроме этого если язык не подходит под какую-то область, значит он стеснён известными пределами, условиями, то есть ограничен.

    При чем здесь определение из словаря? Вы в каких категориях мыслите? В абсолютных или относительных? Если Вы считаете, что ограниченность следует понимать абсолютно, тогда Вы правы, область применения к этому никакого отношения не имеет.

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

    Вы как хотите, а я мыслю в относительных категориях. Таким образом, раз Вы не можете назвать область применения, то областью применения автоматически становится некоторый набор технологий, к которым Вы привыкли, без привязки к реальным задачам.

    Таким образом, тема, которую Вы ведете формулируется по-прежнему следующим образом.

    >>Ограничения языка Ruby, которые ограничивают лично Вас в применении технологий программирования, к которым привыкли лично Вы.

    -- То, что Вы все еще мыслите в абсолютных категория, говорит не просто об отсутствии реального опыта в программировании, но и о Вашей незрелости и как специалиста в какой бы то ни было области и вообще о незрелости Вашей личности, за неприкосновенность которой Вы все время выступаете.

    >1. Макросы. Не сама ссылка является аргументом, но её содержание.Автор книги великолепно изложил материал, повторять его я нет смысла. Более того, ты продолжаешь говоришь о CAPI не смотря на то, что к макросам это не имеет отношения.

    Безусловно, речь шла о содержании, а о чем же еще? О названии ссылки что-ли? Слово "содержание" было просто опущено для краткости. Кроме того, Вы здесь лукавите, я еще там использовал слово "теория", а это автоматически подразумевает содержание, хотя лучше наверное действительно использовать слово "материал". Только что это меняет?

    -- Не сомневаюсь, что автор книги великолепно изложил материал. А вот судя по тем Вашим ссылкам, которые я здесь разбирал, еще не факт, что Вы этот великолепный материал понимаете. Вот и сформулируйте аргументы на основании этого великолепного материала. "Повторять нет смысла" - еще бы Вы здесь сам материал повторяли.

    То есть Вы считаете, что содержание ссылки, материал который логически не связан с дискуссией, можно использовать целиком как аргумент. Или все-таки аргументы можно лишь выводить на основании этого материала?

    -- Вы уже придираетесь к мелочам. Иссякают аргументы?

    Какое C-API имеет отношение к макросам, я уже говорил, просто Вы делаете вид, что этого не заметили. А Вы так и не ответили в каких именно областях применения ограничения макросов Ruby существенны. Хотя конечно, если Вы мыслите в абсолютных категориях, как я указал Выше, то продолжайте просто перечислять ограничения. Однако, как я уже говорил почему тогда Вы выбрали именно эти ограничения из всех возможных.

    >2. Значения по умолчанию для лямбда-функции. Это сильно не вредит никакому стилю программирования. Однако на текущий момент является ограничением Ruby.

    -- Если Вы вообще что-то знаете о стилях.

    В каких именно областях применения оно является ограничением и в каких стилях?

    >3. Передача двух блоков. Лямбда-функция в Ruby не является блоком.
    >{ a=0 } # это блок
    >lambda { a=0 } # это лямбда-функция
    >Блок может быть использован только в качестве аргумента.

    Итак, Вы наконец признались, что считаете конструкцию lambda { ... } лямбда-функцией. Дам еще одну подсказку, в Ruby ключевое слово "lambda" просто синоним ключевого слова "proc".
    А теперь еще раз посмотрите на пример, котрый сами же привели:
    f = lambda { |n| n }; p f -> #<Proc:0x0294f9c4>
    И еще раз внимательно подумайте, что же это такое. В моих сообщениях были и другие подсказки.

    -- Вы просто пропустили огромное число подсказок в моих сообщениях. Неудивительно, что Вы постоянно "плаваете" во всех теориях, о которых шла речь.

    >Напиши код, который ты имеешь в виду про "упаковку".

    Это Вы доказываете, что проявление этого недостатка в том, что "при этом теряется синтаксическая привлекательность", да и то - единственное проявление. Вот Вы и приведите код, в котором по Вашему теряется привлекательность, и как это должно было бы быть по-Вашему.

    >5. Множественное наследование. Обсуждать нет смысла. Ни я, ни ты не можем привести контрпример о нецелесообразности использования.

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

    Я же просто не хочу приводить примеры, которых и так полно в теории ООП. Кроме того, я Вам это уже указал, а Вы это как бы проигнорировали, что Вы ошибочно считаете, что примеси сами по себе являются альтернативой МН.

    Не можете или не хотите обсуждать - не обсуждайте, но из этого не следует, что нет смысла. Кроме того, Вы так и не разобрались, какие ограничения есть в МН и его реализациях, и как их устранили. Если считаете МН с его ограничениями - полноценная концепция, используйте языки, где она реализована. А Matz знает, что делает.

    >6. Продукты. Ты не привёл ни одного продукта на Ruby, о каком контраргументе ты говоришь? В одном из постов я сделал это за тебя, приведя Top100 самых популярных сайтов на Ruby on Rails. Дерзай с примерами, которые не ориентированы на интернет.

    -- Дерзайте сами со своими примерами.

    Какой у меня был аргумент? Я как раз привел аргумент, почему все эти списки продуктов ни о чем не говорят. А Вы продолжаете упрекать меня в том, что я не привожу списки с продуктами. Вы начинаете искажать смысл.

    >7. Производительность. Я не вижу ссылок на производительность или сравнительных таблиц с другими языками программирования. Я знаю, что Ruby 1.9 быстрее 1.8, хотя не во всех моментах [2].

    Вы опять пытаетесь искажать смысл. Ссылки на сравнение производительности с другими языками мне следовало бы приводить если бы я отрицал, что у Ruby низкая производительность. Я разве это где-то отрицал? Аргумент был другой.

    >8. Веб-технологии. Ты о чём? Цитируй моё утверждение и свой контраргумент.

    -- Все есть в сообщении, которое я привел, Вы просто уже отмазываетесь.

    >9. Альфа-преобразование. http://www.opennet.ru/openforum/vsluhforumID3/43307.html#67. В http://www.opennet.ru/openforum/vsluhforumID3/43307.html#66 ты соглашаешься, что с блоками что-то не так. Ты на что волну гонишь?

    Опять искажение смысла. В #66 я нигде не соглашаюсь, что с блоками что-то не так, я там говорю о том, что ошибочно высказался относительно того, что в Scheme нельзя кое-что сделать. Из этого никак логически не следует, что с блоками в Ruby что-то не так. Кроме того, мои примеры, демонстрирующие поведение блока остаются в силе. Разбирайтесь, если хотите. А не хотите - не разбирайтесь.

    Альфа-преобразование. Сообщение #67. В 1.8 нельзя, в 1.9 можно. Ну и что? Где доказательство, что с блоком что-то не так? Где доказательство, что это по-Вашему баг, а не ожидаемое поведение. В 1.8 одно поведение, в 1.9 другое. Следствие стратегии "осторожного баланса" [ http://www.ruby-lang.org/en/about/ ]. Или Вы считаете, что в 1.9 "лямбда" стала чистой, а выражение lambda {...} вообще стало лямбда-функцией?

    -- Все что я высказывал по этому пункту относительно Вашей личности, остается в силе. Кроме этого. Вы уже начали играть со смыслом, пытаясь скрыть собственные многочисленные ляпы, на которые я Вам неоднократно указывал. Жалуетесь, что я якобы ухожу от темы, а сами пытались только что это сделать. Уйти от разговора о якобы баге и перевести его на "альфы". Докажите сначала, что не совсем чистая "лямбда" - это баг.

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

    80. "Ответ для psyche"  
    Сообщение от psyche (ok) on 20-Авг-08, 14:40 
    1. Макросы. Приведённый мной материал объясняет понятие макросов Lisp и их преимущества. Точно замечено: "Unfortunately, the word macro describes a lot of things in computing to which Common Lisp’s macros bear only a vague and metaphorical similarity. This causes no end of misunderstanding when Lispers try to explain to non-Lispers what a great feature macros are" [1]. Лишь зная, что такое макрос Lisp, можно увидеть, на сколько ограничено метапрограммирование в Ruby.

    2. Значения по-умолчанию. Их отсутствие принуждает меня использовать объявление функций через def, что не позволяет, например, мне создать хэш лямбда-функций со значениями по-умолчанию, который используется в функции принятия решения.
    В результате приходится эмулировать значения по умолчанию через дополнительные nil параметры.
    Не архи, как страшно, но не приятно. Вполне себе ограничение языка.

    3. proc является методом Kernel не рекомендованным к использованию. Альтернатива ему lambda. Далее, labmda и Proc.new имеют разное поведение, что не позволяет говорить об их отождествлении:
    def test
      a = Proc.new { return "proc" }
      a.call
      "test"
    end

    p test # => "proc"

    def test
      a = lambda { return "lambda" }
      a.call
      "test"
    end

    p test # => "test"

    Потеря синтаксической привлекательности при передаче двух блоков.
    Желаемый код:
    def test &b1, &b2; b1.call || b2.call; end
    test { print "hello" }, { puts " world" }

    Однако в Ruby этого добиться можно лишь передав функции не блоки, а лямбда-функции:
    def test b1, b2; b1.call || b2.call; end
    test lambda { print "hello" }, lambda { puts " world" }

    Возможно, код "упаковки", о котором ты говоришь, более привлекателен. Напиши его.

    5. Множественное наследование. Не я, ни ты не приводим конкретные преимущества и контрпримеры. Не имеет смысла обсуждать.

    6. Продукты. Приведи список продуктов, которые о чём-нибудь говорят, если продукты в Top100 "ни о чем не говорят".

    7. Производительность. "Ссылки на сравнение производительности с другими языками мне следовало бы приводить если бы я отрицал, что у Ruby низкая производительность". Ты сказал, что у Ruby низкая производительность. Вопрос закрыт.

    8. Веб-технологии. Цитируй мой аргумент и свой контраргумент. Твоё сообщение слишком размазано.

    9. Альфа-преобразование. Цитирую http://www.opennet.ru/openforum/vsluhforumID3/43307.html#66: "Однако это по прежнему не означает что правы Вы, утверждаю, что с блоками в Ruby что-то не так". Ты говоришь, что я не прав, но утверждаешь, что с блоками в Ruby что-то не так.

    Не существует таких понятий, как "чистая" или "не совсем чистая" лямбда-функция, -- не придумывай псевдо-теории. Существует лишь одна лямбда-функция, всё остальное же является её неверной реализацией.


    --
    [1] Peter Seibel. Practical Common Lisp p. 79 // Apress. 2005

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

    83. "Ответ для psyche - снова лажа"  
    Сообщение от Аноним1 (ok) on 21-Авг-08, 14:00 
    -- Отличительная особенность ламеров в том, что они не умеют учиться, ни на теории, ни на практике, ни на собственных ошибках. Из-за этого они постоянно комплексуют и пытаются выглядеть умнее, чем есть. Для этого они прикрываются разными цитатами, терминологией. Но на самом деле не могут все это логически увязать между собой. У них это никак не получается, и они просто пытаются тупо внешней формой своих высказываний подражать кому-то. Надеясь, что никто не заметит.

    -- Хотите продолжать трепыхаться, ну попробуйте-попробуйте, продолжайте веселить меня.

    >1. Макросы. "Лишь зная, что такое макрос Lisp, можно увидеть, на сколько ограничено метапрограммирование в Ruby". (Peter Seibel. Practical Common Lisp)

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

    -- Судя по всему, Вы чисто случайно привели цитату с областью применения, иначе бы уже давно сказали бы об этом. Вы просто, как обычно, зацепились за слово "ограничено", и, сами того не подозревая, подтвердили мои высказывания об области применения. А может быть Вы вообще путаете "метапрограммирование" с "макропрограммированием"?

    Только следует учесть еще один факт. Метапрограммирование - это слабость всех императивных языков, а не только Ruby. Метапрограммирование наиболее эффективно осуществляется на функциональных и декларативных языках, это общеизвестно. Так что это нельзя считать ограничением Ruby, это ограничение парадигмы. Matz просто не гонится за дешевой популярностью, не пытается "догнать" функциональные языки и следует стратегии "осторожного баланса" [ http://www.ruby-lang.org/en/about/ ].

    Теперь другой вопрос, в каких задачах недостаточно того уровня метапрограммирования, который есть в Ruby?
    Из Вашей же цитаты видно, что грамотные люди всегда подразумевают задачи и область применения.

    -- А на самом деле, Вы метапрограммированием и не занимаетесь. Вы даже с блоками до сих пор толком разобраться не можете.

    >2. Значения по-умолчанию. Их отсутствие принуждает меня использовать объявление функций через def, что не позволяет, например, мне создать хэш лямбда-функций со значениями по-умолчанию, который используется в функции принятия решения. В результате приходится эмулировать значения по умолчанию через дополнительные nil параметры. Не архи, как страшно, но не приятно. Вполне себе ограничение языка.

    Т.е. Вы сами признаете, что это ограничивает Вас в создании "хэша лямбда-функций", но не в создании функций принятия решений. Кроме того, для создания функций принятия решений в Ruby есть другие эффективные средства, а не "через def".

    -- Но, вероятнее всего Вы и функции принятия решений не создаете, просто опять вычитали где-то, иначе бы Вы знали, как их лучше создать в Ruby.

    Итак, как я уже указывал выше, Вы все время приводите ограничения Ruby, которые ограничивают лично Вас, в применении синтаксических конструкций (даже не технологий), к которым привыкли лично Вы.

    >3. proc является методом Kernel не рекомендованным к использованию. Альтернатива ему lambda.

    Откуда это Вы взяли, что он не рекомендован к использованию? Сами придумали? Может лично для Вас он и не рекомендован, не спорю. А "lambda" это никакая не альтернатива, а синоним. Я уже это Вам сказал. А будучи синонимом тоже должна быть "не рекомендована".

    Вот Вам и очередная подсказка, что же такое lambda в Ruby и почему она вовсе никакая не лямбда-функция.

    >Далее, labmda и Proc.new имеют разное поведение, что не позволяет говорить об их отождествлении:

    -- Ну вот, Вы снова лажанулись. Вам же было сказано, "lambda" - синоним "proc". Синоним, это значит надо подставить вместо, так как есть. Я же про Proc.new не говорил. Это у Вас каша в голове. Сами же говорите, что proc - это метод Kernel и тут же рассуждаете про метод new класса Proc.

    Т.е. "lambda {...}" == "proc {...}". И ведут они себя совершенно идентично в версии 1.8. Может в версии 1.9 это и поменяли - не знаю.

    А вот Вам и очередной вопрос на засыпку: откуда разница в поведении proc и Proc.new?
    К тому же, Вы так и не ответили на вопрос (сами себе по крайней мере) - что же именно профиксили в версии 1.9?

    -- А теперь, после того как Вы опять лажанулись, вернемся к вопросу, который стал причиной вышеизложенного.

    Ваши слова:
    >Передача двух блоков. Лямбда-функция в Ruby не является блоком.
    >{ a=0 } # это блок
    >lambda { a=0 } # это лямбда-функция
    >Блок может быть использован только в качестве аргумента.

    Итак, Вы наконец признались, что считаете конструкцию lambda { ... } лямбда-функцией.

    Тогда, если Вы утверждаете, что {...} - это блок, почему тогда
    def test; p "hello"; {p "world"}; end -> SyntaxError: compile error
    но при этом
    def test; p "hello"; proc{p "world"}.call; end; test -> "hello" "world"
    и что такое тогда по-Вашему {a=>b}.

    >>А теперь еще раз посмотрите на пример, котрый сами же привели:
    >>f = lambda { |n| n }; p f -> #<Proc:0x0294f9c4>
    >>И еще раз внимательно подумайте, что же это такое. В моих сообщениях были и другие подсказки.

    -- Вы регулярно не справляетесь с моими аргументами, пытаясь делать вид, что их просто не было. Вместо этого радостно кидаетесь с новыми придирками и снова лажаетесь. А потом подтверждения моим же аргументам, сами же приводите в собственных ссылках, не замечая этого, демонстрируя собственную даже не рассеянность, а просто некомпетентность. См. выше про область применения.

    Далее все к той же теме.

    >4. Потеря синтаксической привлекательности при передаче двух блоков.

    "при передаче двух блоков" - этой фразой Вы сами утверждаете, что передать два блока все-таки можно. Так на что именно Вы жалуетесь все-таки? На потерю привлекательности или на невозможность передать несколько блоков?

    >Однако в Ruby этого добиться можно лишь передав функции не блоки, а
    >лямбда-функции:
    >def test b1, b2; b1.call || b2.call; end
    >test lambda { print "hello" }, lambda { puts " world" }

    Вы только что передали самые настоящие блоки, а никакие не лямбды. См. примеры выше.
    Никакой лямбды в Ruby 1.8 нет. Про 1.9 пока не знаю. Где тогда по-Вашему класс Lambda, есть только класс Proc, объекты которого и называются блоками прямо в документации по Ruby.

    Кстати, прямо в документации продекларировано то самое ожидаемое поведение, которое Вы называли багом. Поищите сами.

    >Возможно, код "упаковки", о котором ты говоришь, более привлекателен. Напиши его.

    Во-первых. Вы действительно называете это "потерей привлекательности"? Ну тогда вот это назовите потерей привлекательности тоже
    def test; p "hello"; {p "world"}; end -> SyntaxError: compile error
    Вы даже до сути докопаться здесь не смогли, откуда это все берется. А самое главное, какой у этого смысл.
    Вас действительно раздражает просто слово "proc" (или "lambda") перед скобками? Тогда как общая компактность записи сохраняется.

    Во-вторых. От этих конструкций "код упаковки" не избавит. Я ждал от Вас более каверзного примера, в котором дейсвительно помогает "код упаковки", но Вы до него даже не дошли. Вы же утверждали, что нельзя передать несколько блоков. Я просто подождал, когда Вы сами лажанетесь собственноручно их передав.

    В-третьих. Прежде чем просить у меня примеры и контрпримеры, сначала сами приведите примеры, и при этом не лажанитесь. Мне нет необходимости говорить Вам, как правильно, я вполне удовлетворен тем, что мы выяснили, что у Вас не правильно.

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

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

    >5. Множественное наследование. Не я, ни ты не приводим конкретные преимущества и контрпримеры. Не имеет смысла обсуждать.

    Значит теперь Вы это так сформулировали. Таким образом Вы, как и в прошлом сообщении, признаете, что Вы не можете привести ни примеров, ни преимуществ использования МН. Но при этом также выясняется, что Вы не знаете, как в Ruby решаются задачи, которые решались раньше с помощью МН.

    Так в чем же ограничение Ruby? Только в том, что лично Вы не можете использовать в нем МН. Кстати, вот Вам еще одна подсказка. В популярном Object Pascal (Delphi) тоже никогда МН не было, но там эти задачи тоже как-то решались. Причем это было с "незапаиятных" для программирования времен.

    И снова Вы лукавите, говоря, что я не привожу конкретные преимущества. Основной преимущество было и остается с самого начала. Ruby избавлен от проблем МН, ничего при этом не потеряв. Но Вы о проблемах МН так ничего и не выяснили. Хотя это общеизвестный факт в теории ООП.

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

    -- Короче, Вы просто ламер. Ничего не знаете.

    >6. Продукты. Приведи список продуктов, которые о чём-нибудь говорят, если продукты в Top100 "ни о чем не говорят".

    Снова лукавите и передергиваете смысл. Я сказал так.
    >>Какой у меня был аргумент? Я как раз привел аргумент, почему все эти списки продуктов ни о чем не говорят. А Вы продолжаете упрекать меня в том, что я не привожу списки с продуктами. Вы начинаете искажать смысл.

    Я имел в виду все списки, при чем здесь Ваш Top100 из рекламы. Зачем Вы предлагаете мне искать какой-то список, если я сказал, что все списки ни о чем не говорят. Это как минимум нелогично. Вам следует по логике либо опровергать именно это высказывание, либо вообще заткнуться, а то опять облажаетесь. В этой ветке форума, аргументов на эту тему предостаточно, вот ищите их и опровергайте. А Вы просто по-ламерски делаете вид, что их не было.

    И вообще, Ваши придирки к Ruby по поводу количества продуктов, ничем не отличаются от придирок поклонников MS к *nix'ам и свободному софту. Они тоже давят на количество и известность.

    >7. Производительность. "Ссылки на сравнение производительности с другими языками мне следовало бы приводить если бы я отрицал, что у Ruby низкая производительность". Ты сказал, что у Ruby низкая производительность. Вопрос закрыт.

    Снова лукавите, притворяетесь, как будто в первый раз слышите. Вопрос в области применения. Это подтверждает даже Ваша собственная цитата из "Practical Common Lisp" - грамотные люди об ограничениях без указания области применения не говорят. И этот вопрос Вам снова закрыть не удалось. У Вас куча незакрытых вопросов, чтобы говорить какой вопрос закрыт, а какой нет. Научитесь для начала не лажаться, а потом уже говорите что-то о закрытии вопроса.

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

    >8. Веб-технологии. Цитируй мой аргумент и свой контраргумент. Твоё сообщение слишком размазано.

    Чисто ламерские отмазки. Когда не можете ответить, говорите, что непонятно или "размазано". Если что-то где-то и размазано, так это каша, которая у Вас в голове. Ну конечно, в том сообщении еще и другие аргументы с контр-аргументами есть, на которые Вы не смогли ответить. Я Вам только на эти два указал для начала.

    >9. Альфа-преобразование. Цитирую http://www.opennet.ru/openforum/vsluhforumID3/43307.html#66: "Однако это по прежнему не означает что правы Вы, утверждаю, что с блоками в Ruby что-то не так".
    >Ты говоришь, что я не прав, но утверждаешь, что с блоками в Ruby что-то не так.

    Опять ламерские цепляния к словам от безысходности. Как будто не видно, что там опечатка и должно стоять "утверждаЯ" вместо "утверждаЮ". Какой смысл мне было так говорить? Или Вы на смысл фраз вообще не смотрите. Не удивительно. Смысла синтаксических конструкций к которым Вы цепляетесь Вы тоже не понимаете.

    Так Вы считаете, с учетом всего вышесказанного, что с блоками в Ruby что-то не так?

    >Не существует таких понятий, как "чистая" или "не совсем чистая" лямбда-функция, -- не придумывай псевдо-теории.

    Прежде чем рассуждать, что в теориях существует, покажите, что в теориях разбираетесь. В теории не существует, а на практике существуют объекты, которые при определенных условиях ведут себя, как лямбды. А программирование - это еще и практика, кроме теории. Вы просто ламер.

    >Существует лишь одна лямбда-функция, всё остальное же является её неверной реализацией.

    Либо вообще реализацией не является - не забывайте такой вариант. Вы очень туго соображаете.

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

    Так Вы все еще считаете что в Ruby 1.8 реализована именно лямбда функция?
    Так Вы считаете или нет, что в Ruby 1.8 был именно баг, а не ожидаемое поведение?

    Кстати, Вы так и не ответили на вопрос - зачем в императивных языках используются функциональные элементы, если функциональное программирование там в чистом виде использовать невозможно.

    Хотите продолжать трепыхаться. Давайте. Веселите меня.

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

    84. "Ответ для psyche - снова лажа"  
    Сообщение от psyche (ok) on 21-Авг-08, 18:20 
    1. Метапрограммирование не имеет отношения к области применения, иначе макросы зациклятся сами на себя. Макросы являются техникой программирования. "Метапрограммирование - это слабость всех императивных языков, а не только Ruby", - расцениваю это за принятие моего аргумента о том, что в Ruby метапрограммирование ограничено.

    3. proc mildly deprecated in favor of Kernel#lambda [1]. В связи с возможной путаницей proc и Proc.new, которые имеют разное поведение.

    Подчёркиваю ещё раз: блок и лямбда-функция в Ruby это не два идентичных термина. Как я говорил в http://www.opennet.ru/openforum/vsluhforumID3/43307.html#73: "Блок может быть использован только в качестве аргумента".

    Таким образом:
    def test &b; b.call end
    test { puts "hello world" } # => "hello world"
    test lambda { puts "hello world" } # => `test': wrong number of arguments (1 for 0) (ArgumentError)

    Хотя в этом случае всё в порядке:
    def test b; b.call end
    test lambda { puts "hello world" } # => "hello world"

    В Ruby невозможно передать два блока:
    def test &b1, &b2; b1.call || b2.call; end

    Блок в Ruby это лишь некая синтаксическая конструкция, которая не имеет прямого отображения ни в один класс языка.

    Во всех остальных вопросах ты ходишь по кругу, надоедливо жужа: забываешь указывать наезды двумя минусами, которые иногда составляют болшую часть твоего сообщения.

    С тобой обсуждать больше нечего.


    "There will always be things we wish to say in our programs that in all known languages can only be said poorly". Alan Perlis.

    Я же предпочитаю более короткое, но не менее ёмкое высказывание: "Все языки программирования -- гавно". Но Ruby одно из лучших.


    --
    [1] Dave Thomas. Programing Ruby. The Pragmatic Programmers' Guide. Second Edition. p. 506 // The Programatic Bookshelf. 2005.

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

    85. "Ответ для psyche - снова лажа"  
    Сообщение от Аноним1 (ok) on 22-Авг-08, 00:25 
    Судя по всему, на все остальное у Вас внятных аргументов уже не нашлось и Вы продолжаете трепыхаться, пытаясь хоть за что-то зацепиться.

    Кстати, вот Вы сами говорили в своем самом первом сообщении [ http://www.opennet.ru/openforum/vsluhforumID3/43307.html#26 ]:
    >Скорость работы для некоторых задач является критичной, что ставит крест на применимости Ruby для этого класса задач.

    А потом сами пытались откреститься от того, что говорить об ограничениях без привязки к области применения не имеет смысла. Класс задач Вы так указать и не смогли.

    >1. Метапрограммирование не имеет отношения к области применения, иначе макросы зациклятся сами на себя. Макросы являются техникой программирования. "Метапрограммирование - это слабость всех императивных языков, а не только Ruby", - расцениваю это за принятие моего аргумента о том, что в Ruby метапрограммирование ограничено.

    То есть по-Вашему метапрограммирование областью применения не является, только потому что на нем может зациклиться какой-то чайник, который не знает, зачем оно нужно. Если не разбираться, то можно зациклиться на любой области применения. Интересно, а по каким критериям Вы вообще определяете, что является областью применения.

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

    >3. proc mildly deprecated in favor of Kernel#lambda [1]. В связи с возможной путаницей proc и Proc.new, которые имеют разное поведение.

    Слова "в связи с возможной путаницей" - это тоже из того же места в "Pragmatic Programmers' Guide"? Или это лично у Вас путаница возникает?

    То есть просто из разницы поведения из Вы пытаетесь заключить, что lambda {...} является лямбда-функцией. Или Вы это заключение делаете из фразы "mightly deprecated"?
    Вы так и не разобрались, почему именно proc и Proc.new ведут себя по-разному. К тому же, Вы говорите о Proc.new, а что же такое по-Вашему "Proc", и как оно само связано с "proc" и его синонимом "lambda".

    Или Вы делаете вывод, что lambda в Ruby является лямбда-функцией, только потому что ее так назвали?

    >Подчёркиваю ещё раз: блок и лямбда-функция в Ruby это не два идентичных термина.

    Блок и лямбда-функция никогда и не могут быть идентичными терминами. Но Вы не доказали, что "lambda" в Ruby идентично термину лямбда-функция. А лексемы в языках программирования на термины и не претендуют.

    Попробуйте также доказать, что в версии 1.9 оно стало лямбда-функцией.

    >Как я говорил в http://www.opennet.ru/openforum/vsluhforumID3/43307.html#73: "Блок может быть использован только в качестве аргумента".

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

    То есть здесь и в ниже следующих примерах Вы хотите сказать, что по-Вашему по тому, как нечто можно передать чисто синтаксически в функцию, можно по-Вашему сделать вывод, что же это на самом деле такое?

    >Таким образом:
    >def test &b; b.call end
    >test { puts "hello world" } # => "hello world"
    >test lambda { puts "hello world" } # => `test': wrong number of arguments (1 for 0) (ArgumentError)
    >Хотя в этом случае всё в порядке:
    >def test b; b.call end
    >test lambda { puts "hello world" } # => "hello world"

    Ну и Вы поняли, что здесь происходит? Чуть глубже синтаксиса. Учтите, Вы так еще и не доказали, что lambda{...} - это не блок.
    К тому же, Вы так и не ответили, почему, если по-Вашему {...} - блок, то нельзя сделать так:
    def test; p "hello"; {p "world"}; end

    Вы просто пытаетесь сделать вид, что неудобных Вам вопросов не было, и пытаетесь зацепиться за что-то еще.

    >В Ruby невозможно передать два блока:
    >def test &b1, &b2; b1.call || b2.call; end

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

    >Блок в Ruby это лишь некая синтаксическая конструкция, которая не имеет прямого отображения ни в один класс языка.

    Это Ваши личные домыслы? А почему Вы не считаете, что блок не является семантической конструкцией? Ruby относится к высопорядковым языкам, а это означает, что блок в нем доступен не только программисту и транслятору, но и самой программе во время исполнения, в частности другому блоку. А это, в свою очередь означает, что понятие блока вовсе не синтаксическая конструкция. Чего Вы естественно не понимаете.

    Кроме того, Вы все время давите на синтаксис. Вы в понимании языков не ушли дальше Pascal где все как пишется, так и происходит на внутреннем механическом уровне. В таких профессиональных языках, как Ruby синтаксис отделен от внутренних механизмов. Это делается для того, чтобы максимально приблизить синтаксис к решаемым задачам, а не к механизмам. Но это сразу сбивает с толку чайников при попытке делать выводы о внутренних механизмах языка.

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

    Так Вы считаете или нет, как Вы говорили в начале, что в Ruby с блоками якобы был именно баг, а не ожидаемое поведене.

    >Во всех остальных вопросах ты ходишь по кругу, надоедливо жужа:

    Я хожу по кругу лишь в след за Вами, надоедливо Вам жужжу, и мешаю Вам делать вид, что Вы компетентны, в том, о чем говорите.

    >забываешь указывать наезды двумя минусами

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

    >которые иногда составляют болшую часть твоего сообщения.

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

    >С тобой обсуждать больше нечего.

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

    >"There will always be things we wish to say in our programs that in all known languages can only be said poorly". Alan Perlis.

    Из всей фразы Вы видимо поняли только слово "poorly". Ну и какое отношение имеет данная фраза к Ruby?

    >Я же предпочитаю более короткое, но не менее ёмкое высказывание: "Все языки программирования -- гавно". Но Ruby одно из лучших.

    Во-первых. По смыслу Ваше высказывание никак не соотносится в вышеприведенным высказыванием.

    Во-вторых. Вы здесь сами подтвердили то, что я раскусил в Вас в самом начале. Вам всегда с трудом давалось программирование, хотя и очень хотелось. Поэтому Вы все время ищите оправдания, почему не можете освоить очередной язык. Скорее всего, где-то на других форумах Вы точно также выискиваете ограничения языка Lisp.

    В-третьих. Даже Вы подтвердили, что Ruby один из лучших языков.

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

    30. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от User294 (??) on 13-Авг-08, 22:50 
    >Теперь - к простым смертным.

    А вы наверное, The God, не иначе?Или как минимум страдаете манией величия.

    >Вам видимо больше подходит ширпотреб.

    Понятно, перед нами очередной представитель тех кто считает что чем реже и хитрожопнее то что он использует - тем он "элитнее" типа.По такой логике самый крутой язык программирования - brainfuck.Тех кто на нем способен писать с разумной скоростью программы гарантировано мало :D

    >Если Вы самостоятельно не можете оценить перспектив того или иного проекта, то
    >это тоже Ваши проблемы.

    Для начала я не вижу пока никакого пруфа что у руби большое будущее.Один из языков.Из кучи.С вагоном разнообразных проблем, половины из которых у других нет.И ... чего?

    >Опять же, по какому критерию оценивать перспективы системы?

    Так это вам наверное лучше знать, раз уж вы заявили о перспективах.Ну или как вы оценивали перспективы не имея для этого критериев?Что-то не очень понимаю, как можно оценить перспективы но при том спрашивать критерии для этого ... у других!То есть, ваши критерии оценки перспективности были исключительно "от балды"?Замечательные критерии ;)

    >Вы, очевидно, ориентируетесь на массы, смотрите, "как у других". Но все же
    >такие, как Вы.

    Я не пытаюсь быть пальцатым "эксклюзивным" отморозком.Мне просто фиолетово, использует продукт 2 юзера или 200 или 200 000 000.Мне не фиолетово насколько он хорошо вписывается в мои задачи и интересы.А например в случае языка программирования - если на языке программирования написано много качественных проектов - это неплохой пруф что на этом языке такое возможно за разумный срок и без нереальных усилий.А если я к тому же в состоянии вкурить в синтаксис за 15 минут даже не читая мануалов - для меня это сигнал что я буду юзать проекты писаные на этом языке на своих серверах.Просто потому что я при нужде смогу их адаптировать под лично свои задачи без чрезмерного головняка.Не втыкая неделями на кульный синтаксис с неочевидными перспективами.Такой вот чисто утилитарный подход.Не любое наиболее эстетичное с чьей-то точки зрения решение наиболее перспективное и вообще получит зеленый свет в будущее.С другой стороны, если решение много юзают - значит, оно нашло поклонников и свою нишу.То есть популярность - какой-никакой критерий.Не всегда объективный но все-таки сбрасывать его со счетов - нельзя.Ведь в конце концов программы как правило все-таки пишутся для того чтобы их использовали.

    >>... а они где?А то перспективы, перспективы... а proof где?
    >Во-первых, чем Вас не устраивает качество готовых продуктов на Ruby.

    Во первых, я вижу например PHPBB V3.Взрослый такой форум.Со всеми наворотами.SMF, аналогично.И еще несколько менее крутых но тоже достойных опенсорцных.И еще штуки 3-4 коммерческих, из заслуживающих внимания.Это хороший пруф, что на PHP возможно сделать удобный, симпатичный и фичастый проект с неслабым функционалом за разумные сроки, девелопать командой, комьюнити или как там еще нравится.А теперь любители руби показывают сравнимый по сложности проект, который не был бы уродцем, был столь же развит, фичаст и востребован пользователями.Ну и где они, такие проекты?Гораздо больше громких заяв от фанатов и всякого недоделанного шыта уровня наколенных поделок.

    >Или Вы просто ничего о них не знаете.

    Так расскажите нам о том где же можно полюбоваться на что-то приличное и чтобы оно при том еще и было писано на руби?

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

    Разница вот какая: даже если я не создаю свой продукт с нуля, это не значит что я не стану адаптировать под свои конкретные нужды энный качественный и симпатичный опенсорцный продукт.Благо, опенсорц в этом очень удобен - можно немного доработать неплохой проейт так что он примененительно к энным задачам станет еще лучше.

    >Вы, видимо, с большим трудом в свое время освоили PHP

    Да ничего я не осваивал ни с каким трудом.Просто я просто могу взять пхпшную болванку и отрихтовать ее под свои нужды, вообще не заморачиваясь длительным изучением PHP или каких-то там нахрен мне не впившихся для решения конкретных практических задач высоких концепций.В итоге и тех кто может улучшить опенсорц проекты много и задачи можно решить не прогревая голову пару недель "высокими концепциями" и "правильными парадигмами" которые требуют однако освоения какого-то инопланетного стиля мышления а просто взяв и допилив напильником имеющееся решение под конкретные нужды.Или даже накатав свое, пусть и без применения мега-навороченных концепций, зато самостоятельно и без чрезмерного вкуривания в ненужные сущности.

    >для себя поводы, чтобы больше ничем не интересоваться.

    Нет, я просто одного не понимаю - в теории все эти кульные концепции должны позволять чуть ли не голыми руками за чуть ли не сутки построить гигантское здание.Но что-то не видно пока результатов.То что видно - больше напоминает шалаш, ну или там хижину.

    >Сомневаетесь - не пользуйтесь, никто ведь не заставляет.

    Ну тут в общем то и не поспоришь.Логично.Мне просто интересно, на чем основаны заявы про перспективность были.Аргументация то будет?Или хотя-бы объяснение как вы перспективность определили?А то получается что заявили что перспективно но логичный вопрос "а почему перспективно?Как вы это оценили?" - не осилили, предложив мне (?!) придумать вам критерии.Когда вывод сформулирован раньше чем критерии - это непорядок!

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

    11. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от ASM (??) on 12-Авг-08, 00:14 
    > А так - ну вон на PHP много готовых качественных продуктов.На ruby ... а они где?А то перспективы, перспективы... а proof где?

    Если вы не знаете о RoR, то могу лиж вам только посочувствовать.
    А если знаете, то зачем тогда спрашиваете(утвержаете), что хороший продуктов нет?

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

    46. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от User294 (??) on 14-Авг-08, 22:26 
    >А если знаете, то зачем тогда спрашиваете(утвержаете), что хороший продуктов нет?

    Может быть, вы покажете эти самые хорошие продукты тогда?А то вон другой оппонент дельно так высказался, злобно и чертовски качественно аргументировал свою позицию(я так не сумею например).И продуктам (из коих озвучен аж целый полудохлый twitter) досталось, и языку, и аргументы отлично скроены, с ссылочками внизу и даже юмором (снимаю шляпу перед Psyche - учитесь, пионеры, как спорить и отстаивать свое мнение надо...).

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

    48. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним1 (ok) on 15-Авг-08, 09:51 
    >Может быть, вы покажете эти самые хорошие продукты тогда?А то вон другой оппонент дельно так высказался, злобно и чертовски качественно аргументировал свою позицию

    И который облажался со своими "злобными аргументами" http://www.opennet.ru/openforum/vsluhforumID3/43307.html#47 . Просто тупо передирает "аргументы" из И-нета, по ключевому слову "bug", но даже толком осмыслить не может, что там написано, поскольку зачастую в его ссылках непосредственно о багах в Ruby не говорится.

    >(я так не сумею например).

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

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

    >И продуктам (из коих озвучен аж целый полудохлый twitter) досталось, и языку, и аргументы отлично скроены, с ссылочками внизу и даже юмором

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

    >(снимаю шляпу перед Psyche - учитесь, пионеры, как спорить и отстаивать свое мнение надо...).

    Да уж, учителей надо уметь выбирать. Оно и видно, как Вы себе учителей выбираете.

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

    51. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от User294 (ok) on 15-Авг-08, 16:50 
    >И который облажался со своими "злобными аргументами"

    Ну вы то и на таком уровне свое мнение аргументировать не способны, только отмазываетесь, увиливаете и наезжаете. Оппонент который предъявляет вполне конкретные аргументы выглядит выигрышнее.Даже если *некоторые* его аргументы некорректны, я вижу и кучу аргументов корректность которых даже вы признали.Что-то не так?

    >о багах в Ruby не говорится.

    О нет, с сылками тот оппонент жжот конкретно.Уж как минимум с чувством юмора у него полный порядок.Я оценил, особенно про биореактор он отжог :).А если учесть что несмотря на все это оппонент сумел предъявить несколько вполне валидных аргументов с которыми даже вы согласились - думаю понятно почему сообщения такого оппонента воспринимаются не как просто трындеж а как вполне обоснованное фактами мнение.Вы то даже на такое не способны - порекламили и в кусты как только "неудобные" вопросы появились.Пока все что я видел из "аргументации" это обсуждение личностей оппонентов, голословные заявы, ускользание от ответов и предложения в виде "вам надо аргументы моей правоты?Так вы их и ищите!".А вы, простите, кто такой, чтобы я(или кто-либо еще) ваши слова без каких либо внятных аргументов принимал на веру?

    >какие продукты, кто этим еще пользуется

    А что вы имеете против таких аргументов?Если автомобили "форд" покупает достаточно народа при наличии конкурентов - значит, они не так уж и плохи.Если энный язык юзает толпа народа при наличии сравнимых - значит, язык нашел свое место под солнцем и имеет некоторые перспективы на длительное существование например.Как минимум это подтверждает что на языке можно сделать приличный проект и что язык не загнется в ближайшее время.Т.е. по сути это доказывает что изучение такого языка может быть полезно не только с эстетической и теоретической, но и с практической точки зрения.

    >смотреть тупо на большинство. Типичный пользователь ширпотреба.

    Опять обсуждение личностей.Вы, кстати, повторяетесь и банальны :)

    >самостоятельно найти не можете.

    Я требую от вас аргументы просто потому что раз вы высказали мнение - вам виднее на чем оно основано.По-моему тут все логично.А вы предлагаете мне видимо, стать телепатом и домыслить за вас на чем же вы основывали ваше мнение.Гениально, блин.Шиза косила наши ряды? :)

    >Типичное мышление пользователя ширпотреба - покупаетесь на "ссылочки внизу", "даже юмор"

    Так даже вы как минимум с частью аргументов этого оппонента согласились.И кстати этот оппонент предпочитает спорить не о личностях оппонентов а о обсуждаемом предмете.Не козыряя грошовыми аргументами типа "ширпотреб".Посему данный оппонент смотрится несколько убедительнее вас.

    >ссылочки почитали и попытались осмыслить, в тему они или нет.

    Так я читал.Заметная их часть - в тему.Хотя про биореактор например - стеб конечно.Но зато какой качественный - сразу видно умного человека, даже шутит грамотно и технично =)).

    >Да уж, учителей надо уметь выбирать. Оно и видно, как Вы себе
    >учителей выбираете.

    Ну вы то в учителя явно не тянете - вменяемые учителя пальцы не раскидывают и терминами типа "ширпотреб" не оперируют а в состоянии грамотно перечислить сильные и слабые стороны того или иного языка.Упомянутый оппонент что-то такое как минимум попытался сделать, в отличие от вас.

    Что до *меня* то я например полагаю что уникод должен заменить собой все остальное и чем быстрее - тем лучше, ибо геморрой с кодировками must die.А кому (и нахрена) нужны проекты которые заведомо хуже других т.к. не поддерживают уникод?

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

    20. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним (??) on 12-Авг-08, 12:23 
    >Многим не нравится, что в нем не реализован байт-код, из-за чего скрипты
    >на нем исполняются гораздо медленнее, чем в других подобных системах.

    На 1.9 смотрели, в плане скорости... а upcoming 2 c YARV'ом, все уже реализовано.

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

    21. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним1 (ok) on 12-Авг-08, 13:13 
    >На 1.9 смотрели, в плане скорости... а upcoming 2 c YARV'ом, все
    >уже реализовано.

    Нет, не смотрел, поленился! Не ждал, что уже это будет в 1.9. Очень ценная информация пойду смотреть!

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

    23. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним (??) on 12-Авг-08, 13:26 
    >>На 1.9 смотрели, в плане скорости... а upcoming 2 c YARV'ом, все
    >>уже реализовано.
    >
    >Нет, не смотрел, поленился! Не ждал, что уже это будет в 1.9.
    >Очень ценная информация пойду смотреть!

    YARV и с 1.8 можно было. Я о скоргсти, 1.9 стал значительно быстрей 1.8 а 2 будет ещё быстрей 1.9...

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

    25. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от Аноним1 (ok) on 12-Авг-08, 16:03 
    >YARV и с 1.8 можно было. Я о скоргсти, 1.9 стал значительно быстрей 1.8 а 2 будет ещё быстрей 1.9...

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

    Главное, чтоб не было как в Питоне, когда по мере добавления возможностей в нем понатыкали заплат.


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

    45. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от User294 (??) on 14-Авг-08, 22:02 
    >в нем понатыкали заплат.

    Тогда он в один прекрасный момент перестанет развиваться и загнется, как загибается любой проект на развитие которого забили.Все и сразу заранее предусмотреть нельзя.Поэтому думаю вам придется жить или с скелетами в шкафу которые никому кроме вас не нужны или жить с фактом что развитие неизбежно попортит стройность конструкций зато соответствие с реалиями улучшится.А так - вы посмотрите сколько всего такого замечательного в теории успешно сыграло в ящик на практике.Например, правильные RISC-и слили рынок дешевому уродцу x86, замечательные системы с микроядрами оказались нужны 0, 0000....% пользователей, ну и так далее.Не всегда техническая эстетичность - единственный критерий успеха и перспективности.Я бы сказал что только очень изредка вообще.

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

    13. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от aTz on 12-Авг-08, 00:23 
    >Как язык вообще, стоит его учить?

    Мое личное мнение и только - учить его стоит если не пишите долго и вплотную на каком-либо другом языке. Я долгое время работал с Perl и вприцнипе всё всегда устраивало, но затем в силу требований на новой работе перешёл на PHP - пишу на нём несколько лет, ещё со времён php3 и пока переходить на что-то другое не собираюсь. С появлением ruby on rails заинтересовался ruby. Язык очень понравился, очень грамотная реализация синтаксиса, очень лёгок в освоении. Если бы у меня не было кучи многолетних наработок на PHP, думаю что перешёл бы на руби, и его рельсы конечно же :), собственно так и сделал мой друг.
    После освоения ruby иногда жалею что в php нет некоторых возможностей оттуда. Иногда совсем печально, что их и не будет в php, наверное, никогда, в силу другой идеологии php.

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

    24. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от rybulover on 12-Авг-08, 14:03 
    Обязательно учите
    Руби это не только рельсы но и огромные возможности в написание приложений не связаных с вебом
    Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

    42. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от User294 (??) on 14-Авг-08, 18:53 
    >не связаных с вебом

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

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

    14. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от ASM (??) on 12-Авг-08, 00:31 
    ИМХО его учить надло в любом случае, если есть на это время.
    Что бы хотябы знать, что это такое. Учиться оно, как было написанно выше, не сложно. Я с этим полностью согласен.
    Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

    43. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от User294 (??) on 14-Авг-08, 18:55 
    >Что бы хотябы знать, что это такое.

    Во, относительно разумные мнения пошли вместо фанатских выкриков :)

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

    49. "Искажение цитат"  
    Сообщение от Аноним1 (ok) on 15-Авг-08, 10:06 
    User294, Вы очень часто искажаете цитаты. Вы намеренно выдергиваете фразы из контекста, обрывате фразы, чтобы придать цитатам удобный для Вас смысл, а не тот, что был первоначально.

    Это говорит о том, насколько Вы сомневаетесь в собственных аргументах.

    Кроме того, Вы считаете, что читатели форума такие тупые, что будут читать только Ваши переделанные цитаты, а не исходные сообщения. Это неуважение к читателям форума.

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

    52. "Искажение цитат"  
    Сообщение от User294 (ok) on 15-Авг-08, 17:40 
    >Вы намеренно выдергиваете фразы из контекста,

    Ого, борьба с оверквотингом теперь так называется?

    >обрывате фразы, чтобы придать цитатам удобный для Вас смысл,

    Да нет же.Я просто стараюсь хоть немного убавить размер простыней.Из соображений что участникам форума скорее всего неинтересно то что вы думаете о моей персоне и т.п..

    >Это говорит о том, насколько Вы сомневаетесь в собственных аргументах.

    А вы уверены что вы это говорите обо МНЕ а не о СЕБЕ?Я до написания своих аргументов стараюсь обдумать их и по возможности придерживаться логичной и непредвзятой позиции.Допускаю что иногда это не полуается.Но у вас это не получается еще чаще, так что уж не вам меня попрекать.

    >Кроме того, Вы считаете, что читатели форума такие тупые, что будут читать
    >только Ваши переделанные цитаты,

    Я считаю ровно наоборот: кому не понятно смогут почитать полный вариант сообщения оппонента "этажом выше" и поэтому в целях уменьшения размера портянки оставляю там небольшой фрагмент, достаточный для понимания контекста на который я отвечаю, не более, это делается лишь чтобы не мозолить глаза читателей одним и тем же содержиымым в пяти сообщениях подряд.Вы никогда не слышали про термин "оверквотинг" чтоли?

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

    >Это неуважение к читателям форума.

    Оверквотинг aka демонстрация одного и того же текста 5 раз подряд в разных сообщениях - тоже неуважение.Должен быть разумный баланс - сообщения оппонента НЕОБХОДИМО урезать, иначе вскоре общий размер портянки станет  огромным.Допускаю что я иногда перегибаю слегка в этом вопросе.А еще насчет уважения к читателям форума: ускользание от неудобных вопросов, переход на личности оппонентов и отмазки вида "ширпотреб" как правило никому не интересны.Если уж вы так печетесь об уважении читателей - так ведите спор культурно, не переходя на личности оппонентов, аргументируя свои слова конкретными фактами и примерами и не козыряя сомнительными фразами типа "ширпотреб" которые ничего не говорят о качестве продукта (или отсутствии оного).

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

    58. "Искажение цитат"  
    Сообщение от Аноним1 (ok) on 16-Авг-08, 14:01 
    >Ого, борьба с оверквотингом теперь так называется?

    Ого, так Вам с оверквотингом именно бороться приходится? Ну и кто побеждает?
    >
    >Да нет же.Я просто стараюсь хоть немного убавить размер простыней.

    Размер "простыней" убавится, если Вы на каждую фразу оппонента без разбору не будете кричать, что якобы у него нет аргументов. Считаете нет аргументов? Не отвечайте на данную фразу, также как обычно на Ваши "простыни" мало отвечают.

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

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

    Вы это делаете и в этой, и в других ветках форума, например здесь
    http://www.opennet.ru/openforum/vsluhforumID3/43291.html#103

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

    Занимаясь подобным, Вы еще более демонстрируете свою ламерскую натуру. Из последних сил пытаетесь найти способ придраться к высказываниям оппонента, и если придираться не к чему, искуственно искажая цитаты, пытаетесь сфабриковать какие-то там якобы ошибки и неправильности.

    Но я Вам ничего запрещать разумеется не пытаюсь. Я лишь констатирую факт. Продолжайте поступать в том же духе. Этим Вы добиваетесь совершенно противоположных эффектов, нежели ожидаете.

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

    74. "Искажение цитат"  
    Сообщение от User294 (??) on 19-Авг-08, 22:53 
    >Считаете нет аргументов? Не отвечайте на данную фразу

    Замечательная логика.То я должен за вас искать аргументы, то теперь - не отвечать.Вы бы хоть определились чтоли.Кстати, подсказываю: "не говорите мне что делать и я не скажу куда вам пойти" ;)

    >смысл не искажался. Можно совсем не приводить, в конце-концов.

    В этом смысле вы до какой-то степени правы.

    >Обрезать надо так, чтобы не менялся смысл.

    Согласен, но в конце концов это мелочные придирки.Этажом выше висит полная портянка с которой можно ознакомиться.Если допустить что читатели не дебилы, они могут просто прочесть вашу портянку в оригинале.

    >А Вы зачастую меняете смысл на противоположный.

    Если бы эта критика происходила от незаинтересованного лица я бы ее учел.А поскольку вы банальный рекламер который не может внятно аргументировать свою точку зрения - извините.

    >видите, что смысл был другим. А это уже небрежностью или случайностью
    >никак не назовешь.

    Опять же, я могу и неверно понять смысл.Впрочем чего вас удивляет то?У вас перманентные проблемы с аргументацией вашей точки зрения.И вообще, что вас удивляет?Вы сами предложили искать мне аргументы вашей правоты вроде.Вам не нравится как у меня это получается?Так аргументируйте вашу точку зрения нормально сами :D

    >будто они не увидят, по какому смыслу цитаты Вы отвечаете

    Предоставим видеть смысл читателям а не оппоненту который вечно скатывается на обсуждения личностей, ага? ;)

    >Занимаясь подобным, Вы еще более демонстрируете свою ламерскую натуру.

    "Ламер - это чайник мнящий себя крутым".У меня как минимум не хватает последнего компонента - я никогда не претендую на то что абсолютно и неопровержимо прав.Зато у вас это перманентное состояние и вы постоянно козыряете какой вы там весь из себя крЮтой профессионал.Извините, но крутые профессионалы не нуждаются в том чтобы этот факт постоянно подчеркивать - профессионала и без громких воплей отлично видно.

    >Из последних сил

    Да, а еще вы очень любите приписывать всякую фигню оппоненту.Думаете, читатели дураки и не увидят кто это свойство оппоненту сочинил?

    >пытаетесь сфабриковать какие-то там якобы ошибки и неправильности.

    Да вообще ужас.Всемирный заговор да и только.

    >Этим Вы добиваетесь совершенно противоположных эффектов, нежели ожидаете.

    Да уж.Ибо оппонент хиловат.Адекватный, грамотный и профессиональный оппонент в состоянии внятно аргументировать свою точку зрения.Без соплей, криков и ничем не подкрепленных рекламных заяв.Просто разнести аргументами в пух и прах.Но вам это не грозит.

    P.S. ну я так понял что внятных аргументов о том почему Ruby имеет хорошие перспективы от вас я не дождусь, а рекламные слоганы, обсуждение моей персоны и прочая офтопичная хрень - неинтересны.Давайте чтоли закончим ломку копий?Нафиг оффтопик то разводить - тут про Ruby нифига нет, а элементарный но как оказалось не очень удобный вопрос вы не осилили.На этом можно и закруглиться, посчитав ваши заявления про перспективы не более чем голословной рекламой, ничем таким не подтвержденной пока.Когда (и если) появятся подтверждения перспектив - признаю свою неправоту.

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

    76. "Искажение цитат"  
    Сообщение от Аноним1 (ok) on 20-Авг-08, 09:15 
    Вы намеренно искажаете цитаты!

    Даже в этом ответе Вы попытались исказить мое сообщение. Вы осознанно привели не полностью самый главный аргумент.

    >>Ну ладно, это еще можно было бы, хотя и с трудом, объяснить небрежностью. Но Вы же отвечаете на цитату, подразумевая уже искаженный смысл, хотя прекрасно видите, что смысл был другим. А это уже небрежностью или случайностью никак не назовешь.
    >Опять же, я могу и неверно понять смысл.Впрочем чего вас удивляет то?У вас перманентные проблемы с аргументацией вашей точки зрения.

    Рассказывайте! Вы его сначала сами искажаете, а потом говорите, что не можете понять. Снова пытаетесь держать читателей за идиотов!

    >"Ламер - это чайник мнящий себя крутым".У меня как минимум не хватает последнего компонента - я никогда не претендую на то что абсолютно и неопровержимо прав.

    Вы утверждаете, что Вы можете не понять смысл. И даже не пытаетесь опровергать то, что Вы чайник. Вы утверждаете, что никогда не претендуете на абсолютную правоту. Но при этом с чувством абсолютной правоты все время кричите, что у меня нет аргументов, хотя сами знаете, что можете не понять их смысл ввиду того, что Вы чайник. [ http://ru.wikipedia.org/wiki/%D0%9B%D0%B... ]. Вы и есть ламер - "воинствующий чайник".

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

    Вы утверждаете, что это мелкая придирка?

    >>смысл не искажался. Можно совсем не приводить, в конце-концов.
    >В этом смысле вы до какой-то степени правы.

    Вот прямо сейчас смысл и исказился. Зачем обрезали? Чтобы сказать, что я прав только в какой-то степени. А иначе бы получилось, что я прав полностью. У Вас уже привычка таким образом "работать" с чужими аргументами, а потом заявлять, что их нет.

    Про аргументы на это сообщение я Вам ответил здесь [ http://www.opennet.ru/openforum/vsluhforumID3/43307.html#75 ].

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

    53. "В интерпретаторе языка Ruby обнаружено 4 уязвимости"  
    Сообщение от dart (??) on 15-Авг-08, 21:58 
    Да отличный язык Руби. Не обращайте внимания на юных горлопанов типа User294. Возьмите да попробуйте сами. Он того стоит. Только потом не удивляйтесь, что не захотите перелазить с него обратно. :)
    Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

    59. "Ответ для  User294 об аргументах"  
    Сообщение от Аноним1 (ok) on 17-Авг-08, 12:33 
    Вы, User294, многократно требуете от меня аргументов.

    Отвечаю Вам, дело было так. В начале этой темы один из участников форума попросил высказать других свое мнение о языке Ruby. Ему их высказали. Лично я даже привел кое-какие аргументы. Хотя особо и не старался. То, что Вы мои высказывания за аргументы не посчитали, это Ваши личные проблемы.

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

    Также Вы явно не знаете разницу между высказываниями, фактами и аргументами - это три разные вещи.

    Я никому ничего доказывать здесь и не собирался. А лично Вам я приведу какие-то аргументы, только если увижу, что Вы достаточно разбираетесь в теме. А в данном случае, по Вашим же словам, Вы даже в PHP не смогли толком разобраться с Вашей квалификацией "нарезчика болванок". И в области ОС у Вас примерно такая же квалификация. Это тоже мое мнение, которое я делаю по Вашим высказываниям на форуме. Мое личное право так считать.

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

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

    А в данном случае, Ruby просто раздражает Вас самим фактом своего существования, просто потому что Вам он не доступен. Это тоже мое личное мнение.

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

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

    75. "Ответ для  User294 об аргументах"  
    Сообщение от Аноним1 (ok) on 20-Авг-08, 08:30 
    >ну я так понял что внятных аргументов о том почему Ruby имеет хорошие перспективы от вас я не дождусь

    Так Вы все еще ждете от меня аргументов? Я же Вам уже написал прямо Выше, почему именно лично Вам я не хочу приводить аргументы.

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

    Кроме того аргументы я приводил, читайте внимательно по всей теме.  Не нравятся аргументы - Ваши проблемы. Я вообще отвечал другому человеку, а не Вам. Видимо, все нужные аргументы он нашел самостоятельно.

    Более того я не только утверждаю, что Ruby перспективный язык, я еще утверждаю, что он и сейчас уже очень хорош. Это мое право так считать. Я делаю такой вывод сам для себя и сам пользуюсь результатами своих выводов. Свои выводы я делаю на основании своего практического опыта, моих теоретических знаний и опыта других программистов. А для себя аргументы ищите сами.

    Можете продолжать кричать, что у меня нет аргументов, это Ваше право.

    >Замечательная логика.То я должен за вас искать аргументы, то теперь - не отвечать.Вы бы хоть определились чтоли.

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

    Считаете меня всем тем, что Вы обо мне говорили? Тогда тем более, зачем Вам мои аргументы
    Считаете Ruby плохим и бесперспективным - Ваше право - не пользуйтесь. Я то тут при чем?

    >Кто Вы такой, чтобы я верил Вам на слово?

    А мне и не надо, чтобы лично Вы мне верили. Я Вашу веру изменить и не пытаюсь. Оставайтесь со своей верой - это Ваше право и Ваши проблемы.

    >Кстати, подсказываю: "не говорите мне что делать и я не скажу куда вам пойти" ;)

    Ну скажете Вы мне, куда мне по-Вашему нужно пойти, ну и что? Это же не значит, что я туда непременно пойду.

    >"Ламер - это чайник мнящий себя крутым".У меня как минимум не хватает последнего компонента - я никогда не претендую на то что абсолютно и неопровержимо прав.

    То есть чайником Вы себя все-таки признаете. Так и запишем. Но при этом судите о непонятных Вам вещах и системах, например о Ruby и о программировании. [ http://ru.wikipedia.org/wiki/%D0%9B%D0%B... ].

    >я никогда не претендую на то что абсолютно и неопровержимо прав

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

    >Зато у вас это перманентное состояние и вы постоянно козыряете какой вы там весь из себя крЮтой профессионал.

    Профессионалом я себя нигде не называл. Я говорил о профессиональных системах и о том, чем пользуются профессионалы. А это совсем разные вещи. Вы как всегда нелогичны. Если я пользуюсь одними системами с профессионалами, это не значит, что я "козыряю" своим профессионализмом. Профессионалом и крутым Вы меня считаете сами.

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

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

    >Ну вы то в учителя явно не тянете

    Я в учителя никому не набиваюсь.

    >Да уж.Ибо оппонент хиловат.Адекватный, грамотный и профессиональный оппонент в состоянии внятно аргументировать свою точку зрения.Без соплей, криков и ничем не подкрепленных рекламных заяв.Просто разнести аргументами в пух и прах.Но вам это не грозит.

    Зачем мне трудиться и разносить Вас в пух и прах, когда Вы сами прекрасно справляетесь с тем, чтобы разнести в пух и прах самого себя своими высказываниями. Чем я вполне удовлетворен, зачем мне нужно что-то доказывать?

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

    86. "Ответ для  User294 об аргументах"  
    Сообщение от User294 (??) on 23-Авг-08, 02:31 
    >написал прямо Выше, почему именно лично Вам я не хочу приводить
    >аргументы.

    А как же уважение к читателям форума?Для них вы тоже не готовы выступить и предпочитаете отсидеться в кустах?Ну, тогда все выглядит так как будто вы просто попытались выдать желаемое за действительное ;)

    >Покажите, что Вы разбираетесь в теме, может тогда я и приведу Вам
    >какие-то аргументы.

    То есть, на безобидный вопрос в лоб вы просто так ответить не готовы и предпочитаете отмазываться? :).А если учесть что вы и на более подкованных оппонентов предпочитаете наезжать когда внятных аргументов не остается - как-то слабо в это верится.

    >Кроме того аргументы я приводил, читайте внимательно по всей теме.

    Ну да, немного все-таки из вас клещами вытащили.Не дофига.Но хоть что-то :)

    >Видимо, все нужные аргументы он нашел самостоятельно.

    Конечно, от вас только наездов можно дождаться.И кучу понтов.Грошовых, кстати.

    >Я делаю такой вывод сам для себя

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

    >Можете продолжать кричать, что у меня нет аргументов, это Ваше право.

    Еще у вас явно нет культуры общения.В принципе, как класса.Не знаю кто вас воспитывал но делали они это из рук вон плохо.

    >Считаете меня всем тем, что Вы обо мне говорили? Тогда тем более,
    >зачем Вам мои аргументы

    Аргументы?Для возможности более объективно и непредвзято смотреть на ситуацию.

    >Считаете Ruby плохим и бесперспективным - Ваше право - не пользуйтесь. Я
    >то тут при чем?

    Вы не понимаете.Я просто поставил под сомнение вашу громкую заяву.Нормальный такой подход - не принимать все громкие заявы на веру.А то вон MS тоже вещает что виндовс сервер обгоняет, дескать.А на практике если и обгонит то только по величине TCO и не в ту сторону которую MS хотел бы.Посему лапшу с ушей приходится снимать.И задать несколько неудобных вопросов когда кажется что рекламят без достаточных оснований - нормальный такой метод узнать кто и чего стоит.

    >То есть чайником Вы себя все-таки признаете. Так и запишем.

    Есть некоторая разница между чайником и ламером.Если вы ее не знаете но навешиваете ярлыки - скорее всего вы сами попадаете под второе из этих определений.В частности "чайник" не обязательно синоним "дебил"."Чайник" это просто тот кто не разбирается на уровне гуру в каком-то вопросе.А если захочет - то разберется.Ничего позорного в этом термине нет.Благо, профессионалами не рождаются...

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

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

    >Т.е. с учетом того, что Вы - чайник, можно сделать вывод, что Вы еще
    >и ламер.

    Если честно - ваше мнение о моих способностях меня довольно мало волнует так что вы можете лепить на меня совершенно любые ярлыки.Мне просто фиолетово :)

    >Профессионалом я себя нигде не называл.

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

    >Я говорил о профессиональных системах и о том, чем пользуются профессионалы.

    Профессионалы пользуются тем что им удобно и подходит под их задачи, имхо.

    >Если я пользуюсь одними системами с профессионалами,

    Какая громкая заява :) я кстати тоже наверняка использую вагон софта и систем которые используют в том числе и профессионалы.И что дальше?Это что-то меняет? :)))

    >Профессионалом и крутым Вы меня считаете сами.

    Если честно - я вас для начала считаю излишне пальцатым м дурно воспитанным, для профессионалов это довольно редкое сочетание.

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

    Да, конечно.У вас традиционная тактика ведения спора - "все пи...сы, а я - Д'Артаньян".Доказывать обратное вы предоставляете оппонентам :)

    >Зачем мне трудиться и разносить Вас в пух и прах,

    А что, было бы интересно посмотреть =).Всяко было бы интереснее чем читать ваше обсуждение моей персоны, дешевые отмазки вида "ширпотреб" и прочую хрень которая не только меня но и вас не с лучшей стороны выставляет т.к. ваши ответы вызывают стойкое ощущение что вам просто нечем крыть и вы вместо этого предпочли скатиться до наездов, что обычно является тактикой спесивых и не очень умных оппонентов :)

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

    87. "Ответ для  User294 об аргументах"  
    Сообщение от Аноним1 (ok) on 23-Авг-08, 22:29 
    Вы все еще ждете от меня аргументов?

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

    Или начинаете заявлять, что оппонент "пальцует" и, какой ужас, смеет считать себя профессионалом. Тот уровень, на котором я изъясняюсь, является обычным для форума Opennet, тут много других читателей кроме Вас есть, которым это понятно. И если Вам что-то не понятно, лучше не требовать, чтобы опускались до Вашего уровня, а самому подтянуться. Но у Вас видимо для этого способностей не хватает и никак не получается. Тогда лучше не встревать в непонятные Вам дискуссии или вообще идти на ЛОР.

    Вы снова исказили смысл цитаты, обрезав ее. Было так.

    Ваше высказывание.
    >>>Да уж.Ибо оппонент хиловат.Адекватный, грамотный и профессиональный оппонент в состоянии внятно аргументировать свою точку зрения.Без соплей, криков и ничем не подкрепленных рекламных заяв.Просто разнести аргументами в пух и прах.Но вам это не грозит.

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

    Вы оставили только самое начало моего ответа, что значительно исказило его смысл.

    А насчет того, как Вы сами себя продолжаете "разносить" можно полюбоваться здесь
    [ http://www.opennet.ru/openforum/vsluhforumID3/43291.html#119 ].

    Так же Вы снова исказили и некоторые другие мои ответы. Видимо по-другому просто не можете.

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

    60. "Ответ для  User294 о критериях качества"  
    Сообщение от Аноним1 (ok) on 17-Авг-08, 13:12 
    Вы, User294, обвиняете меня, что я не знаю критериев качества.

    Судя по Вашим утверждениям, Вы считаете, что существуют некоторые универсальные критерии качества.

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

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

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

    Поэтому я и спросил выше, что для Вас является критериями качества. А Вы стали упрекать меня, что я их не знаю. Естественно, это ведь дожны знать Вы, это ведь Вы кричали о качестве, значит качество должно определяться Вашим целями.

    Пока что основными критериями качества для Вас, судя по всему, являются массовость, быстродействие, возможность ни в чем не разбираться. Я ничего не упустил? Можно отметить, что для оценки данных критериев качества не нужна никакая квалификация и знания. Видимо именно поэтому Вы не рискуете говорить о каких-то других критериях качества.

    Тогда могу Вас успокоить. Те продукты, о которых Вы все время кричите, и приводите в пример, безусловно являются качественными (для Вас). А язык Ruby - безусловно качественной системой не является (для Вас). Можете спокойно пользоваться тем, чем пользуетесь, "нарезать" свои "болванки", ничего не изучать и считать что все, кто по Вашим словам интересуются всякими там высокими технологиями - дураки. Однако странно, кто же все таки создает все эти "качественные" продукты для Вас - тоже по-Вашему дураки?

    (Кстати, я Вам в этом абзаце предоставил прекрасную возможность воспользоваться Вашим любимым методом искажения смысла цитат.)

    Хотя мне точно известно, что Ruby тоже можно, не особо разбираясь, использовать для "нарезки болванок" ввиду простоты его синтаксиса. И то, что это у Вас не получилось, говорит только у Ваших низких интеллектуальных способностях.

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

    69. "Ответ для  User294 о критериях качества"  
    Сообщение от Аноним1 (ok) on 18-Авг-08, 14:00 
    >Хотя про биореактор например - стеб конечно.Но зато какой качественный - сразу видно умного человека, даже шутит грамотно и технично =)).
    >О нет, с сылками тот оппонент жжот конкретно.Уж как минимум с чувством юмора у него полный порядок.Я оценил, особенно про биореактор он отжог :).

    Судя по всему, Биореактор - достойный продолжатель линии качественных продуктов в Вашем понимании.

    Вы же сами неоднократно заявляли, что все эти ненавистные Вам, как Вы их называли "высокие технологии" - по-Вашему мнению полная чушь, а люди, которые их и изучают и говорят о них - по-Вашему мнению полные дураки.

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

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

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

    Индекс форумов | Темы | Пред. тема | След. тема
    Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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