E>>>Более того, Rubyist-ов совсем это не парит. Большинство используют VIM, emacs и TextMate (под MacOS), не испытывая при этом никаких сожалений.
M>>Есть еще коммерческий TextMate для MacOS
E>Так я же его указал
E>Живьем его не видел, но по роликам -- классная штука. Хотя, имхо, это не IDE, а продвинутый программерский редактор.
Эххх... Часто именно такого продвинутого редактора и не хватает.
E>Кстати, для RubyOnRails на основе Eclipse делают IDE: RadRails
Пользуюсь, не нравится Хотя под винду лучше и нет (сейчас качаю триал Комодо, посмотрю, что там).
Здравствуйте, Mamut, Вы писали:
E>>Живьем его не видел, но по роликам -- классная штука. Хотя, имхо, это не IDE, а продвинутый программерский редактор.
M>Эххх... Часто именно такого продвинутого редактора и не хватает.
Насколько я понял, он работает по принципу изначально заданных сокращений. Т.е. ftg раскрывается в form_tag с какой-нибудь шаблонной лабудой. Такие штуки в vim через abbreviations можно сделать.
К тому же в VIM 7 добавили более продвинутый механизм поиска соответствий (completion и omni-completion). Omni-completion работает на основе интерпритации ruby-кода и глючит в настоящее время, а вот обычный completion (через ^X^N, ^X^P и ^N) работает для Ruby, имхо, круче, поскольку ищет названия и в содержимом библиотек Ruby (через RUBYLIB).
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
M>>Эххх... Часто именно такого продвинутого редактора и не хватает.
E>Насколько я понял, он работает по принципу изначально заданных сокращений. Т.е. ftg раскрывается в form_tag с какой-нибудь шаблонной лабудой. Такие штуки в vim через abbreviations можно сделать. E>К тому же в VIM 7 добавили более продвинутый механизм поиска соответствий (completion и omni-completion). Omni-completion работает на основе интерпритации ruby-кода и глючит в настоящее время, а вот обычный completion (через ^X^N, ^X^P и ^N) работает для Ruby, имхо, круче, поскольку ищет названия и в содержимом библиотек Ruby (через RUBYLIB).
Эээ нет Я тут emacs до конца не осилил, а вы ко мне с vim'ом
Здравствуйте, eao197, Вы писали:
E>3. Ruby's "official" documentation is sparse and, in some cases, nonexistent.
В качестве доказательства, что ситуация с документацией меняется в лучшую сторону прямо на глазах -- открыт новый сайт http://www.rubymanual.org.
Искать информацию о классах и методах можно прямо через URL, например, о методе 'open': http://www.rubymanual.org/open
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Mamut, Вы писали:
E>>Кстати, для RubyOnRails на основе Eclipse делают IDE: RadRails
M>Пользуюсь, не нравится Хотя под винду лучше и нет (сейчас качаю триал Комодо, посмотрю, что там).
А ты таки стал писать на Ruby? Тогда подпишись на ruby-talk
Там иногда проскакивают вот такие штуки:
Steel is a free Ruby language add-in for Microsoft’s Visual Studio 2005. It provides an editing environment for Ruby programs complete with syntax colouring and the ability to run console applications with one keystroke. Over the coming months we shall be adding more features to the Steel IDE to provide an easy, accessible Ruby coding environment for VS2005 users.
Дисклямер: сам не пробовал, бо мой Celeron900 VS2005 не потянет.
E>>>Кстати, для RubyOnRails на основе Eclipse делают IDE: RadRails
M>>Пользуюсь, не нравится Хотя под винду лучше и нет (сейчас качаю триал Комодо, посмотрю, что там).
ЗХ>А ты таки стал писать на Ruby?
Я таки взялся за RoR Пока ковыряюсь
ЗХ>Тогда подпишись на ruby-talk
Здравствуйте, Cyberax, Вы писали:
C>А у Немерля уже есть IDE?
Есть. Пока что она в стадии разработки, но все же формы уже кое как дизайнятся и комплит на подходе. Если учесть, что это есть уже на стадии когда компилятор то до конца не отлажен, то очевидно, что это уже больше чем в Руби. А главное, язык идеологически не противоречит ни поддержке разных интелисенсов, ни рефакторингу.
C>А как там с рефакторингом?
Будет в течении месяца или двух.
C> А почему медленнее С++ работает?
Кто тебе такую глупость сказал?
>> отсутствие статической типизации C>А это не минус. Это огромный плюс в тех задачах, где Ruby используется.
Это огромный минус в любых задачах. Это дополнительная нагрузка на програмиста, основной источник тормозов и главное, припятствие тех самых фич автоматизации (комплит ворда, рефакторинга, ...) Другое дело, что за счет динамичности Руби позволяет иногда халтурить и добиваться результата несколько проще. Однако, как мы видим, тот же Немреле позволяет добиваться того же не теряя приемуществ статической типизации.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eao197, Вы писали:
E>Про те два пункта, где он был прав я и сказал в своем резюме. Пункт 4-й (про Ruby Way) -- это полный маразм. Поддержка XML-я непосредственно в язык -- это из той же оперы.
А по-моему, насколько я его понял, далеко не маразм.
VD>>На счет того, что я ругаю Руби — это не правда. Я ругаю необоснованную его рекламу.
E>О как! Т.е. отсутствие громких флеймов под заголовками "Ruby рулит"
Неправду то не надо говорить. Громких криков о Руби лично от одного тебя здесь выше крышы, а флэймов нет толко потому, что Руби этот интересует основную аудиторию в основном теоритически. Вот когда затрагивается С++, то варьеров на белых конях появляется намного больше.
E> и "Ruby -- профанация не пройдет" -- это и есть необоснованная реклама. Особенно, если сравнивать с другими .NET-языками.
Пока что необоснованно рекламируется именно Руби. У него своих проблем выше крыши. А что до твоих намеков, то они беспоченны. Ни один оппонент не привел ни одного серьезного возражения.
E>Ruby предназначен для быстрой разработки, а не для быстрого исполнения.
Не... Вот это огромное заблуждение. C# с Решарпером, вот это средство быстрой разработки. А Руби с VIM-ом это средсво для гонок на черепаших бегах. Никакой супер язык не даст серьезного ускорения процесса разработки если для него нет RAD-средств. Ускорение видно, только если сравнивать его с ведущимся такими же доисторическими средствами процессом программирования на С++.
E> Сама его природа (открытые типы, например) определяет, что он не сможет в принципе достигать скорости C++. А раз так, зачем корячиться.
Ага. Хреновая природа. И она же не позволят сделать полноценную поддержку IDE. Ведь по сути чтобы вычислить типы нужно выполнить программу.
E>К тому же здесь уже несколько раз приводились примеры, которые показывали, что в реальных задачах издержки Ruby составляют доли процентов от издержек остальных компонентов
Это чистой воды лож. Руби н любых задачах последний по скорости даже по сравнению с Питоном. А уж компилируемые языки даже сравнивать не смешно. Ну, а то, что на руби можно запустить программу написанную на С++ не делает чести самому Руби.
E> (ссылки сейчас искать некогда, но в Философии была тема про скорость импорта в БД данных из гигабайтных логов программой, написанной на F#; в Средствах разработки dmz сравнивал скорость парсинга логов на Python и Perl, туда же было добавлено сравнение с Ruby; в исходниках лежит мой проект svn-dumper-loader -- там svn dump на 160Mb репозитории работает минуту, а затем две минуты dump-файл архивируется bzip2, при таких показателях сам Ruby скрипт просто летает).
Я знаю как еще ускорить покажатели Руби. Надо после архивации произвести проверку архивов. А дамп конечно лучше парсить С++-ной программой вызваемой из скрипта. От тода Руби будет рулить по страшному. Правда при этом он превратится в замену скрипту шела, но гордиться все равно есть чем.
VD>>отсуствие полноценной IDE (комплит, рефакториг, ...),
E>Да есть IDE для Ruby, как open-source (FreeRDE, Mongrel, RDT), так и коммерческие (Komodo). E>Более того, Rubyist-ов совсем это не парит. Большинство используют VIM, emacs и TextMate (под MacOS), не испытывая при этом никаких сожалений.
Это означает, что IDE нет. Все эти "IDE" по возможностям не сильно превосходят Сцинтилу. Руби же принципиаьно не может иметь полноценной поддержки IDE, так как динамическая природа языка практически гарантирует невозможность вычисления типов до зпуска программы. А типы — это главное, что требуется для всех средств автоматизации. В Питоне вот пробуют вычислять типы путем их вывода, но сделать это в специально не спроектинованном для этого языке очень не просто. Да и результат будет похож на очень убогий Немерле.
VD>>отсутствие статической типизации,
E>Ну вот, блин, приплыли. Это же динамический язык.
Ага. Почти все проблемы языка растут отсюда.
E> Приводить динамическому языку в недостаток отсутствие динамической типизации -- это то же самое, что обвинять женщин в том, что они не мужчины.
Это недостаток личо для меня основной. А то что этот недостаток ставит крест не на одном Руби, а на целом классе языков, так это не мои проблемы.
VD>>черезмерная экономия на длинне идентификаторов в стандартной библиотеке,
E>Вот уж не замечал.
А что ты вообще замечал? Ты пользушся средствами разработки на уровне 70-ых готов прошлого века. От того тебя радует даже минимум. Ну, по думашь там to_s что-то назвали? Фигня... Сделем из своей головы огромный хэш-мап и будет ассоциировать эти to_s в tt_string. За то каждая строчка на 5-7 симвлово короче. Это же главное! Не правда ли?
E> Вот список методов, начинающихся на букву A из Core Library:
...
Даже в приведенном тобой списке (хотя он намерянно опускает особо цинично короткие названия) есть изумительные варианты. То что ты считашь, что так и должно быть — это не более чем твои привычки. А я уже привык к полноценным именам. Я конечно понимаю, что библиотек в Руби не так много и можно натринироваться и запомнить их основную часть, а чуть что лажить в документацию (про которую ты и сам сказал "...что же вы хотите? Это же ОпенСорс..."), но я так жить не хочу. Я хочу полноценный комплит-ворд и сами за себя говорящие имена методов. Так же хочу, чтобы кроме имен были еще хинты которые более развернуто говорят о том, что делают классы и их члены.
E>Какие из них ты считаешь черезмерно сокращенными?
Большей частью те что остались за кадром (видмо намеренно). Например, to_s. Но и из приведенных примеров перлов можно недергать не мало. Например, ajd_to_jd меня очень радует. Видимо метод преобразует Албанского Джона Дудаева в еще кого-то странного.
E>Ну и не нужно забывать, что в мире динамических языков процветают принципы code less и don't repeat yourself. Поэтому идентификаторы to_i, to_f, to_s, to_str, to_sym -- являются нормальными и удобными в использовании.
Мир маргиналов — вот как называется описанный тобой мир. Однобуквеные сокращения в публичном интерфейсе для меня сродни немытому бомжу посередине станции метро.
VD>>отсуствие декларации переменных, чреватые рнтайм-ошибками приведения типов,
E>Это к пункту про статическую типизацию.
Нет. Это к пункту о маргиналах. Такое же наплевательское отношение к пользовтелям языка. К статической типизации это отношения не имеет.
VD>>текстуальность метарасширений.
E>По мне, так эта текстуальность гораздо нагляднее
Кто бы сомневался. По тебе так все зашибись. Чем маргинальнее, тем лучше.
E> птичьего языка макросов из твоего любимого языка.
Что является птичьим языком еще большой вопрос.
E> По крайней мере сразу видно, что получится в результате eval и отлаживать такие вещи можно даже отладочными печатями.
Не, не. Не даже "отладочными печатями", а исключительно ими. Причем никакого статического контроля. А "отладочными печатями" можно отлаживать почти все что угодно. Вот только не хочется жить в этой смеси маргинальных подходов с доисторическим материализмом.
VD>>А сам язык как раз очень ничего.
E>Да уж... Язык-то как раз полезен теми вещами, которые ты только что здесь раскритиковал.
Отндь. В Руби хватает красивых и полезных решений. Но ты почему-то любишь в нем откровенно грязные хаки и халтуру. Мне вот в Руби понравились блоки код, континюэшоны, отсуствие стэйтментов. Конечно есть и другие языке с тем же самым, но и в Руби оно есть. Причем реализовано довольно гладко.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Kluev, Вы писали:
K>черезмерная экономия на длинне идентификаторов в стандартной библиотеке, отсуствие декларации переменных,
K>А что длжно быть как в винде? K>
DoSomethingByLeftHandEatShitAndDie
Обрати внимание, что МС и Сан пришли в итоге к выводу, что именование должно быть понятным и заноченым. А однобуквенных сокращений вообще быть в публичном интерфейсе не должно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Громких криков о Руби лично от одного тебя здесь выше крышы,
Хорошо, буду кричать потише
VD>а флэймов нет толко потому, что Руби этот интересует основную аудиторию в основном теоритически.
Скорее наоборот -- люди пользуются Руби, им незачем кому-то что-то доказывать.
E>> (ссылки сейчас искать некогда, но в Философии была тема про скорость импорта в БД данных из гигабайтных логов программой, написанной на F#; в Средствах разработки dmz сравнивал скорость парсинга логов на Python и Perl, туда же было добавлено сравнение с Ruby; в исходниках лежит мой проект svn-dumper-loader -- там svn dump на 160Mb репозитории работает минуту, а затем две минуты dump-файл архивируется bzip2, при таких показателях сам Ruby скрипт просто летает).
VD>Я знаю как еще ускорить покажатели Руби. Надо после архивации произвести проверку архивов. А дамп конечно лучше парсить С++-ной программой вызваемой из скрипта. От тода Руби будет рулить по страшному. Правда при этом он превратится в замену скрипту шела, но гордиться все равно есть чем.
Ты хоть понял о чем сказал?
Попробуй внятно объяснить, в чем будет преимущество Nemerle или C# при решении задачи svn-dumper-loader-а
.
E>> Приводить динамическому языку в недостаток отсутствие динамической типизации -- это то же самое, что обвинять женщин в том, что они не мужчины.
VD>Это недостаток личо для меня основной. А то что этот недостаток ставит крест не на одном Руби, а на целом классе языков, так это не мои проблемы.
Я бы сказал, что это не ставит крест на целой группе языков. Отнюдь. Скорее, это привлечет к ним внимание тех, кто не считает тебя пророком и всезнайкой. А уж самим языкам от твоего мнения о них ни тепло ни холодно.
VD>А что ты вообще замечал? Ты пользушся средствами разработки на уровне 70-ых готов прошлого века. От того тебя радует даже минимум. Ну, по думашь там to_s что-то назвали? Фигня... Сделем из своей головы огромный хэш-мап и будет ассоциировать эти to_s в tt_string. За то каждая строчка на 5-7 симвлово короче. Это же главное! Не правда ли?
А разве тот же хэш мап не должен использоваться для запоминания ToString? А если ты знаешь, что метод преобразования в строку есть, то не все ли равно, называется ли он ToString или to_s?
E>>Какие из них ты считаешь черезмерно сокращенными?
VD>Большей частью те что остались за кадром (видмо намеренно). Например, to_s. Но и из приведенных примеров перлов можно недергать не мало. Например, ajd_to_jd меня очень радует. Видимо метод преобразует Албанского Джона Дудаева в еще кого-то странного.
Тебе бы было понятнее, если бы он назывался ConvertAstronomicalJulianDayNumberToJulianDayNumber? Тогда давай ты сразу, с ходу, без обращения к справочникам объяснишь, чем отличается Astronomical Juluan Day от Julian Day.
А вообще спасибо за смешной ответ. Читать было весело.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Mamut, Вы писали:
ЗХ>>Тогда подпишись на ruby-talk
M>Это где?
Сайт ruby-lang.org; ссылка на главной странице озаглавленная Mailing List, приводит сюдой: http://www.ruby-lang.org/en/20020104.html
Можно читать через почту, или через comp.lang.ruby
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Cyberax, Вы писали:
C>>А у Немерля уже есть IDE?
VD>Есть. Пока что она в стадии разработки, но все же формы уже кое как дизайнятся и комплит на подходе. Если учесть, что это есть уже на стадии когда компилятор то до конца не отлажен, то очевидно, что это уже больше чем в Руби. Правда?
Здравствуйте, eao197, Вы писали:
E>Скорее наоборот -- люди пользуются Руби, им незачем кому-то что-то доказывать.
Ага. Оно и видно. Один пользуется, а рассуждений о Руби как будто на нем все пишут.
E>Ты хоть понял о чем сказал? E>Попробуй внятно объяснить, в чем будет преимущество Nemerle или C# при решении задачи svn-dumper-loader-а
Заметил, что к твоему сообщению ни одной оценки? Это потому что там огромное описание и написано на чем-то что далеко от народа.
Мне вот тоже влом тратить пол часа, чтобы прочесть все это ради спортивного интереса.
E>Я бы сказал, что это не ставит крест на целой группе языков.
Ну, можешь поглядеть каков интерес к вашим Руби и Питонам на этом сайте. Из с криптов массовое распространение получил ЯваСкрипт и тот потому что в броузеры вмонтирован и по факту является единственным средством их расширения.
E> Отнюдь. Скорее, это привлечет к ним внимание тех, кто не считает тебя пророком и всезнайкой. А уж самим языкам от твоего мнения о них ни тепло ни холодно.
А ты себя кем считашь рассказывая здесь в одиночестве сказки о Руби? Или мы только мою личность обсуждаем?
E>А разве тот же хэш мап не должен использоваться для запоминания ToString? А если ты знаешь, что метод преобразования в строку есть, то не все ли равно, называется ли он ToString или to_s?
Вопрос настолько неразумен, что я даже теряюсь. ToString полностью описывает смысл метода. А вот что значит to_s можно толко запомнить. Запомнить один to_s может и можно. Но таких вот сокращений в Руби пруд пруди.
В общем, я не понимаю о чем спор. Ты думшь я передумаю от того что ты скажешь "а мне нравится"? Нет. Я высказал свое мнение. Высказал его по твоей просьбе. Что ты еще хочешь?
VD>>Большей частью те что остались за кадром (видмо намеренно). Например, to_s. Но и из приведенных примеров перлов можно недергать не мало. Например, ajd_to_jd меня очень радует. Видимо метод преобразует Албанского Джона Дудаева в еще кого-то странного.
E>Тебе бы было понятнее, если бы он назывался ConvertAstronomicalJulianDayNumberToJulianDayNumber?
Естественно. Тут даже вопросов не возникает. А вот, то что ajd_to_jd мог означать это я никагда в жизни не догадался бы.
E> Тогда давай ты сразу, с ходу, без обращения к справочникам объяснишь, чем отличается Astronomical Juluan Day от Julian Day.
А зачем? Главное, что я понял, что деалает метод. А уж подробности исчисления дат меня не интересует. Мне достаточно того, что мне он на фиг не упал. А вот если бы он был мне нужен, то я знал бы эти подробности.
E> E>А вообще спасибо за смешной ответ. Читать было весело.
Рад что тебе весело. Меня вообще радует когда я кого-то радую. Будь то попутчик в лифте или представитель одного из направлений нетрадиционного секса с компьютерами.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.