1. Полностью ООП
2. Обилие синтактического сахара который действительно помогает делать код читабельным, например:
puts "Hello, World!" if var == 'test test test'
В этом примере, в руби у нас получилось сделать все в одну строчку, при этом не теряя читабельность, в руби можно опускать скобочки (можно же было написать puts ("Hello, World!"), скобочки можно для читабельности поставить, чтобы переменную не спутать с методом)
3. Очень хорошо сгруппированная стандартная библиотека, нету помойки как питоне, есть классы File, Dir, т.е аналог питона os.listdir() в руби Dir.entries() и так далее.
4. Особо мое любимое https://habrahabr.ru/blogs/ruby/86882/
Неактивен
spoilt,
Скажи привет Васе, если Вася дома.
Чем не нравится? Иначе бы пришлось писать if var == 'test test test'; puts "Hello, World!"; end
Уже однострочник не получится, можно написать в 3 строчки, от этого код увеличится в 3 раза!
Неактивен
Babusha, рубироидный сахарин может и слаще, но обливать помоями питон совершенно не стоит. Вот аналог твоего кода на питоне:
if var == 'test test test' : print "Hello, World!"
но эт все фигня. А давай ты чо нить типа такого слабаешь на рубироиде:
Или чо, "не лезет каменный цветок"?
"но в отличие от вас не стремлюсь здесь перед всеми показаться умнее всех"
"Ну здесь много мосек, что ж поделаешь."
"народ после общения со мной умнеет что ли, становится более бдительным в сети"
(с) Великий Человек
Неактивен
рубироиде:
Ты хочешь на руби сделать так, что бы в окошке показывалась картинка? О_о
помоями питон
А где я его обливал?
Неактивен
Linfan пишет:А давай ты чо нить типа такого слабаешь на рубироиде:
Разве sk1 написан на питоне?
А разве нет?
Добавлено спустя 01 мин 18 с:
Linfan пишет:рубироиде:
Ты хочешь на руби сделать так, что бы в окошке показывалась картинка? О_о
Не картинка, а распарсенный кореловский файл. Ващето это редактор векторной графики.
"но в отличие от вас не стремлюсь здесь перед всеми показаться умнее всех"
"Ну здесь много мосек, что ж поделаешь."
"народ после общения со мной умнеет что ли, становится более бдительным в сети"
(с) Великий Человек
Неактивен
Linfan пишет:помоями питон
А где я его обливал?
А это чья реплика?
нету помойки как питоне
Запомни, в каждом зрелом языке программирования своя стройноя логика. И если лично тебе что-то не нравится, это не значит, что нужно подавать свой любимый язык как само совершенство и при этом "топить" другие языковые решения.
Добавлено спустя 02 мин 25 с:
Linfan пишет:распарсенный кореловский файл
а что, ядро парсера — тоже на Python?
застрелиться и не встать!..
Да, парсер кореловского формата на питоне. Работает чуть медленнее, чем зачитка файла в оригинальном кореле. Но это заметно на действительно крупных файлах (десятки мегабайт). Но в имплементации на порядок проще чем нативный вариант.
Добавлено спустя 04 мин 30 с:
Linfan, я вообще не в курсе. Тобишь весь гуй и некоторая часть написана на Python?
UI, вся логика и модель на питоне. Нативные питонские экстеншины отвечают за работу с Xlib, lcms, freetype, libjpeg, libpng и т.п.
Редактировался Linfan (03-05-11 01:45:24)
"но в отличие от вас не стремлюсь здесь перед всеми показаться умнее всех"
"Ну здесь много мосек, что ж поделаешь."
"народ после общения со мной умнеет что ли, становится более бдительным в сети"
(с) Великий Человек
Неактивен
Linfan пишет:UI, вся логика и модель на питоне
Ничего более подходящего сэр не нашёл?
Видите ли, сэр, мне важен не процесс написания, а результат. Код на питоне до 10 раз компактнее, чем на плюсах. В итоге количество программеров, необходимых для разработки, резко снижается. То же самое касается и тестирования. Например, управление бандой из 10 опенсурсовцев это уже нетривиальная задача и потребует минимум еще 2 человек, которые будут заниматься чисто менеджерской работой. И такой коллектив будет работать медленнее, чем 1 человек на фултайме, пишуший на питоне+С.
Если вы знаете другие фреймворки, позволяющие минимизировать число программистов на проекте, плз названия в студию.
"но в отличие от вас не стремлюсь здесь перед всеми показаться умнее всех"
"Ну здесь много мосек, что ж поделаешь."
"народ после общения со мной умнеет что ли, становится более бдительным в сети"
(с) Великий Человек
Неактивен
Linfan, у меня есть две просьбы к тебе. Первая - не офтопь своим sk1 во всех темах подряд.
Ну во-первых я свой проект вспоминаю лишь тогда, когда это уместно в теме. В данном случае это напомнило топикстартеру о непригодности руби к серьезному десктопному программированию.
Во-вторых, не поверишь, но внешний вид аппликухи зависит от десктопной темы. Протирай очки и больше так не переживай
Но в том, что нужно поменять скриншоты на офсайте, ты несоменно прав.
"но в отличие от вас не стремлюсь здесь перед всеми показаться умнее всех"
"Ну здесь много мосек, что ж поделаешь."
"народ после общения со мной умнеет что ли, становится более бдительным в сети"
(с) Великий Человек
Неактивен
Неактивен
Linfan пишет:внешний вид аппликухи зависит от десктопной темы
А разве нет? В WinXP и Win7 оформление аппликух будет разным.
Linfan, я почему-то думал, что сделать пользовательский интерфейс на питончике - нетривиальная задача. Можешь кинуть линк на исходный код?
На офсайте в разделе загрузки есть тарболлы с сорцами. Но если серьезно интересуешься, лучше начинай с pyqt|pygtk. Сейчас проект мигрирует на более качественные виджетсеты.
"но в отличие от вас не стремлюсь здесь перед всеми показаться умнее всех"
"Ну здесь много мосек, что ж поделаешь."
"народ после общения со мной умнеет что ли, становится более бдительным в сети"
(с) Великий Человек
Неактивен
Скажи привет Васе, если Вася дома.
Ну, раз уж пошли эзотерические методы вывода текста, предложу свой:
( true )? console.log( 'Я выиграл' ) : console.log( 'Ты проиграл' )
Редактировался Дестер (03-05-11 04:27:45)
Неактивен
А давай ты чо нить типа такого слабаешь на рубироиде:
А разве нельзя сделать такое на руби? Или RubyQt уже не Ъ?
Код на питоне до 10 раз компактнее, чем на плюсах.
А еще представьте, что код на руби в 5 раз компактнее чем на питоне, при этом ни капельки не теряя читабельность.
у меня от ужаса запотели очки.
Не, это тема куте просто страшная.
Linfan, я почему-то думал, что сделать пользовательский интерфейс на питончике - нетривиальная задача. Можешь кинуть линк на исходный код?
Вот пимер на руби + куте:
require 'Qt4'
app = Qt::Application.new(ARGV)
window = Qt::Widget.new()
window.resize(200, 120)
quit = Qt::PushButton.new('Quit', window)
quit.font = Qt::Font.new('Times', 18, Qt::Font::Bold)
quit.setGeometry(10, 40, 180, 40)
Qt::Object.connect(quit, SIGNAL('clicked()'), app, SLOT('quit()'))
window.show()
app.exec()
В данном случае это напомнило топикстартеру о непригодности руби к серьезному десктопному программированию.
Та ты что! Непригодности? Питон со своим страшным синтаксисом, тормознутостью и убогостью только на десктопы и ставить, и чем же руби не подходит? Если кодить на том же ironruby, то можно использовать весь .NET или на jruby, используя всю java. Питон где то сливает
На офсайте в разделе загрузки есть тарболлы с сорцами. Но если серьезно интересуешься, лучше начинай с pyqt|pygtk. Сейчас проект мигрирует на более качественные виджетсеты.
Что бы плодить еще одно тормознутое говнецо? Вон пол уебанты на унынениепитоне написан, так тот же центр приложений тормозит и жрет по 198 мб оперативки, питон всунули туда, где ему не место.
Ну, раз уж пошли эзотерические методы вывода текста, предложу свой:
Поговняному получилось же, в руби читабельнее всего.
Неактивен
Та ты что! Непригодности? Питон со своим страшным синтаксисом, тормознутостью и убогостью только на десктопы и ставить, и чем же руби не подходит?
Где в рубироиде аналог ctypes?
Где в рубироиде аналог distutils?
Где в рубироиде аналог py2exe?
Babusha, ежели у кого и вырвиглазный синтаксис, так это у рубироидов
Опять же биндинг у рубироида к кутям - это самопал редкостной вырвиглазности
Дополнение: вот когда руби и биндинг к нему будет идти по дефолту в Убунте, вот тогда и поговорим. А пока, чтобы установить десктопную прогу на руби, нужно качнуть и руби и биндинг к нему.
Если кодить на том же ironruby, то можно использовать весь .NET или на jruby, используя всю java. Питон где то сливает big_smile
Ну а ironpython и jpython ты конечно же не знаешь
Что бы плодить еще одно тормознутое говнецо? Вон пол уебанты на унынениепитоне написан, так тот же центр приложений тормозит и жрет по 198 мб оперативки, питон всунули туда, где ему не место.
Ну хорошо, пример известного приложения на рубироиде, которым все пользуются, в студию! (не сомневаюсь, что Babusha нароет 100500 десктопных аппликух на руби )
Если говорить про расход оперативки, то порт sk1 на gtk у меня в убунте потребляет на старте 13 мб. Дальше зависит от того, какой сложности файло открыть.
Babusha, какой бы ни был язык программирования, им нужно уметь пользоваться, а не рвать на груди тельник и орать "это нашефсио".
А еще представьте, что код на руби в 5 раз компактнее чем на питоне, при этом ни капельки не теряя читабельность.
Обоснуй. Все, что ты приводил до сих пор - страхолюдские, хреновочитаемые примеры, страдающие избыточными скобками и операторами.
Редактировался Linfan (03-05-11 16:53:13)
"но в отличие от вас не стремлюсь здесь перед всеми показаться умнее всех"
"Ну здесь много мосек, что ж поделаешь."
"народ после общения со мной умнеет что ли, становится более бдительным в сети"
(с) Великий Человек
Неактивен
Чем не нравится? Иначе бы пришлось писать if var == 'test test test'; puts "Hello, World!"; end
Уже однострочник не получится, можно написать в 3 строчки, от этого код увеличится в 3 раза!
if (var=="test test test") cout<<"Hello, World!"; - однострочкник С++. Руби сосет?
Получается руббисты радуются костылям, которые нужны только для рубби? И говорят "а у вас таких нет!" - нет, блин, бабуша, нету!!!
Кстати, А чем рубби лучше C#? Может тем, что от 5 до 100 раз медленнее даже моно-вской реализации?
https://shootout.alioth.debian.org/u32/b … ng2=csharp
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
сэр, Вы уже опоздали
Чет не видел я ни твоего сообщения, ни картинки от линьфаня по утру... Кофе чтоли я не выпил...
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен