Разработчики openSUSE представили (http://opensuseadventures.blogspot.ru/2013/06/yast-is-being-...) новый вариант системы управления конфигурацией YaST, полностью переписанный с использованием языка Ruby. Новый вариант YaST может быть включён уже в составе следующего выпуска openSUSE 13.1. Напомним, что ранее конфигуратор YaST развивался с использованием специфичного языка программирования YCP (YaST Control Programming Language) и поддерживал консольный интерфейс и GUI на базе Qt и GTK+.
Использование нестандартного языка программирования мешало вовлечению в проект новых разработчиков, поэтому в конечном счёте было решено переписать код проекта на более привычном языке. Главным критерием выбора Ruby стало наличие в сообществе openSUSE большого числа опытных разработчиков, знакомых с данным языком. Кроме того, уже существующий web-конфигуратор WebYaST написан на языке Ruby, поэтому использование Ruby и для десктоп-варианта YaST будет способствовать задействованию уже готовых наработок, совместному использованию общих компонентов и более тесной интеграции проектов. Из сопутствующих факторов также отмечены такие достоинства Ruby, как простота, гибкость и наличие средств для быстрой разработки программных продуктов.URL: http://opensuseadventures.blogspot.ru/2013/06/yast-is-being-...
Новость: http://www.opennet.me/opennews/art.shtml?num=37110
И правильно. Зачем добавлять новый функционал и исправлять старые ошибки, когда можно сделать наоборот?
> добавлять новый функционалдобавлять новую функциональность
и новые ошибки
Затем, чтобы через годик триумфально вернтуться на старое, хорошо продуманное и не тормозящее.
Хорошее решение, но жаль, что не на С/С++. Вообще, эти ребята почти всегда радуют своей работой, удачи проекту.
> Хорошее решение, но жаль, что не на С/С++. Вообще, эти ребята почти
> всегда радуют своей работой, удачи проекту.Зачем на C++? Чтобы отладкой заниматься в 3 раза дольше разработки?
Аргументы, что быстрее, здесь ни к чему. Yast - не то средство, где лишнюю миллисекунду нельзя подождать. Да и возможности Ruby в части обработки строк ну никак не сравнятся с C++/STL.
> Да и возможности Ruby в части обработки строк ну никак не сравнятся с C++/STL.Это кто с кем не сравнится?
>> Да и возможности Ruby в части обработки строк ну никак не сравнятся с C++/STL.
> Это кто с кем не сравнится?Ниже в осуждении пример обработки строки. Напишите аналог на C++/STL.....
Не так лаконично, но реализуемо. С++/Qt:QSet <QString> ch = QString("aeiouy").split("", QString::SkipEmptyParts).toSet();
QStringList strList = QString( "fuckthemall aeouy yeah" ).split( QChar(' ') );
foreach (QString str, strList) ch.intersect( str.split("").toSet() );qDebug()<< ch;
Кстати, в Qt-creator это выглядит более приятно и понятно чем на этой страничке.
Спасибо тебе, Анон, теперь я научился понимать кукушек в лесу!
xDDDDDDD
Обращайся )))
Если серьезно, то задачу можно решить более наглядно, но количество строк будет больше.
Задачу решает третья строка:
foreach (QString str, strList) ch.intersect( str.split("").toSet() );
а строки выше - это подготовка данных.
Разве сложно?
> Зачем на C++? Чтобы отладкой заниматься в 3 раза дольше разработки?После этого оно по крайней мере работать будет. А у всяких рубистов и подобных - накорябают глюкало в 3 раза быстрее. На отладку положат болт. ВЫвалят юзерью полурабочий скелетон, который "типа, работает". После чего оказывается что там багов немеряно. И вот тогда скрипткидисы занимаются отладкой в три раза дольше любых си++'ников.
Ну Perl же, ну.
"наличие средств для быстрой разработки программных продуктов." - что за такие средства позволяющие *быстрее* разрабатывать? Тянет на мировую сенсацию, любая компания с с радостью внедрит чтобы сократить время разработки продуктов.
> "наличие средств для быстрой разработки программных продуктов." - что за такие средства
> позволяющие *быстрее* разрабатывать? Тянет на мировую сенсацию, любая компания с с
> радостью внедрит чтобы сократить время разработки продуктов.man RAD
> "наличие средств для быстрой разработки программных продуктов." - что за такие средства позволяющие *быстрее* разрабатывать? Тянет на мировую сенсацию, любая компания с с радостью внедрит чтобы сократить время разработки продуктов.Ну так с радостью и внедряют.
Просто это тянет не на мировую сенсацию, а на гораздо более прозаичный вывод - вы отстали от жизни на несколько лет, но при этом пытаетесь свое лично понимание ситуации приписывать абсолютно всем, и если что-то является сенсацией лично для вас, вам кажется, что так должно быть абсолютно для всех.
Ага, внедряют - быстренько вывалить полурабочий прототип. Отладка? Тестирование? Не, не слышали. Клиенты потестируют. За что-то такое у рапидчиков постоянно очень хорошая репутация. Эталонный пример - дельфисты. А какая репутация может быть, если терминал оплаты нисколько не сомневаясь сожрал купюры а дальше - связи нет, поэтому о данном факте никто не узнает. Обратно купюры оно тоже выдавать не умеет. Но дельфистам пофиг - они работают как если бы сеть была. Навернется оно там дальше или нет - да пофиг. Это у лоха же деньги подвисли. Он как-нибудь пнет саппорт. Это, кстати, реальный пример как такой софт пишется. Стоит в терминалах одной фирмы, не будем показывать на нее пальцем. Наслаждайтесь рапидной разработкой, чо.
>[оверквотинг удален]
> слышали. Клиенты потестируют. За что-то такое у рапидчиков постоянно очень хорошая
> репутация. Эталонный пример - дельфисты. А какая репутация может быть, если
> терминал оплаты нисколько не сомневаясь сожрал купюры а дальше - связи
> нет, поэтому о данном факте никто не узнает. Обратно купюры оно
> тоже выдавать не умеет. Но дельфистам пофиг - они работают как
> если бы сеть была. Навернется оно там дальше или нет -
> да пофиг. Это у лоха же деньги подвисли. Он как-нибудь пнет
> саппорт. Это, кстати, реальный пример как такой софт пишется. Стоит в
> терминалах одной фирмы, не будем показывать на нее пальцем. Наслаждайтесь рапидной
> разработкой, чо.Истеричка. Типичная истеричка. Блин, ну для вас же кучу сайтов придумали, где всё пишется в подобном стиле. Зачем вы на опеннет-то лезете?
Не угадал - я всего лишь специалист по качеству софта :). Я думаю теперь ты понимаешь за что я так ненавижу скрипткидисов. Но да, твои подeлки я бы с удовольствием рекомендовал. Моим врагам, например. Жаль что ты не озвучил ни 1 наименования :(.
> Не угадал - я всего лишь специалист по качеству софта :). Я
> думаю теперь ты понимаешь за что я так ненавижу скрипткидисов. Но
> да, твои подeлки я бы с удовольствием рекомендовал. Моим врагам, например.
> Жаль что ты не озвучил ни 1 наименования :(.наименования чего?
> наименования чего?Софта который ты написал. Подозреваю что такого может и вообще не оказаться. Ты же у нас философ.
>> наименования чего?
> Софта который ты написал. Подозреваю что такого может и вообще не оказаться. Ты же у нас философ.Я не программист. Ну, как минимум, всё, что пишу, выкладываю на http://hg.51t.ru , если что-то перестаёт нравиться - удаляю оттуда. Есть ещё несколько задумок, напишу, выложу. Потому что я так хочу, и потому что мне это доставляет удовольствие. И ни один мудак мне это удовольствие испортить не сможет. :)
> Не угадал - я всего лишь специалист по качеству софта :). Я
> думаю теперь ты понимаешь за что я так ненавижу скрипткидисов. Но
> да, твои подeлки я бы с удовольствием рекомендовал. Моим врагам, например.
> Жаль что ты не озвучил ни 1 наименования :(.Тогда Вы должны знать что в RAD давно существуют:
1. Удобные средства интеграции со статическими анализаторами
2. Удобные средства интеграции с тем же vargrind или llvm
3. Автоматические средства верификации кода, например по MISRA
4. Я молчу про профилировку
5. Я молчу про упрощение и уменьшение автоматических ошибок при рефактореДля того чтобы делать громкие заявления нужно все же чуть более разобраться в предмете. Или "специалист по качеству софта" подразумевает всего лишь ручное тестирование?
самого главного в RAD не хватает: надёжного и качественного заменителя мозга.
> самого главного в RAD не хватает: надёжного и качественного заменителя мозга.Ага. Но если мозга нет- на выходе будет все равно говнокод (что с RAD что без). Так что давайте мозг отдельно, RAD - отдельно.
Это, блин, тенденция. Гордо выпятить отказ от RAD/скриптинга/и т.д. доказывая свою Ылитарность.Есть задача. Есть интрументы облегчающие ее решение. Использование или не использование этих инструментов- вопрос только их удобства и применимости. Все.
PS Наличие шуруповерта тоже никого мастером не сделает, но часто позволяет мастерам делать работу быстрее и иногда качественнее. Так понятно?
> Это, блин, тенденция. Гордо выпятить отказ от RAD/скриптинга/и т.д. доказывая свою Ылитарность.не так. RAD — это такой хитрый иструмент: молоток, пила, отвёртка, подзорная труба и глобус. всё собрано в кучу и соединено изолентой. в принципе, пользоваться можно, но…
большинство времени программист *думает*. в этом никакая RAD не поможет. а потом он садится и начинает фигачить исходный текст — и тут ценность всех встроеных в RAD инструментов опять очень невелика.
а вот у обезьян всё наоборот: большинство времени они проводят за всяким «рефакторингом» того, что набыдлокодили вчера, за «отладкой» своего быдлокода и за перекурами с такими же обезьянами, где они жалуются друг другу на то, что в RAD ещё не встроили кнопку «збс».
дело не в некоей элитарности ведь: работать головой могут научиться почти все. но большинству проще работать руками: оно и для начальства наглядней (весь в мыле, глаза красные выпучены, в отладчике пошагово фигачит — работает человек! не то что вон тот лентяй рядом: вообще глаза закрыл, спит, зараза!). тем, кто программирует, а не быдлокодит, большинство инструментов, предоставляемых RAD, нужны настолько редко, что нет смысла ради них эту RAD изучать.
Тараканы, они в голове. В кривых руках и калькулятор зависает.Если лично Вам больше нравится не пользоваться автодополнением, дебажится командной строкой gdb и руками дописывать реализацию метода в файл .cpp- это СУГУБО ВАШЕ желание и СУГУБО ВАШЕ время. Но тогда будте готовы обьяснять почему при прочих равных Вы выполняете меньший обьем работы.
по моим наблюдениям, меньший объём как раз у тех, кто обожает отладчик и среду, которая за него фигачит код. коммитов-то у них больше, а вот по итогу полезного выхлопа меньше.
> по моим наблюдениям, меньший объём как раз у тех, кто обожает отладчик
> и среду, которая за него фигачит код. коммитов-то у них больше,
> а вот по итогу полезного выхлопа меньше.Еще раз повторюсь - тараканы, они в головах.
> Еще раз повторюсь — тараканы, они в головах.натурально. и именно эти тараканы зачастую обуславливают необходимость в «крутом RAD» и «навороченом отладчике». потому что обезьяна в основном делает всякую рутину и boilerplate — и тут обезьяне RAD шибко помогает, вставляя то, что обезьяна сама скопипастить ленится. а когда обезьяна с умным видом в отладчик пырится — всем понятно: Работает!
к отладчику вообще надо подпускать только тогда, когда человек научился комфортно жить без него. хотя тогда ему отладчик нужен в основном для того, чтобы кородамп посмотреть, все остальные возможности побоку. и тут gdb хватает с головой безо всяких надстроек.
Руби, он же по отзывам таааакоооой мееееедленнный
а ты куда спешишь ?
> Руби, он же по отзывам таааакоооой мееееедленнныйКакой? Ядро на C написано. Компиляция в байткод присутствует.
Да и откуда в конфигураторе возьмутся громадные вычисления, которые могут привести хотя бы к тому, что пользователь сможет заметить задержку?
> Какой? Ядро на C написано.И что? Интерпретатор писаный на си не обязан быть быстрым. Потому что интерпретатор, бэть.
> Компиляция в байткод присутствует.
Сам по себе байткод не обязан принципиально ускорять что либо. Вот JIT - еще может быть. А какая разница, интерпретирует интерпретер байткод или человекочитаемые слова? Байткод конечно чуть быстрее, но одно дело если машинный код аппаратно интерпретируется процом, и другое - если какой-то левый байткод софтварно парсится. Разница в десятки раз - как нефиг делать.
> Да и откуда в конфигураторе возьмутся громадные вычисления, которые могут привести хотя
> бы к тому, что пользователь сможет заметить задержку?Сильно от операции зависит. Напримиер, рюхание большой иерархии пакетов - может требовать приличных вычислений.
Да ево мона и на шеле написать и все буде ОК и тебе понравицо
"Спешка е*ёт гарячку"
> "Спешка е*ёт гарячку"Пользователи python-программ никуда не спешат. И не экономят на памяти и проце. И не парятся по поводу стабильности. Счастливые люди.
Как пользователю может быть не плевать на язык программирования, на котором написана программа, если он не участвует в ее разработке? Это что-то религиозное?
> Как пользователю может быть не плевать на язык программирования, на котором написана
> программа, если он не участвует в ее разработке? Это что-то религиозное?А легко: если 99.9% программ на некоем ЯП это тормоза и глюкастики - поневоле начнешь обходить вообще весь софт на оном по данному критерию. Потому что с вероятностью 99.9% не прогадаешь и сэкономишь время на возне с очередной кривой поделкой. Ну а что поделать, поделий наколенных много развелось - приходится продвинутые методы отсева применять.
Так что можете считать что религиозное: я ненавижу плохой софт. А хорошего на питоне как-то и не бывает практически.
И много уже софта на Питоне проверил?
Вагон и тележку, 95% пашет только на 2.7 не сообществ, а дэбилы. 3.3 давно есть но новые версии не собираються под него делать ибо все сидят на 2.7. Прогресс на лицо.
> Как пользователю может быть не плевать на язык программирования, на котором написана программа, если он не участвует в ее разработке?Если выбор ЯП оказывает непосредственное воздействие на скорость и ресурсоемкость программы - пользователю далеко не наплевать.
Я, тут понял, что не знаю на чём написаны большинство программ, которые я использую. Учитывая, что являюсь технарём. А обычны пользователь технарём не является, и слова java, ruby, python у него ассоциируются с кофе, рубином, змеёй соответственно. А С, С++, ASP - вообще наборы символов.Так что, думаю пользователь оценивает только удобство использования (в т.ч. и скорость получения результата) и функциональность. И это, на мой взгляд, правильно. По этому и надо заморачиваться над удобством использования и функциональностью, а не на том на каком языке это всё писать.
Возвращаясь к теме топика, как то странно слышать о тормозах, когда продукт ещё официально не вышел, это раз. Второе, выбор ruby был обусловлен, тем, что разработчиков на нём много (подозреваю, что больше чем на C), т.е. функциональность будет подниматься быстрее. И третье, до этого в проекте YaST применялся собственный интерпретатор, который был и медленнее, и примитивнее, и знали его полтора землекопа. Так что выбор Ruby вполне себе достаточное решение в данной ситуации.
> Второе, выбор ruby был обусловлен,
> тем, что разработчиков на нём много (подозреваю, что больше чем на
> C), т.е. функциональность будет подниматься быстрее.связь почти отсутствующая. 100500 быдлокодеров быстро набыдлокодят быдлобаги, а не фичи.
> Руби, он же по отзывам таааакоооой мееееедленнныйВот именно что вы полагаетесь исключительно лишь на чьи-то отзывы, а у самого личного опыта никакого нет, чтобы делать выводы, достаточна ли скорость Руби для тех задач, в которыхз он применяется.
Виноград же по отзывам такой зелёоооооный!
А почему не на python? Такой элегантный язык...
> А почему не на python? Такой элегантный язык...Ну хотя бы потому, что код будет в 2 раза длиннее, чем в Ruby.
длинный питон - правильный питон !
> длинный питон - правильный питон !Правильный питон должен быть толстым и зеленым.
Правильный Пайтон должен же быть Монти!
Это ещё почему?
> Это ещё почему?
> ps. http://hyperpolyglot.org/scriptingПример: найти гласные буквы (латинские), которые встречаются во всех словах:
words = gets.split
p result = ['a', 'e', 'i', 'o', 'u', 'y'].find_all{ |c| words.all?{ |word| word.index c } }Теперь напишите на питоне.....
Да и возможности питона для создания DSL тоже никуда не годятся, а на Ruby - это элементарно - http://jroller.com/rolsen/entry/building_a_dsl_in_ruby .
> words = gets.split
> p result = ['a', 'e', 'i', 'o', 'u', 'y'].find_all{ |c| words.all?{ |word|
> word.index c } }Я вот в этом нечте даже сам алгоритм не могу понять, не то, что переписать. А opensource - это то, что нужно поддерживать, и что смотрят многие люди.
ps. А python - это лучший язык для непрограммистов и тех, у кого антипрограммистское мышление.
> ps. А python - это лучший язык для непрограммистов и тех, у
> кого антипрограммистское мышление.Лучший язык для таких людей - естественный.
А к программированию их лучше не допускать.
> Лучший язык для таких людей - естественный.
> А к программированию их лучше не допускать.Тогда бы у нас не было бы scipy и sage. Да и многих других вещей, которые созданы людьми, которые лучше разбираются в предмете, чем в программировании. Если разобраться, то у программистов кроме программирования и профессиональных навыков-то нет, и они в рамках своего мира пишут "программистами для программистов".
Но пользователям больше интересны решения, которые решают проблемы пользователей, а не проблемы программистов. :)
> Тогда бы у нас не было бы scipy и sage.Это вообще что?
А так прав был местный Кэп, назвав питон гвидобэйсиком. Целевую аудиторию отражает хорошо.
>> Тогда бы у нас не было бы scipy и sage.
> Это вообще что?Это модули питона для математических расчетов. Буратина внушает нам, что математики - это такие гуманитарии в терминальной стадии.
>>> Тогда бы у нас не было бы scipy и sage.
>> Это вообще что?
> Это модули питона для математических расчетов. Буратина внушает нам, что математики -
> это такие гуманитарии в терминальной стадии.Ой, ребята, да вам с азбуки нужно начинать. Чтобы хотя бы читать научиться.
> Ой, ребята, да вам с азбуки нужно начинать. Чтобы хотя бы читать научиться.Ну вот, пошел отмазываться.
>> Ой, ребята, да вам с азбуки нужно начинать. Чтобы хотя бы читать научиться.
> Ну вот, пошел отмазываться."Кикимор я не понимаю"
Ну да - трудно быть деревянным, чего уж :)
я надеюсь, что ты принципиально летаешь на самолётах, которые были разработаны и сделаны пассажирами, а не инженерами. ведь пассажиры лучше знают, что им надо. а эти яйцеголовые только зря всё усложняют.
> я надеюсь, что ты принципиально летаешь на самолётах, которые были разработаны и
> сделаны пассажирами, а не инженерами.Лишь бы не программистами.
> ведь пассажиры лучше знают, что им надо.
Поэтому внутреннее убранство самолётся создают совсем не эти инженеры. Точно так же одни инженеры изобрели такую технологию, как python. Юзер же не с процессором будет взаимодействовать.
> Поэтому внутреннее убранство самолётся создают совсем не эти инженеры.ага. а дизайнеры. впрочем, в xUSSR «дизайнер» — увы, ругательство. привык народ к дерьму, что поделаешь.
Лучший язык - это арабский!
и мне плевать, что вы русский!
> Я вот в этом нечте даже сам алгоритм не могу понять, не
> то, что переписать. А opensource - это то, что нужно поддерживать,
> и что смотрят многие люди.Это элементарно, если немного перестроить мозги под функциональный стиль. В Ruby делается акцент на то, что любая программа должна быть предельно понятна программисту, понимающему английский язык. Кроме того, надо помнить, что в Ruby всё есть объект (от отличии от питона, кстати). Далее всё станет понятно.
А вот питон - императивный язык с традиционным синтаксисом, присыпанный сахаром.
p result = ['a', 'e', 'i', 'o', 'u', 'y'].find_all{ |c| words.all?{ |word| word.index c } }result =[ c for c in ('a', 'e', 'i', 'o', 'u', 'y') if all(c in word for word in words)]
Что больше на английский похоже?
> Что больше на английский похоже?perl, конечно же.
:))made my day thanx
Ну вот кусок кода на Perl 3 (боян, но все же):BEFOREHEAD: close door, each window & exit; wait until time.
open spellbook, study, read (scan, select, tell us);
write it, print the hex whole each watches,
reverse its length, write again;
kill spiders, pop them, chop, split, kill them.
unlink arms, shift, wait & listen (listening, wait),
sort the flock (then, warn the "goats" & kill the "sheep");
kill them, dump qualms, shift moralities,
values aside, each one;
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill next sacrifice, each sacrifice,
wait, redo ritual until "all the spirits are pleased";
do it ("as they say").
do it(*everyone***must***participate***in***forbidden**s*e*x*).
return last victim; package body;
exit crypt (time, times & "half a time") & close it,
select (quickly) & warn your next victim;
AFTERWORDS: tell nobody,
wait, wait until time;
wait until next year, next decade;
sleep, sleep, die yourself,
die at lastPython с ruby нервно курят в сторонке.
>[оверквотинг удален]
> do it(*everyone***must***participate***in***forbidden**s*e*x*).
> return last victim; package body;
> exit crypt (time, times & "half a time") & close it,
> select (quickly) & warn your next victim;
> AFTERWORDS: tell nobody,
> wait, wait until time;
> wait until next year, next decade;
> sleep, sleep, die yourself,
> die at last
> Python с ruby нервно курят в сторонке.У вас тут SQL-инъекция. Исправьте.
>> Что больше на английский похоже?
> perl, конечно же.«Perl — это единственный язык, программы на котором выглядят одинаково до и после RSA-шифрования.» Keith Bostic
Да ты что ж делаешь-то???? Ты ж весь кайф школьникам сломал
Да это же Perl!
> Что больше на английский похоже?"А по-моему, они одинаковые".
> p result = ['a', 'e', 'i', 'o', 'u', 'y'].find_all{ |c| words.all?{ |word|
> word.index c } }
> result =[ c for c in ('a', 'e', 'i', 'o', 'u', 'y')
> if all(c in word for word in words)]
> Что больше на английский похоже?PHP.
$in = 'fuckthemall aeouy yeah'; $letters = array('a','e','i','j','o','u','y');
foreach (str_word_count($in, 1) as $word) $letters = array_intersect($letters, str_split(count_chars($word, 3), 1));
>Кроме того, надо помнить, что в Ruby всё есть объектОператоры тоже?
>(от отличии от питона, кстати).
И что в питоне не объект?
>А вот питон - императивный язык
После этой фразы тебе нужно свой мозг аккуратно порезать ланцетом, все равно бездействует.
>>А вот питон - императивный язык
> После этой фразы тебе нужно свой мозг аккуратно порезать ланцетом, все равно
> бездействует.лучше тебе. это императивное дерьмо с неудачным полурабочим закосом под функциональщину для бедных. реализовывать рекурсивные алгоритмы без TCO? бугога. гвидобейсик даже в CPS не может, потому что у него стек взорвётся.
В питоне так же всё есть объект.
и python не только императивный язык, учиться тебе надо - позорище!http://ru.wikipedia.org/wiki/%D0%9C%D1%8...
Насчёт английского языка, Perl - язык лингвиста для программистов(кхм... Хахаха)
> ps. А python - это лучший язык для непрограммистов и тех, у
> кого антипрограммистское мышление.По нему и софту на нем - заметно. Вот только зачем непрограммистам писать программы? Ты бы стал жрать булочки, которые испек сталевар? :)
>> ps. А python - это лучший язык для непрограммистов и тех, у
>> кого антипрограммистское мышление.
> По нему и софту на нем - заметно. Вот только зачем непрограммистам
> писать программы? Ты бы стал жрать булочки, которые испек сталевар? :)Потому что у непрограммистов гораздо больше профильных навыков. Кто лучше печёт булочки - пекарь или программист?
> Кто лучше печёт булочки - пекарь или программист?Пекарь, ясен перец. А булочки которые испек программист - ты как нибудь сам жри, пардон. Вот точно так же я не буду юзать и программы которые написал пекарь. Все-таки хреново когда пироги печет сапожник, а сапоги тачает пирожник.
> Пекарь, ясен перец. А булочки которые испек программист - ты как нибудь сам жри, пардон. Вот точно так же я не буду юзать и программы которые написал пекарь. Все-таки хреново когда пироги печет сапожник, а сапоги тачает пирожник.Вот именно. Для вас почему-то программы - это что-то абстрактное, или решающее проблемы программистов.
Но программы - это что-то, решающее проблемы юзеров, в первую очередь. Для их профессиональной и внепрофессиональной деятельности. И эксперты в этой области не имеют времени и желания становиться высококлассными программистами. Но предметную область они знают лучше.
Да многое в opensource начиналось с такого любительского программирования, если походить по сайтам профильных пакетов, на которые есть ссылка в aptitude, видишь, что их первоначальный автор - совсем не разработчик. Да и linux - больше любительский проект, который сам Торвальдс не считал профессиональным - если бы он делал для программирования, а не для результата, мы бы не увидели linux. :)
Вообще, узость мышления программиста, да и it-шника вообще, слишком ограничена. Они очень стереотипны - больше, чем другие виды деятельности и развития. Некоторые причинно-следственные связи, как мне показывает опыт, они просто не видят и не понимают. Именно поэтому opensource развивается не там, где хорошие программисты (сколько их не сади, сколько денег не плати, количество в качество не перерастает), а там, где сильные лидеры, продуманное управление, знание каждым своего места, и своя ФИЛОСОФИЯ. Без неё - это просто сброд с непомерными амбициями.
> Вот именно. Для вас почему-то программы - это что-то абстрактное, или решающее
> проблемы программистов.Не, не так. Если мне нужна булочка и я не пекарь - я иду к пекарю и даю ему денежку, за то что он булочки печет явно лучше чем это делаю я. Ну вот по логике вещей, если пекарь не программист а ему нужна программа, он по логике вещей должен дать денег программисту и тот сделает в лучшем виде. Ну ладно, если для себя - пусть сам пишет, ему и жрать результат в конце концов. А вот если я начну заваливать все полки магазинов булочками которые я со своими пекарскими скиллами напек - ты пожалуй начнешь громко чертыхаться, когда тебе ЭТО начнет попадаться в каждом втором магазине. Я думаю теперь ты понимаешь, почему я чертыхаюсь нарвавшись на программу от пекаря. Потому что работает она примерно так же как я булочки пеку...
> Но программы - это что-то, решающее проблемы юзеров, в первую очередь.Ну так пекарь - он тоже мою проблему "я хочу булочку" решает. А программист - решает проблему пользователя "нужна вот такая программа". Вроде бы все логично.
> Для их профессиональной и внепрофессиональной деятельности. И эксперты в этой
> области не имеют времени и желания становиться высококлассными программистами.
> Но предметную область они знают лучше.Тогда пусть работаю в команде с нормальным программистом, например. А вот вываливать свои программы, которые выглядят не лучше чем булочки которые я по первости испеку - совершенно не обязательно. Далеко не всем нравится лицезреть вместо хлеба в магазине какую-то горелую/невкусную фигню, которую чисто теоретически с большой голодухи даже вроде бы можно сожрать. А практически - при наличии ассортимента придется чертыхаться пытаясь выбрать из этого шита нечто съедобное и не опасное для пищеварения.
> Да многое в opensource начиналось с такого любительского программирования,
> если походить по сайтам профильных пакетов, на которые есть ссылка в aptitude,
> видишь, что их первоначальный автор - совсем не разработчик.Как бы если мне понравится печь булочки - я вполне могу достичь уровня неплохого пекаря, даже если и не буду их производить на коммерческой основе. В этом случае - окей, я не против чтобы такой гражданин программы публиковал. Но вот несъедобный крап вываливать по принципу "может кто и сожрет" - то еще свинство. Приходится потом в этих отходах копаться, пытаясь что-то дельное найти.
> Да и linux - больше любительский проект, который сам Торвальдс не считал
> профессиональным - если бы он делал для программирования, а не для результата, мы
> бы не увидели linux. :)Вот только Торвальдс стал вполне себе профессиональным руководителем проекта и неплохим программистом. И заметь, бурные ошибки молодости он признал и исправил - например, его система не привязана к 80386 на данный момент никаким боком :)
Вообще, я не люблю халтурщиков. Любитель не обязан быть халтурщиком - некоторые любители пекут булочки так что любая пекарня от завести помрет. Но вот вываливать в магазине булочки которые напек первый встречный - как-то опрометчиво, ага.
Зануда.А я прежде всего хочу возродить то самое, любительское программирование, все эти статьи в Радио и Байтик, радость, впечатления. Но для этого нужно прежде всего изменить мышления, люди не должны бояться снобов и уродов, подобных вам, не должны бояться вашего мнения.
... и вашей паранойи насчёт того, что всё, что где-то написано, обязательно написано назло вам, чтобы вы смотрели и боялись, и что они специально будут за вами бегать, чтобы вам это написанное продемонстрировать.
На мой взгляд, IT устало от IT-шников. И opensource тоже нужен и свежий взгляд, и свежие мысли. В opensource как элитном заведении для it-шников этого нет и быть не может. В жопу неуместный снобизм и плач по утраченным амбициям - даёшь нормальное, спокойное, не меряющееся всем и сразу общество.
Наоборот - IT устало от дилетантов и "обычных пользователей". Которые возомнили, что можно полноценно пользоваться сколько-нибудь сложной программой (а они сейчас все сложные) не понимая её архитектуру и принципы. И все беды отсюда - хоть форматирование пробелами в ворде, хоть шпионы в андроиде, хоть кривые GUI, хоть plug and pray от винды до systemd.Но мануалы же читать неохота. А в последнее время их еще и писать неохота. А зачем - всё равно завтра всё поменяется, нынче это модно - agile всякие и тому подобное. Как библиотеку использовать? А смотри юнит-тесты! Какова архитектура приложения? А вон доксиген, любуйся!
Кстати, очень хороший критерий быстрой оценки качества открытого софта - если есть наайте заметное описание общей архитектуры и логики, которую закладывал автор - значит есть шанс что софтина приличная. А если только howto какой - скорее всего архитектуры и нет, а внутри гора костылей вперемешку с граблями.
> Наоборот - IT устало от дилетантов и "обычных пользователей".IT ради IT? IT, обслуживающее задачи IT?
"Эта дорога не ведёт к храму? Тогда зачем она нужна?"
> Которые возомнили, что
> можно полноценно пользоваться сколько-нибудь сложной программой (а они сейчас все сложные)
> не понимая её архитектуру и принципы. И все беды отсюда -
> хоть форматирование пробелами в ворде, хоть шпионы в андроиде, хоть кривые
> GUI, хоть plug and pray от винды до systemd.Блин, вы банальных вещей не умеете, дружить с людьми не умеете. И всё упорно пытаетесь заменить это какими-то мелочными придирками, вечной истеричностью там, где можно сказать два простых слова, без выкобенивания.
А это не выход. Это вход. Вход в западню, которая будет только сильнее засасывать... да чего там будет, уже люди не похожи на людей, а всё туда же, виноватых в своих бедах ищут...
Вы не ту проблему решаете, не понимаете, откуда всё это появляется, почему, и куда деваетесь. Не на людей смотрите, а на код. Но код сам по себе, без людей, не бывает, и люди ВСЕГДА первичны.
Opensource - это общество. Пока этого общества не будет, пока каждый будет мнить себя чем-то покемонообразным, и напрочь не уважать других людей, общества не будет. А если и будет, то вопреки, и в малых дозах. Вас стравливают, как петухов, а вы и рады показать свою "индивидуальность". БЫдло.
> А я прежде всего хочу возродить то самое, любительское программирование,
> все эти статьи в Радио и Байтик, радость, впечатления.Понимаешь, в чём дело: когда мне было 14 лет, я тоже не понимал, чему ещё можно научиться из техники лабораторного химического эксперимента. Уж чего проще, шлифы все стандартных размеров, причём на муфте ещё и подписано, какого конкретно -- а керн уж на глаз подобрать можно. Штатив -- он сто лет уж как одинаковый. Да и горелку газовую Роберт Вильгельм Бунзен сделал ещё в середине XIX века, а до сих пор используют кое-где (ну, уже редко, да, горелка Теклю поудобнее).
Ну и так далее. А уж эксперимент-то провести -- вообще раз плюнуть, слил/замесил/нагрел/перегнал (ну, или перекристаллизовал -- в зависимости от).
Для абсолютно любительских опытов подростка этого действительно хватает.
Только вот если без опыта и знаний попытаться провести, скажем, формилирование бензольного кольца по Вильсмайеру-Хааку, есть очень высокая вероятность, что из морды лица придётся доставать осколки йенского боросиликатного стекла, из которого посуду химическую делают. После чего долго-долго лечить ожоги от хлорокиси фосфора.
С программированием примерно то же самое: если ты пишешь софтинку, которая посчитает тебе твою модельку, Пайтона (и Руби) вполне достаточно. Вникать долго-долго в теорию алгоритмов и тренировать навык программирования, действительно, не нужно.
Но это любительщина. На ней далеко не уехать.
А если будешь настаивать на своём и всё-таки пытаться "уехать далеко" -- "взорвётся". Ну, не в буквальном смысле, как колба с реакционной смесью, в переносном, конечно.
Выяснится, что другие люди, считающие твоей любительской софтинкой свои данные, как-то так "неудачно их подобрали", что софтинка зацикливается. Или в core dump ходит. Или ядро её пришибает по выжиранию всего доступного ОЗУ. И будут эти "другие люди" посылать автору программы лучи анального поноса, потому что утверждалось, что софт-то рабочий!
Низкий порог вхождения в процесс написания программного обеспечения, обеспечиваемый скриптовыми языками a la Python/Ruby, -- это палка о двух концах. С одной стороны, конечно, хорошо, что математик, занимающийся какой-нибудь там дифференциальной геометрией, сможет накодить за 15-20 минут скриптец, который ему что-то там посчитает. С другой стороны, если другой математик возьмёт этот скриптец, скормит ему побольше данных, скриптец поработает недельку-другую (это немного для расчётов -- секвенирование генома человека требует примерно трёх месяцев работы кластера из 50-80 вычислительных ядер), а потом рухнет по "memory exhausted", будет обидно. А ещё более обидно будет потому, что математик, который этот скриптец писал, не озаботился написанием части кода, которая чекпойнтит расчёт после каждой итерации, и той части кода, которая может восстановить стейт расчёта по чекпойнту -- он же математик, а не программист, откуда ему знать о таких мелочах, верно?-)
> С программированием примерно то же самое: если ты пишешь софтинку, которая посчитает
> тебе твою модельку, Пайтона (и Руби) вполне достаточно. Вникать долго-долго в
> теорию алгоритмов и тренировать навык программирования, действительно, не нужно.
> Но это любительщина. На ней далеко не уехать.Я не думаю, что обычные люди хотят быть программистами. Они хотят, чтобы картинка ожила.
> А если будешь настаивать на своём и всё-таки пытаться "уехать далеко" --
> "взорвётся". Ну, не в буквальном смысле, как колба с реакционной смесью,
> в переносном, конечно.У нас бы не было wesnoth-а, потому что первые версии wesnoth были ужасными, да и сейчас там тоже не идеал.
> Выяснится, что другие люди, считающие твоей любительской софтинкой свои данные, как-то
> так "неудачно их подобрали", что софтинка зацикливается. Или в core dump
> ходит. Или ядро её пришибает по выжиранию всего доступного ОЗУ. И
> будут эти "другие люди" посылать автору программы лучине лучи, а пачи. этим и отличается opensource движение от ваших подвальных увлечений. если людей интересует - то захотят разобраться, почему. и если написано на чём-то вроде python, то порог вхождения гораздо ниже. если реально волнуют данные - думать будет меньше.
без взаимодействия нет никакого смысла. в журналах эти программы не только печатались, но и обсуждались, иногда в следующих номерах публиковали "письма в редакцию" на предмет того, что можно улучшить.
> геометрией, сможет накодить за 15-20 минут скриптец, который ему что-то там
> посчитает. С другой стороны, если другой математик возьмёт этот скриптец, скормит
> ему побольше данных, скриптец поработает недельку-другую (это немного для расчётов --
> секвенирование генома человека требует примерно трёх месяцев работы кластера из 50-80
> вычислительных ядер),продажа теннисных ракеток не означает, что человек поедет на Уимблдонский турнир. он может просто поиграть в теннис, всё равно Серену ему не обыграть :)
> не озаботился написанием части кода, которая чекпойнтит расчёт после каждой итерации,
> и той части кода, которая может восстановить стейт расчёта по чекпойнту
> -- он же математик, а не программист, откуда ему знать о
> таких мелочах, верно?-)верно. только всё это вместе - это предельное упрощение. метущийся математик, который ничего не знает, но всё делает. среди нормальных людей так не принято - или изучение и тестрование, или нет. делать что-то очень важное, не понимая, как это делать - это всегда будет глупостью, независимо от всех остальных условий.
ps. Именно RAD-средства подняли Windows. Когда появляется 100000 приложений и игрушек на deplhi в неделю, среди них обязательно будет несколько классных (а неудачные никто уже и не помнит). Developers, Developers, Developers. Люди пишут, потому что это интересно, потому что лёгкое и плавное, последовательное погружение. Многих полезных пользовательских приложений мы бы просто не узнали. Пусть кривые и косые, но с каждой итерацией нужные приложения становились всё лучше, а худшие - отмирали.Python имеет очевидное преимущество перед delphi в том, что сразу, изначально, до первого sdl-окошка нужно будет изучить некоторые базовые принципы. Delphi-разработчики их узнавали уже чуть позже, чем требовалось, это было ошибкой.
Я представляю, как вы детей воспитываете...- Папа, я человечка слепил.
- (хераксь по лбу) Что это? Это вообще не Микеланджело, а халтурщина!
- Зурабчик, что за фигню ты опять слепил?
С ребенка, у которого с рациональностью и критичностью всё плохо, спрос другой. А вот если взрослый слепил поделку и не осознает, что это поделка - это уже печально.
> С ребенка, у которого с рациональностью и критичностью всё плохо, спрос другой.
> А вот если взрослый слепил поделку и не осознает, что это поделка - это уже печально.У меня столько аналогий в запасе. Но это настолько бесполезно...
> У меня столько аналогий в запасе. Но это настолько бесполезно…а вот это верно: аналогии бесполезны. а «программам от непрограммистов» место в личных коллекциях. показывать ЭТО миру не надо, в мире и так слишком много говна.
> И эксперты в этой области не имеют времени и желания становиться высококлассными программистами. Но предметную область они знают лучше.Знаете, люди научились объединяться в группы еще когда на мамонтов охотились. Поэтому никто не мешает высококлассному пекарю пойти к высококлассному программисту и сделать вместе удобную для пекарей программу.
А еще лучше - обоим чуть-чуть проникнуть в области друг-друга. Т.е. программист ведь человек не настолько тупой, чтобы не научиться слегка печь пирожки. Ну, чтобы ему было хотя бы в общих чертах понятно, как они делаются.
> Знаете, люди научились объединяться в группы еще когда на мамонтов охотились. Поэтому
> никто не мешает высококлассному пекарю пойти к высококлассному программисту и сделать
> вместе удобную для пекарей программу.IT-шники и мешают. Неуёмным снобизмом и амбициями, и непониманием простых вещей. Которые, кстати, скорее всего за кодом и пошлют... если не дальше. В итоге оказывается проще самому сесть за штурвал и доехать. И тут python спасает по-взрослому.
Кстати, а если не высококлассные? Писать очередной плеер, где об эргономике и не слышали, а все контролы расположены так, потому что "так получилось, ну не переделывать же". Где мы вообще столько программистов на opensource возьмём, если всю любительщину из него уберём?
> А еще лучше - обоим чуть-чуть проникнуть в области друг-друга. Т.е. программист
> ведь человек не настолько тупой, чтобы не научиться слегка печь пирожки.
> Ну, чтобы ему было хотя бы в общих чертах понятно, как
> они делаются.Проще пекарю python изучить. Потому что для того, чтобы изучить python, не нужно превращаться в it-шника, а вот it-шник - это всерьёз и надолго. Opennet и любой программистксий сайт показывают, как они могут объединяться даже между собой. Сообщество, ха-ха.
Буратино, да ты видать вообще сам себя в Великие Программисты произвел? :)
> Буратино, да ты видать вообще сам себя в Великие Программисты произвел? :)Нет, я не программист, и не хочу им быть - это точно. :) Когда-нибудь, надеюсь, и python забуду. Потому что основная проблема не в коде, а в том, что источники проблемы не видят того, что они основная проблема. И эту проблему никаким кодом не решишь, хоть ты три тонны кода налепи. :)
> Нет, я не программист, и не хочу им быть - это точно.
> :) Когда-нибудь, надеюсь, и python забуду.Для начала попробуй просто перестать постоянно говорить о питоне.
> Потому что основная проблема не в коде, а в том, что источники проблемы не видят того, что они основная проблема.
Ага. Вот ты, например.
> Я вот в этом нечте даже сам алгоритм не могу понятьа виноват, конечно, руби. а не ленивый буратино, который считает, что все языки должны быть похожи один на другой. go-go учить Smalltalk. у тебя, скорее всего, попытки с десятой получится. потому что у семилетних детей получается с первой.
>> Это ещё почему?
>> ps. http://hyperpolyglot.org/scripting
> Пример: найти гласные буквы (латинские), которые встречаются во всех словах:
> words = gets.split
> p result = ['a', 'e', 'i', 'o', 'u', 'y'].find_all{ |c| words.all?{ |word|
> word.index c } }Так вот ты какой, Perl 6.
> Так вот ты какой, Perl 6.Брейнфак 2.0 - по неочевидности конструкции оно спокойно заткнет иных участников obfuscated C code contest :).
> Брейнфак 2.0 - по неочевидности конструкции оно спокойно заткнет иных участников obfuscated C code contest :).Но все это детский сад по сравнению с некоторыми shell-скриптами труЪ-одминов. Десять минут пытаешься понять смысл одной строчки, а когда наконец понимаешь - разбиваешь себе лицо фейспалмом.
я вот вашу программу прочитать не могу, так как синтаксис Ruby не знаю.
а по описанию -words = raw_input().split()
result =[ c for c in ('a', 'e', 'i', 'o', 'u', 'y') if all(c in word for word in words)](это похоже на подстрочник, да?)
а можно и так -
words = raw_input().split()
result = list(reduce(set.intersection, (set(word) for word in words), set('aeiouy')))
> result =[ c for c in ('a', 'e', 'i', 'o', 'u', 'y')
> if all(c in word for word in words)]Гы, ну внатуре, import this наше всё :)
Если можно решить одним способом - то у всех будет решено одним способом. :)
а вообще, у меня получилось вот так:k = 'fuckthemall aeouy yeah'.split(' ')
print [i for i in 'a', 'e', 'i', 'o', 'u', 'y' if all(i in n for n in k)]['a', 'e']
> ['a', 'e']Если это результат - то в нем что-то маловато гласных для твоей тестовой строки, тебе так не кажется? :)
>> ['a', 'e']
> Если это результат - то в нем что-то маловато гласных для твоей
> тестовой строки, тебе так не кажется? :)нет. все остальные примеры отсюда тоже выдают на ней a e
и это легко проверить - берём y, e, a из yeah, и смотрим.
y - в первом слове нет, e - в первом слове есть, во втором слове есть, a - в первом слове есть, во втором слове есть.
кстати, лучше дажеk = 'fuckthemall aeouy yeah'.split(' ')
print [i for i in 'aeiouy' if all(i in n for n in k)]это меня рубист смутил :)
> нет. все остальные примеры отсюда тоже выдают на ней a eДа все вы скрипткидисы одинаковые. Лишний тому пруф. Задачу поставили так, решили эдак. Вывалили - "как-то работает вроде". Как и ожидалось - на выходе полудохлый полуфабрикат. Хоть и концептуальный.
>> нет. все остальные примеры отсюда тоже выдают на ней a e
> Да все вы скрипткидисы одинаковые. Лишний тому пруф. Задачу поставили так, решили
> эдак. Вывалили - "как-то работает вроде". Как и ожидалось - на
> выходе полудохлый полуфабрикат. Хоть и концептуальный.Эта ахинея должна что-то означать, или у вас просто недержание?
> words = gets.split
> p result = ['a', 'e', 'i', 'o', 'u', 'y'].find_all{ |c| words.all?{ |word| word.index c } }И эти люди говорят, что на Perl пишут нечитаемый код.
>> words = gets.split
>> p result = ['a', 'e', 'i', 'o', 'u', 'y'].find_all{ |c| words.all?{ |word| word.index c } }
> И эти люди говорят, что на Perl пишут нечитаемый код.и, что характерно, они правы.
reduce(lambda x,y:set(x)&set(y),words)&set(('a','e','i','o','u','y'))
set.intersection({'a', 'e', 'i', 'o', 'u', 'y'}, *[set(i) for i in string.split()])
скомпилировал несколько предложенных вариантов, вот каноническое решение на pythonwords = 'fuckthemall aeouy yeah'.split()
result = reduce(set.intersection, words, set('aeiouy'))
> скомпилировал несколько предложенных вариантов, вот каноническое решение на python
> words = 'fuckthemall aeouy yeah'.split()
> result = reduce(set.intersection, words, set('aeiouy'))Оно не так наглядно. Встретив такую строку, непонятно, что оно делает. А в opensource лёгкая читаемость - это наше всё. :)
ИМХО самый читаемый вариант
теперь, когда придумано как минимум два варианта (а с reduce можно ещё пару замутить) можно провести испытания, и обнаружить что самый первый "лобовой" вариант является самым быстрым. А варианты с множествами - раз в 50 медленнее :)
Боже, как же Вы тупы. Переводится в Питон просто дословно...
Не, не нужны в нашей стране программисты. А вот колхозники - нужны. Потому как, колхозник самоуверенный - от него нет беды, только больше картошки даст стране
Найдите 10 отличий.words = input().split()
print([c for c in 'aeiouy' if all(c in word for word in words)])
> Да и возможности питона для создания DSL тоже никуда не годятсяДружок, иди выучи вначале что есть DSL, потом старайся не проявлять больше своей тупости.
words = raw_input().split(' ')
print filter(lambda c: all(c in word for word in words), 'aeiouy')
words = gets.split
result = %w'aeiouy'.find_all{ |c| words.all?{ |word| word[c] } }
p %w'fuckthemall aeouy yeah'.map { |word| word.scan(/#{['a', 'e', 'i', 'o', 'u', 'y']}/) }
Канешна, иди проспись
>> А почему не на python? Такой элегантный язык...
> Ну хотя бы потому, что код будет в 2 раза длиннее, чем
> в Ruby.А могли бы вообще на перле в одну строчку!
Питон элегантный? Ахахахахаха.
Вы видимо никогда не видели руби.
Slushay zy, ty gde zhivesh? Davay vstretimsya pogovorim naschet elegantnosti...kozel
Пропустил ключевое слово "братуха", а так все правильно :)
Так, никто ещё не спрашивал, почему не пехапе?
Причем тут похапе? ПОЧЕМУ НЕ НА БАШЕ? Это ж не юниксвейно!
Юниксвей умер. Хватит насиловать труп.
> Юниксвей умер. Хватит насиловать труп.Читайте книгу Реймонда, и тогда в вашей голове уже не будет носиться таких глупых мыслишек. Извините, но пересказывать её здесь - нет смысла.
Читайте The UNIX-HATERS Handbook
> Читайте The UNIX-HATERS HandbookЗачем, я его на opennet-е регулярно вижу.
> Читайте The UNIX-HATERS Handbookотличная книга. как раз для тех, кто таки хочет грок unix-way. а ещё великолепный детектор дебилов.
> Юниксвей умер. Хватит насиловать труп.Насиловать труп - это юниксвейно же!
Ведь любой труп - это проверенное временем решение, стабильность которого гарантируется.
В отличие от живых организмов, которые сегодня такие, а завтра уже вырастут.
> Ведь любой труп - это проверенное временем решение, стабильность которого гарантируется.
> В отличие от живых организмов, которые сегодня такие, а завтра уже вырастут.Ну здрасьте, сегодня труп, а завтра мумия, а то и вовсе скелет сразу.
Это ежели только по частям, соединенным пайпами
> Так, никто ещё не спрашивал, почему не пехапе?Не осилят. Тут ни галереи, ни mysql-базы с оптимизированным на медленное выполнение оператором select.
с башовыми вставками )))
Мне вот только непонятно, зачем они изначально городили велосипеды со своим языком.
Пародировали smit из aix, вот только smit не тормозит, а yast это нечто, блин.
Ага, точно. Это типа для того, чтобы 1,5 разраба геройски писали на никому неведомом языке? Ну что, герои, чо.
> Пародировали smit из aix, вот только smit не тормозит, а yast это нечто, блин.Ну дык его ня ребе переписали же! Поздравления! Теперь оно не тормозит, оно ну я даже не знаю как без мата :)
PS: А потом вы обновите рябу :)))) Как известно _все_ рябо-программы работают _только_ на компе девелопера :) Вобщем - УДАЧИ!
> Как известно _все_ рябо-программы работают _только_ на компе девелоперавынужден тебя огорчить: это известно только тебе. видимо, тебе явилось сакральное знание в алкогольном делирии.
Это практически правда: у рубистов есть такая идея, что продакшен должен следовать компу разработчика. Правда, в основном, это касается рельсоразработки.
> Это практически правда: у рубистов есть такая идея, что продакшен должен следовать
> компу разработчика. Правда, в основном, это касается рельсоразработки.В том, что касается рельсоразработки есть Gemfile.lock и bundler, который автоматически приведёт конфигурацию к тому, что сказано. А можно его удалить, и построится новый Gemfile.lock по фактически имеющемуся окружению. И возможность фиксации версий - это правильно, потому, что гарантирует повторяемость результатов тестирования приложения.
Это всего лишь оболочка для нижнего уровня, так что и Ruby сойдет.
Ruby - разумный компромисс для тех, кому нравится питон, но кто не хочет его использовать, чтобы не быть как все. В сузевом сообществе таких детей, видимо, навалом.
> Ruby - разумный компромисс для тех, кому нравится питон, но кто не
> хочет его использовать, чтобы не быть как все. В сузевом сообществе
> таких детей, видимо, навалом.Ruby - хороший язык. Но для пакетного менеджера, который нужен и домохозяйке, и зубному технику, лучше выбрать python.
> ...и домохозяйке, и зубному технику...Вот их-то спросить и забыли.
> Вот их-то спросить и забыли.Вот поэтому opensource-сообщество и такое узколобое, и развивается на 1% от всего потенциала.
Ну, пожиратели проприетари вообще безлобые и о развитии вообще речи не идёт.
Взять к примеру тебя.
> Ну, пожиратели проприетари вообще безлобые и о развитии вообще речи не идёт.
> Взять к примеру тебя.Ну, чтобы найти у меня проприетарь - это нужно сильно постараться. Вроде бы, на каких-то компьютерах есть даже adobe flash player, но не на всех, в openbsd точно нет :)
> Ну, пожиратели проприетари вообще безлобые и о развитии вообще речи не идёт.
> Взять к примеру тебя.Ан нет, вру. Оказывается, я злостный проприетарщик:
vrms
Non-free packages installed on deb64amd64-microcode Processor microcode firmware for AMD CPUs
astromenace-data-src data files for AstroMenace game
doom-wad-shareware Shareware game files for the 3D game Doom
firmware-linux Binary firmware for various drivers in the Linux kerne
firmware-linux-nonfree Binary firmware for various drivers in the Linux kerne
firmware-realtek Binary firmware for Realtek wired and wireless network
intel-microcode Processor microcode firmware for Intel CPUs
p7zip-rar non-free rar module for p7zip
redeclipse-data data for the Red Eclipse FPS game
unrar Unarchiver for .rar files (non-free version) - binary
virtualbox-guest-additions-iso guest additions iso image for VirtualBoxContrib packages installed on deb64
astromenace hardcore 3D space shooter with spaceship upgrade possi
chocolate-doom Doom engine closely-compatible with vanilla doom
flashplugin-nonfree Adobe Flash Player - browser plugin
iucode-tool Intel processor microcode tool
redeclipse multiplayer FPS game based on Cube2
virtualbox x86 virtualization solution - base binaries
virtualbox-dkms x86 virtualization solution - kernel module sources fo
virtualbox-qt x86 virtualization solution - Qt based user interface11 non-free packages, 0.5% of 2283 installed packages.
8 contrib packages, 0.4% of 2283 installed packages.
> Вот поэтому opensource-сообщество и такое узколобое, и развивается на 1% от всего потенциала.Ну точно. Если домохозяйки и зубоврачебные техники начнут писать пакетные менеджеры - тут-то и будет все счастье, и 146% на десктопах.
> Ну точно. Если домохозяйки и зубоврачебные техники начнут писать пакетные менеджеры -
> тут-то и будет все счастье, и 146% на десктопах.Будет. Только без вас. Для вас все развлечения обычных людей, которые вы не понимаете - мимо кассы проходят. :)
> Ruby - хороший язык. Но для пакетного менеджера, который нужен и домохозяйке,
> и зубному технику, лучше выбрать python.А потом это нечто, писаное зубными техниками и домохозяйками не может заапгрейдить мне систему. Б-ть, торжественно обещаю залечить зубы зубному технику и сварить борщ домохозяйке. Пусть выкусят насколько хреново когда кто-то подписывается делать чужую работу, совершенно не разбираясь в вопросе.
>> Ruby - хороший язык. Но для пакетного менеджера, который нужен и домохозяйке,
>> и зубному технику, лучше выбрать python.
> А потом это нечто, писаное зубными техниками и домохозяйками не может заапгрейдить
> мне систему. Б-ть, торжественно обещаю залечить зубы зубному технику и сварить
> борщ домохозяйке. Пусть выкусят насколько хреново когда кто-то подписывается делать чужую
> работу, совершенно не разбираясь в вопросе.Так у нас вся страна так, начиная с министров, курсирующих с министерства в министерство, заканчивая программистами, 90% которых вообще не программисты, а то и не ИТ-шники даже
> Так у нас вся страна так, начиная с министров, курсирующих с министерства
> в министерство, заканчивая программистами, 90% которых вообще не программисты, а то
> и не ИТ-шники дажеЗато на opennet-е все всё знают, все всех разоблачают, и никто никогда не ошибается. И куда все эти люди завели opennet?
А если WebYast _уже_ на руби?
Обьясню, для тех кто не работал с openSuse.
yast - утилита настройки системы с графическим/или консольным универсальным интефейсом одновременно. Интерфейс пишется один раз и работает как в режиме графики с иконками ;) так и в консоле, аля MC.
Ещё бы блин на яваскрипте переписали.
Да что уж там, писали бы на баше сразу)
можно погуглить про инсталлятор во фрибсд
так что про баш не в тему
> можно погуглить про инсталлятор во фрибсдА что, они его таки переписали на JS? :)
а что пост 3.67 написан под 1.47 или таки под 2.49 ?
Да неуместное остроумие, на фоне запускания ядра Линукс и Нетки в JS... совсем неуместно.
> можно погуглить про инсталлятор во фрибсд
> так что про баш не в темуНадо, чтобы реализация как во фрибсд, а вид как у убунтовского инсталлятора (все в радугах и хай-рез спецэффектах).
ага, темы про радугу как раз актуальны в инете, Вы не из этих? если предлагаете ...
> ага, темы про радугу как раз актуальны в инете, Вы не из
> этих? если предлагаете …он-то как раз не из «этих». а вот если у тебя при слове «радуга» первым делом возникают мысли вовсе не о красивом оптическом эффекте в небе, то ты как раз личность оч-чень подозрительная.
<SARCASM>Вы б еще на японском комментарий написали. Тоже мне придуммка! Писать на русском языке в компьютерном обсуждении.</SARCASM>
Спосибо что не на Lisp или не на ASM
> Спосибо что не на Lisp или не на ASMСпасибо что живой
На Lisp (точнее, на схеме) написан конфигуратор в altlinux.
Сначала специфичный язык, теперь руби, мало что изменили. Хотя может у них руби более популярен чем тот же C/C++
Как программист использующий и С++ и руби, читал холивары в коментах с усмешкой умудренного опытом человека, так то
> Как программист использующий и С++ и руби, читал холивары в коментах с
> усмешкой умудренного опытом человека, так тосебя не похвалишь - как ...
>> Как программист использующий и С++ и руби, читал холивары в коментах с
>> усмешкой умудренного опытом человека, так то
> себя не похвалишь - как ...Та ладно, то что у тебя батхерт - это не повод не учить плюсы и руби
Не проецируй, умудрённый опытом.
> Не проецируй, умудрённый опытом.Если я буду проецировать на тебя ты банально сгоришь
p 'fuckthemall aeouy yeah'.gsub(/\s/, '').scan(/#{['a', 'e', 'i', 'o', 'u', 'y']}/)=)
или
p 'fuckthemall aeouy yeah'.split('').select { |e| ['a', 'e', 'i', 'o', 'u', 'y'].index(e) }
Разуй глаза и прочитай условие "Пример: найти гласные буквы (латинские), которые встречаются во всех словах".
-> во всех словах <-
делов-тоp %w'fuckthemall aeouy yeah'.map { |word| word.scan(/#{['a', 'e', 'i', 'o', 'u', 'y']}/) }
Ахаха!Ты криворукий!
1.9.3p362 :003 > %w'fuckthemall aeouy yeah'.map { |word| word.scan(/#{['a', 'e', 'i', 'o', 'u', 'y']}/) }
=> [["u", "e", "a"], ["a", "e", "o", "u", "y"], ["y", "e", "a"]]
ежики плакали и кололись
java не осилили
А ты осилил, то? Расскажи про свой дистрибутив с конфигуратором на жабке
Android
Лолчто!? Ты хоть в теме-то?
> Лолчто!? Ты хоть в теме-то?Вполне.
>> Лолчто!? Ты хоть в теме-то?
> Вполне.А теперь расскажи мне как этот конфигуратор использовать устанавливая дистрибутив на андроид, ггг
OpenSuse как дистр умер на релизе 11.3 (кажись).
В общем как Новел забил на него так он и ушел подоткос.
Все последующие реллизы с каждым выпуском привносят все большее разочарование.
Теперь и до "Святого" добрались.
Вместо конфигуратора получим еще 1гиг шлакокода который возможно через год-два-три
будет "почти" так же хорош как и яст 2007-го года.
Правильным путем идут, ничего не скажешь.(на стареньком буке самсунь Р30 до сих пор стоит 11.1 и пашет как ПапаКарло. Пробовал ставить более свежие версии 12. - гавно в большинстве случаев не заводилось а если поплясать то как то стартует но половина дэвайсов всеравно не работает)
(извините, буду резок)блн.... сколько ни смотрю на сузе - он все куда-до в УГ скатывается...
сначала выпилили конфигуратор видео... (простите, но мне как человеку, наполовину представляющему "бизнес-потребности" - увы, хочется видеть решение вида вот вам _одна_ панель, которая сама показывает своим видом что в ней можно настроить, и в ней действительно можно _было_ все что нуджно настроить через гуй.) И именно этим сузя была прекрасна среди других дистров. Удобство и прелесть панели управления венды, где все в одном месте в 2 клика, с возможностью гибкой настройки линуха в конфигах, для тех кому не лень...Соглашусь с оратором написавшим про смерть сузе как дистра на 11-й версии...
чем дальше - тем больше косяков какого-то самостоятельного, неожиданного для меня поведения... и постепенного накопления глюков...
взять 12.2... в какой-то момент, она решила убрать у меня из кде-старта кнопку "режим ожидания" в меню питание... фак-н-шит, я даже не знаю куда смотреть что бы она там появилась, и простите. искать дольше, чем поставить "ср****бубунту"(о, здравствуй, "стим"!).Теперь они то лучшее что было в сузе, переписывают на руби...
Не, ну я конечно полностью согласен, что стоит переписать YAST на чем-то другом, не на YCP,... но руби?!
вроде как ястр на питоне переписывали? (не смотря на то что это ещё один отмороженный язык, не смотря на тошнотворную мерзость в работе с синтаксисом с невидимыми символами, я признаю его сильные стороны как скриптового ООП)...
но РУБИ?! где они вообще нашли много людей знающих руби...что? все любители руби в опенсузе собрались?!блин... давайте потом поставим руби на рельсы и запустим весь сузе под откос.
йаст на рельсах... омайнефрау))))
очень здравая идея переписать на рельсу 4
webyast уже на рельсах.Да и с каких это пор проблемы найти руби-программистов?
Впрочем, учитывая всё выше написанное, можно отметить только то, что питон и руби по синтаксису и возможностям в общем-то мало различаются за исключением того, что питон - более программистский, а руби - более человеческий.
Был бы qbasic - я бы помог в разработке.
> Был бы qbasic - я бы помог в разработке.учи python
тот же бейсик, только смешнее