[perl vs .net] кто более кроссплатформенный? [re: [Ajax] litportal.ru]
Короче, я не понял наезда.
Спаси людей от покупки висты, выложи свой вариант.
Короче, я не понял наезда.Это не наезд, это ирония.
Не понимаю зачем дотнет, если можно написать скрипт на перле, например, простой и понятный
Вот думаю — купить себе Висту что ль? Коль пошла такая пьянка...Брось каку! Брось!
Лучше б и в самом деле platform-indep-решение выложил.
Не понимаю зачем дотнет, если можно написать скрипт на перле, например, простой и понятныйи какая будет разница? И для перла, и для .net надо ставить runtime.
Причем, если учитывать, что большинство пользователей не умеет работать с командной строкой, предоставленный gui делает им программу доступной для использования.
Лучше б и в самом деле platform-indep-решение выложил.Прога без проблем запускается на Linux + Mono
ЖЖОШЬ! Сколько оперативы надо для запуска?Ну уж явно меньше, чем берут обычно при покупке любого современного компа.
Прога без проблем запускается на Linux + MonoУ меня ни Явы, ни Моно. Пока не понадобились...
перл ставить не надо, он всегда в системе есть. то что его нет в стандартной поставке винды — минус винде, она "не такая как все".
просто в винде лишь малая доля пользователей представляет собой программеров, и среди них большинство не считают нужным наркоманить с перлом. Извините за оффтоп.
Прога без проблем запускается на Linux + MonoНу, и где проблема? Понадобится, установишь. Нет?
У меня ни Явы, ни Моно. Пока не понадобились...
Это не оффтоп, это глупость. По твоей логике, большинству пользователей в компьютере не нужен процессор, потому что очень немногие пишут на ассемблере, а напрямую в машинном коде - и того меньше.
Я ни разу не сталкивался с практической задачей (и даже не слышал о ней которая бы решалось в перле и не решалась как-нибудь иначе. Я вполне допускаю, что такие задачи есть, но для столь редкого случая нуждающийся вполне может скачать перл. В конце концов, в винде (и в линуксах тоже) по умолчанию отсутствует масса более полезных вещей. Никто ведь не обвиняет солярис в отсутствии возможности импортировать виндовый реестр или еще какой-нибудь нафиг ему не нужной фигни.
Ты даже не пытаешься понять, о чем я говорю. Я к такому привык.
в винде не нужен перл, потому что задачи, где бы он требовался, встречаются редко. Да, я не понял твоей метафоры касательно проца, но если метафора была в тему, она ложна. Миллионы людей десятки лет пользуются виндой, ругаются на ненадежность, нестабильность, большой объем, отсутствие кодеков, слабый шелл, нехватку настроек, отсутствие вгета, седа, слипа и кучи других полезных вещей, но никому кроме Пианиста, ни хрена в винде не разбирающемуся и, судя по его постам, последний раз сталкивавшемуся с 95ой версией, отсуствие перла по умолчанию не показалось недостатком.
никому кроме Пианиста... отсуствие перла по умолчанию не показалось недостатком.И за человека ты меня тоже не считаешь...
в винде не нужен перл, потому что задачи, где бы он требовался, встречаются редко.
Ну да, в винде большинство задач решаются в Аутлуке.
Миллионы людей десятки лет пользуются виндой, ругаются на ненадежность, нестабильность, большой объем, отсутствие кодеков, слабый шелл, нехватку настроек, отсутствие вгета, седа, слипа и кучи других полезных вещей, но никому кроме Пианиста, ни хрена в винде не разбирающемуся и, судя по его постам, последний раз сталкивавшемуся с 95ой версией, отсуствие перла по умолчанию не показалось недостатком.
Отсутствие шэлла — это вообще пиздец. Объясни мне, как в винде по телефону быстро объяснить человеку как поднять сеть? В любой юникс-системе ты говоришь от рута запустить команду которую диктуешь, типа ifconfig ... В винде же ты начинаешь расспрашивать про венрсию винды, про установленные сервиспаки и прочую муть, и потом ты врубаешься, что нужный комббокс оказывается в совершенно другой вкладке.
Сейчас же немного насмешила картина простого шэлл-скрита, вызывающего wget с 5 параметрами и awk. К черту перл, выдирать страницы из говнолибпортала можно на шэле. Скрипт с простым синтаксисом. Решение на дотнете мне кажется излишне сложным и тяжелым.
#!/bin/sh
wget ...
cat ... | awk ... | iconv -f cp1251 -t utf-8
В случае венды с дотнетом — это зип файл, который к тому же надо проверить на вирусы.
#!/bin/sh wget ... cat ... | awk ... | iconv -f cp1251 -t utf-8вгет умеет в stdout выводить
тогда уж можно s/wget/curl/
И не лезьте в те ОС, которые созданы для людей, которым на@@й не надо разбираться в том, как всю эту ху@@@нь настроить, запоминать какие-то команды, читать горы мануалов и прочее, прочее...
Люди, они знаешь-ли разные. И устраивать тут обсирание всяких осей вещь неблагодарная, нудная и совершенно тупая.
«ИТ-отрасль развивается очень стремительно, полученные знания и навыки быстро устаревают.»
http://www.joelonsoftware.com/articles/APIWar.html
хотя я не знаю, как там сейчас дела обстоят, да и ничего против не имею. кому нравится — пусть пользуется.
это ж не шутки все: хотя я не знаю, как там сейчас дела обстоят, да и ничего против не имею. кому нравится — пусть пользуется.
Пианист, для таких людей, как ты, существует линуксы и юниксы. Тебе и тебе подобным они нравятся, вас от них прет и вы всем (почти) в них довольны.Знаешь, именно с этим утверждением я не согласен. Не нравится мне ничего, и уж тем более меня не прет от написания скриптов. Беда в том, что в жизни и в работе я сталкиваюсь с задачами и минизадачами. Я ленив, до жути, особенно когда речь идет о повторении определенной операции более чем 5 раз.
Решая ту или иную задачу, часто сталкиваешься с однотипными действиями. В решении этих мелких задач важно иметь некий набор кирпичиков, чтобы быстро на лету собирать нужный мне функционал за 1 минуту. Я не знаю ничего проще скриптов на шэлле, потому что они просты, наглядны, используют минимум знаний и легко без перекомпиляции делают то, что мне надо.
Красин написал прогу. Отлично, но что делать с этим бинарем если пидорамы изменили что-то и текст на выходе стал замусорен? Писать автору? Или изучать исходники на дотнете? А если мне надо дофичить эту простую программу? Бачан уже тут написал про АПИ, которое меняется от фреймворка к фреймворку.
Мне проще иметь 10 команд и утилит утилит. Документация по ним не сложна, но выучив это я становлюсь способен быстро и четко сделать любую фигню.
Это 10 утилит по сути такие программы как программа Красина, вот только они выстраданы временем, и мне уже не надо будет лезть в их код. Мне достаточно знать их и уметь применять.
Например, на работе очень похожая задача решается мной именно коротеньким скриптом для bash. Здесь же ставилась цель упростить использование теми, кто вообще не знает, как программировать. Пусть даже в ущерб простоте изменения другими.
Цели определяют средства, и это нормально. Большую часть треда ты пытаешься убедить в том, что взяты негодные средства. Нет, просто взята цель, отличная от твоей.
Мне убить себя ап стену и не скачивать книги с литпортала? Читать их с экрана в их тупом форматировании? Или бежать изучать скрипты, чтобы это сделать?
Человек написал прогу, которую я могу использовать. Спасибо ему за это. Скрипт, написанный тобой я использовать бы не смог.
Здесь же ставилась цель упростить использование теми, кто вообще не знает, как программировать.У меня на домашнем компьютере некоторое время был цигвин со всеми ништяками, но не было дотнетфрамоворка.
Кстати, "те, кто не знает, как программировать" /= "те, кто сидит под виндой".
если ты подскажешь, как сообщение связано с , я буду счастлив.
Например, на работе очень похожая задача решается мной именно коротеньким скриптом для bash. Здесь же ставилась цель упростить использование теми, кто вообще не знает, как программировать.
скрипт легко делается под себя, но тяжело распространяется.
но тяжело распространяется.Дотнетная программа в зип-архиве, конечно, распространяется не в пример проще.
скрипт легко делается под себя, но тяжело распространяется.скрипт вообще копипастится.
Или тебе нужно чтобы в меню СТАРТ появилась программа?
Дотнетная программа в зип-архиве, конечно, распространяется не в пример проще.Распространение - это не только копирование. Это копирование+настройка+обучение пользователя
Для того, чтобы моя знакомая девушка с филфака смогла запустить мою прогу, мне надо ей прислать по почте .zip файл, сказать "разархивируй и запусти".
моя знакомая девушка с филфакаfeel&fuck
скрипт тоже говоришь — скачай и запусти. разница?
ЗЫ: Да! Устанавливать Перл надо, а дотнет — он ведь в Висте есть! Ура! Я угадал?
да, Виста. Ей очень удобно.
Дотнетная программа в зип-архиве, конечно, распространяется не в пример проще.Основная проблема в распространение- это чтобы программа все-таки смогла запуститься у пользователя в том окружении которое у него есть, с минимумом телодвижения от самого пользователя.
зы
кстати в скриптах жопа с обработкой ошибок, что видно на том же примере предполагаемой рыбы на скрипте.
Устанавливать Перл надоа также устанавливать и настраивать полное nix окружение (wget, iconv и т.д.)
в скриптах жопа с обработкой ошибокДа, жопа - но она только для тех, кто не знает `$?' и конструкций типа [ -z "$somevar" ] && do_ok || do_error
Короче если не умеешь писать скрипты на шеле - лучше по поводу него не высказывайся. Если используемые в скрипте утилиты адекватно отдают статус ошибки (а большинство это делают корректно то проблем с их отработкой не возникает.
Да, я тут принял скрипт=sh, если скрипт=perl, то ничего не меняется. Синтаксис разве что чуть-чуть.
ЗОМГ! Я пытался тебе намекнуть, что потом еще около пяти часов уйдет на объяснение знакомой девушке с филфака, что такое дотнет, зачем он нужен, почему без него нельзя и откуда его взять, а затем придется прийти поставить... Но ты не видел моих намеков.
Основная проблема в распространение- это чтобы программа все-таки смогла запуститься у пользователя в том окружении которое у него есть, с минимумом телодвижения от самого пользователя.
У меня на домашнем компьютере некоторое время был цигвин со всеми ништяками, но не было дотнетфрамоворка.
Не придется. Максимум - дам ссылку на инсталлятор .net, она скачает, установит (нажав несколько раз на Next, Next, Finish) и будет качать книги.
Ден, скажи плз. Ты кем работаешь?
что такое дотнетЭто штука, которая нужна для запуска этой проги
зачем он нуженсм выше
почему без него нельзяпотому что.
откуда его взятьтут прямая ссылка .NET Framework @ download.microsoft.com
затем придется прийти поставить...Скачай, запусти, прокликай next и будет тебе щастье.
Я ничего не пропустил? Впрочем, далеко не факт что у этой самой занакомой .NET ещё не стоит - он уже дофига где нужен и вроде бы распространяется через MS update в добровольно-принудительном порядке.
Это, конечно, сильно быстрее и проще, чем: "В меню "Пуск" выбери "Запустить...", там набери cmd.exe и нажми Enter, а в открывшемся окне набери perl script.pl ".
А вы с какой целью интересуетесь? (c)
Как вы думаете, почему большинство пользователей до сих пор не знает, что такое переносимые решения, и не имеет понятия о международных стандартах?
а в открывшемся окне набери perl script.pl1. script.pl в какой директории надо было сохранять?
2. выдало
'perl' is not recognized as an internal or external command,
operable program or batch file.
что делать дальше?
что делать дальше?Что делать, когда у меня .Net Framework нет? Правильно, сухари сушить.
перловость программы теперь автоматически считается переносимым решением и удовлетворяет международным стандартам?
вопрос, то серьезный, что дальше делать, если нет perl?
с .net более-менее понятно: даешь ссылку на дистр и дальше вопросов не возникает.
почему большинство пользователей до сих пор не знает, что такое переносимые решения, и не имеет понятия о международных стандартах?потому же, почему сейчас "средний пользователь ПК" - что-то вроде бухгалтера-менеджера, который понятия не имеет о том, как всё это работает - он тупо ходит по сайтам в Ынтырнете и делает отчетики в 1C. Будешь смеяться, я знаю человека, который зовет помошника сис админа для того, чтобы отключить сетевой диск. Хотя этот человек знает где нужно тыкнуть.
с .net более-менее понятно: даешь ссылку на дистр и дальше вопросов не возникает.Собственно, да. В случае с перлом все гораздо сложнее, на этом этапе, скорее всего, придется отказаться от идеи, поскольку перла для винды не существует, а если существует, то его не установить, а если установить, то незачем...
с .net более-менее понятно: даешь ссылку на дистр и дальше вопросов не возникает.А чем это сложнее/проще дать прямую ссылку на дистрибутив perl'а?
так дай
а также ссылку на wget, cat и awk.
поскольку перла для винды не существует, а если существует, то его не установить, а если установить, то незачем...могу дать прямую ссылку на сайт http://activestate.com, откуда его можно скачать и установить так же, даблклик, некст, некст, доне.
Нет, разумеется... почти. Программа на перле должна исполняться одинаково на любых двух платформах, где есть интерпретатор соответствующей версии. Дальше мне говорить, или ты все-таки лишь съехидничал?
А вы с какой целью интересуетесь? (c)этот тред четко показал, что мы друг друг понимаем с трудом. Обычно, это означает, что люди занимаются совсем разными вещами и смотрят на мир из сильно разных песочниц. Мне стало вдруг интересно, из какой песочницы смотришь ты. Моя песочница - это, наверное, песочница прикладного программиста (того самого, кто для конечных пользователей пишет, для девочек с филфака и мальчиков с эконома)
кстати интересно посмотреть на скрипт с обработкой ошибок, а то я действительно может что-то не понимаю и в скриптах обработка ошибок делается элементарно.
ДаркГрею дай. А то его сей вопрос занимает.
могу дать прямую ссылку на сайт http://activestate.com, откуда его можно скачать и установить так же, даблклик, некст, некст, доне.установил. Ввел, что надо (perl script.pl). Выдает непонятные буквы, книжку скачать не предлагает. Что делать дальше?
Программа на перле должна исполняться одинаково на любых двух платформах, где есть интерпретатор соответствующей версии. Дальше мне говорить, или ты все-таки лишь съехидничал?а к .net-у эта фраза почему не относится?
кстати интересно посмотреть на скрипт с обработкой ошибок, а то я действительно может что-то не понимаю и в скриптах обработка ошибок делается элементарно.ну, не очень сложно, если использовать bash, например.
На прошлой неделе получилось даже транзакционность (или нечто очень близкое к ней) прикрутить к своим скриптам.
Моя песочница - это, наверное, песочница прикладного программистаЯ вообще не программист. Непонятно, что я в этом разделе делаю.
Я уже пенартуритом тут заболел, блин.
Самое смешное, что на почве отрицания .Net как платформы для решения (вот на единственном мне доступном компьютере с инетом стоит линукс) и пропаганды более распространенных (вплоть до мультиплатформенности) вещей.
у меня нет шансов. самбади, килл ми плиз (c)
Перестанет относиться, если в нужном месте приписать: "... и даже (о ужас!) не виндовых..."
а более-менее приличный пример на котором это видно привести можешь?
Если честно, я подобных фраз не понимал, еще когда десять лет назад мне говорили, что переносимый формат документа - это такой, который дает одинаковые результаты на любых двух платформах, где есть акробат. Все было бы понятным, если б не два но:
1) документ-таки нередко отображается на разных платформах по-разному;
2) в общих чертах и непереносимые документы отображаются одинаково.
Применительно к данному случаю, почему ты считаешь, что программа Красина будет исполняться на разных платформах под одним интерпретатором (ну, библиотекой - для пользователя один фиг) по-разному?
.net вроде не виндовый, дальше что?
Выдает непонятные буквы, книжку скачать не предлагает. Что делать дальше?Выдай ему какие-нибудь буквы в ответ. Книжку, скорее всего, не скачает, но хоть будет справедливо.
И не от M$.
почему ты считаешь, что программа Красина будет исполняться на разных платформах под одним интерпретатором (ну, библиотекой - для пользователя один фиг) по-разному?Я этого не считаю. Я считаю, что множество компьютеров, где она вообще будет исполняться, меньше множества тех, на которых будет исполняться виндовый скрипт.
всё остальноемне надо поставить все пункты? 100 раз нажав download/setup? издеваешься?
пункта cat я не увидел...
Самое смешное, что на почве отрицания .Net как платформы для решения (вот на единственном мне доступном компьютере с инетом стоит линукс)Ден, .Net кроссплатформенный. http://www.go-mono.com/mono-downloads/download.html
Ты через 5 минут после скачивания уже сможешь (хотя бы для примера) запустить мою прогу.
И открытых.MONO вроде открытое и не MS. что дальше?
И не от M$.
кстати интересно посмотреть на скрипт с обработкой ошибок
perlЯ щелкнул по твоей ссылке. Ты издеваешься? Девочка это точно не осилит, ну вот зуб дам. Она даже пробовать не будет.
всё остальное
Ты на дотнете написал из-за девушки с филфака или потому что под руку попалось?
Выдай ему какие-нибудь буквы в ответ. Книжку, скорее всего, не скачает, но хоть будет справедливо.Спасибо, твоя программа на моей компе не работает
Но не открытый ведь?Открытый. mono - это GNU.
и даже ISO стандарт есть.
Ты на дотнете написал из-за девушки с филфака или потому что под руку попалось?сначала я написал скрипт на руби
мне надо поставить все пункты? 100 раз нажав download/setup? издеваешься?пункта cat я не увидел...ты из себя строишь ту самую девочку с филфака?
у тебя хорошо получается. Если очень сильно постараться, то на этом же сайте можно найти вот это: web-страница
cat не нужен, он в винде и так есть: print /?
посмотрихотелось увидеть чуть больше, где активно идет работа с перенаправлением ввода вывода, как приводилось здесь в примере.
а более-менее приличный пример на котором это видно привести можешь?могу, пришлю в приват, т.к. писать специально для форума лень, а код с работы выкладывать в открытый доступ не хочу
It is an open source implementation of Microsoft's .Net Framework based on the ECMA standards for C# and the Common Language Runtime.Ах вот как. Я давно не следил за новостями.
где активно идет работа с перенаправлением ввода выводаhttp://www.cygwin.com/setup.exe
Если говорить о скртиптах и задаче отработки ошибок, то это наложит свои ограничения на использование перенаправления потоков.
Т.е. скрипт о котором тут изначально зашла речь, по-хорошему, должен использовать временный файл (или переменную) для хранения необходимых данных.
Перенаправление самом по себе аналогично вызову вложенных функций.
ты из себя строишь ту самую девочку с филфака?скачал, начал устанавливать
у тебя хорошо получается. Если очень сильно постараться, то на этом же сайте можно найти вот это: web-страница
1. Путь по умолчанию C:\Program Files (x86)\Mozilla Firefox 3 Beta 2 — это хорошо? На этом месте девочка огребет проблем, которые очень тяжело диагностируются
2. cat, grep, awk - ничего из этого в PATH не появилось. Значит, наш скрипт на перле грохнулся с ошибкой которая тяжело диагностируется — "не найдена команда grep"
Что делать дальше?
Ах вот как. Я давно не следил за новостями.Стандарт вышел в далеком 2002 году, почти одновременно с основным дотнетом (тогда это был драфт).
В том-то и дело, что .net ровно так же хорош, как и perl, кроме того, что для большинства пользователей ничего устанавливать не надо совсем и, в силу простоты написания gui, программой смогут воспользоваться гораздо больше людей (командную строку не осилят 3 из 4 пользователей компьютера)
Если очень сильно постараться, то на этом же сайте можно найти вот это: web-страницаинструкции же не было что cat находится именно в этом файле, а не в каком-то другом
но пока кол-во ссылок превысило то кол-во на которое я готов был пойти, чтобы попробовать запустить перловое решение
Перенаправление самом по себе аналогично вызову вложенных функций.так вроде выясняется, что если нам нужна обработка ошибок, то не аналогично...
т.к. приходится создавать временные файлы, потом их чистить, работа через файлы отрицательно сказывается на производительности, и вместо естественного последовательного вызова набора функций, приходится городить громоздкий код.
ps
кстати очень хочется посмотреть, не просто обработку ошибок, но обработку ошибок с восстановлением после сбоя.
Если кто ещё не понял, то я считаю, что перлу на компе девочки-филолога делать не чему. wget-у тоже.
если нам нужна обработка ошибок, то не аналогично...она совершенно аналогична, причинно-следственная связь такая же.
покажешь мне код, где будет отработана ошибка вложенного вызова функций?
приходится создавать временные файлы, потом их чистить, работа через файлы отрицательно сказывается на производительностииспользуй переменные, раз тебе нужны лишние 10ms бонуса для скрипта который сам по себе быстрее чем за 10 сек не отработает.
вместо естественного последовательного вызова набора функций, приходится городить громоздкий кодпокажи мне естественный последовательный... на любом другом языке. вообще ты похоже действительно не умеешь писать под sh, если конструкции отработки ошибок в нем тебя пугают, а какие-нить try...catch - нет.
не просто обработку ошибок, но обработку ошибок с восстановлением после сбоя.в привате как раз такой cron script. Ну, вернее часть его. Там есть несколько стадий, если упала одна, остальные ждут, пока она перезапустится и отработает правильно.
Хотя, это все равно было геморройно делать и обработка ошибок достаточно на высоком уровне, контролировать детали не получается.
покажешь мне код, где будет отработана ошибка вложенного вызова функций?
public string GetPageText(string url)
{
return FlowHlp.Try(3, => HttpHlp.GetStringByUrl(url, HttpHlp.ParseCookie(this.Cookie, this.Site;
}
В том-то и дело, что .net ровно так же хорош, как и perl, кроме того, что для большинства пользователей ничего устанавливать не надо совсем и, в силу простоты написания gui, программой смогут воспользоваться гораздо больше людей (командную строку не осилят 3 из 4 пользователей компьютера)Проблема в том, что надо пропагандировать тру-средства.
А вообще, все неправы. На самом деле надо написать кроссплатформенный плагин к фаерфоксу и выложить. Девочка с филфака асилит.
Проблема в том, что надо пропагандировать тру-средства.решай эту проблему, мы посмотрим
На самом деле надо написать кроссплатформенный плагин к фаерфоксу и выложить. Девочка с филфака асилит.Вот это уже вариант, на самом деле.
PS. пеонизд - мудак
Любой системный администратор в офисе выебал бы девочку за закачку зипов с экзотическими дотнет-программами. И был бы прав, потому что очень часто такие дотнет-программы типа "закачай бесплатно" приводят именно к этому.
В качестве тру-решений: написать поделие на своем хоумпейдже, твоя девочка зайдет на страничку, введет урл и получит текст. Ни ей что ставить надо, ни проблем с её офисным админом.
Короче, моё ИМХО:
Плюсы твоей проги на дотнете:
1) девочка оценит "программу для взлома защиты сайта", а если там будет рисунок с
Минусы
1) Это решение не универсально. Пацаны поинтересуются причинами выбора дотнета.
В качестве тру-решений: написать поделие на своем хоумпейдже, твоя девочка зайдет на страничку, введет урл и получит текст. Ни ей что ставить надо, ни проблем с её офисным админом.с законом проблем может быть больше.
и конечно, админ совсем не поинтересуется фактом установки скриптового движка
В качестве тру-решений: написать поделие на своем хоумпейдже, твоя девочка зайдет на страничку, введет урл и получит текст. Ни ей что ставить надо, ни проблем с её офисным админом."снаружи" модифицировать решение или посмотреть идею решения будет сложно - противоречит концепцию open source.
ps
.net-ное решение даже при наличии только exe-шника позволяет посмотреть идею программы.
при наличии напильника и такой-то матери можно даже более-менее кошерно модифировать исходный код имея только exe-шник
Проблема в том, что надо пропагандировать тру-средства.Вот, ты показал свою истинную пропагандонскую сущность. Тебе не кажется, что было бы честнее с этого начинать, "командная строка и GNU — труёвые", а уже потом говорить, что они не намного менее удобные (хотя, как тут выяснилось, намного чем альтернативы?
2Даркгрей: напильника и матери не понадобится, Reflector восхитительно работает. Я уж не говорю о том, что никаких проблем приложить сорцы (прям вместе с .sln и .proj после чего набрать в командной строке "msbuild zzz.proj" в общем-то нет (почему-то люди дико удивляются когда узнают, что и csc, и msbuild входят в редист дотнета, причём таки прописываются в path). Особенно если этим будет заниматься не сама девочка, а её админ — девочка же не будет читать сурцы? И, кстати, админу, читающему шарповые сурцы, будет гораздо легче отловить наёбку, чем в случае перловых.
вместо естественного последовательного вызова набора функций, приходится городить громоздкий код.гыг, императивный говнокод назвали естественным. Вот станешь ты человекоподбным роботом, тогда он и будет "естественным", а сейчас, извини
Любой системный администратор в офисе выебал бы девочку за закачку зипов с экзотическими дотнет-программами. И был бы правкриворукому админу, неспособному настроить runtime security policies для нетовых сборок, офисных девочек э... любить не полагается, ибо не дорос ещё
2Даркгрей: напильника и матери не понадобится, Reflector восхитительно работает.На самом деле не всегда он восхитительно работает, иногда проекты после экспорта не собираются (во всяком случае у меня был случай, когда какой-то из идентификаторов требовал простановки @, может уже пофиксили это). Плюс, некоторые умники пользуются обфускаторами (слава богу, сама MS до этого не опускается).
почему-то люди дико удивляются когда узнают, что и csc, и msbuild входят в редист дотнета, причём таки прописываются в pathЯ, как девочка с филфака, не понял, о каком это редисте ты говоришь, но в висте их в path нет, наверное, надо всё-таки что-то ставить?
Вот станешь ты человекоподбным роботом, тогда он и будет "естественным", а сейчас, извиниА перл/шелл, по-твоему - естественны?
А перл/шелл, по-твоему - естественны?пёрл и шелл вообще говно
P.S. Про филдевочек и экомальчиков мне неинтересно. Я только про сравнение кросплатформенности.
Gtk#, на том же сайте. Да и с WinForms там уже намного лучше, чем два года назад (ты когда последний раз читал?)
Я, кстати, к чему. Я про то, что моно, имхо, постоянно будет страшно отставать от обычного дотнета. И почему-то мне кажется, что мелкомягких это устраивает. А значит, труЪ кросплатформенности дотнета через моно не будет никогда.
>ты когда последний раз читал?
Только что.
Я вот не пойму, нахуй этот винформс сдался под линуксом. Сейчас в линуксе относительное, по сравнению с вендой, однообразие: есть gtk, есть qt, они практически дублируют друг друга, и из-за этого приложения в большинстве работают по одинаковым принципам. А в венде одно приложение имеет один скин наляпанный 18-летним дезигнером, другое - уже 17-летним. Потом они ещё работают по-разному, у одного приложения настройки в одном месте, у другого - в другом и пр. Пусть эта хуетень лучше в венде остаётся - порождает новых "опытных пользователей виндоус".
Ты это к чему? Я вообще-то про другое, если ты не заметил...
Это я к тому, что не надо поддержки формс. И цешарп не нужен.
Дойду до работы, отпишусь о результатах.
А еще - ты какой-то злой сегодня. Неконструктивно злой.
$ mono -V
Mono JIT compiler version 1.2.4 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
TLS: __thread
GC: Included Boehm (with typed GC)
SIGSEGV: altstack
Architecture: x86
Disabled: none
[/code]
[code] $ mono BookScraper.exe
** (BookScraper.exe:2004): WARNING **: The following assembly referenced from /home/master/Desktop/BookScraper.exe could not be loaded:
Assembly: System.Windows.Forms (assemblyref_index=0)
Version: 2.0.0.0
Public Key: b77a5c561934e089
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/home/master/Desktop/).
** (BookScraper.exe:2004): WARNING **: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
** (BookScraper.exe:2004): WARNING **: Missing method EnableVisualStyles in assembly /home/master/Desktop/BookScraper.exe, type System.Windows.Forms.Application
Stacktrace:
Native stacktrace:
mono [0x8194ca6]
mono [0x81770ed]
[0xffffe440]
mono(mono_object_new+0x18) [0x80b596a]
mono(mono_exception_from_name_two_strings+0x44) [0x80f0a45]
mono(mono_get_exception_file_not_found2+0x4f) [0x80f0b9c]
mono [0x810f9a7]
mono [0x811a390]
mono(mono_class_vtable+0x181) [0x80b29b3]
mono(mono_object_new+0x18) [0x80b596a]
mono(mono_exception_from_name_two_strings+0x44) [0x80f0a45]
mono(mono_get_exception_file_not_found2+0x4f) [0x80f0b9c]
mono [0x810f9a7]
mono [0x8176370]
mono [0x817699e]
mono [0x8176a98]
mono [0x8176f2d]
mono(mono_runtime_invoke+0x27) [0x80b0b2f]
mono(mono_runtime_exec_main+0x142) [0x80b5383]
mono(mono_runtime_run_main+0x27e) [0x80b5631]
mono(mono_jit_exec+0xbd) [0x805a4cb]
mono [0x805a5a8]
mono(mono_main+0x1683) [0x805bdc9]
mono [0x8059636]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0) [0xb7cf3050]
mono [0x80595b1]
Debug info from gdb:
(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1211255088 (LWP 2004)]
[New Thread -1220871280 (LWP 2006)]
[New Thread -1215100016 (LWP 2005)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
0xffffe410 in __kernel_vsyscall
3 Thread -1215100016 (LWP 2005) 0xffffe410 in __kernel_vsyscall
2 Thread -1220871280 (LWP 2006) 0xffffe410 in __kernel_vsyscall
1 Thread -1211255088 (LWP 2004) 0xffffe410 in __kernel_vsyscall
Thread 3 (Thread -1215100016 (LWP 2005:
0xffffe410 in __kernel_vsyscall
0xb7e589f6 in ? from /lib/tls/i686/cmov/libpthread.so.0
0x0811bc9f in ?
0xb79303ac in ?
0x00000000 in ?
Thread 2 (Thread -1220871280 (LWP 2006:
0xffffe410 in __kernel_vsyscall
0xb7e55676 in pthread@GLIBC_2.3.2
from /lib/tls/i686/cmov/libpthread.so.0
0x08120dde in ?
0xb78991dc in ?
0xb78991c4 in ?
0xb7e53541 in pthread_mutex_lock from /lib/tls/i686/cmov/libpthread.so.0
0x081210eb in ?
0xb78991dc in ?
0xb78991c4 in ?
0x00000000 in ?
Thread 1 (Thread -1211255088 (LWP 2004:
0xffffe410 in __kernel_vsyscall
0xb7da92a1 in select from /lib/tls/i686/cmov/libc.so.6
0xb7ec8780 in g_spawn_sync from /usr/lib/libglib-2.0.so.0
0xb7ec8b4c in g_spawn_command_line_sync from /usr/lib/libglib-2.0.so.0
0x08194d84 in ?
0xb7b9a844 in ?
0xb7b9a82c in ?
0xb7b9a828 in ?
0xb7b9a824 in ?
0x00000000 in ?
0xffffe410 in __kernel_vsyscall
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Aborted (core dumped)
Hell Yeah!
И где это я злой? Я всего-то не верю в кроссплатформенность дотнета. Про эту кроссплатформенность разговоры идут лет пять, блин, а что-то по моно незаметно...
Заметь, я при этом не говорю, что дотнет - говно
Так ставь оффтоп
наша софтина, которая на работе разрабатывается, долгое время делалась и тестировалась под виндой, под mono её даже не пытались тестировать (т.к. там использовалась сторонняя библиотечка с [DllImport("kernel32", ...)] или чем-то типа того, от которой потом отказались). Потом подняли нетовский код под mono и всё заработало сразу без каких-либо проблем. Там и WinForms, и много ещё чего используется.
приложение было портировано под линукс, благодаря титаническому труду виртуозов WinForms и гуру ДотНэта!
я бы не сказал, что отношусь к виртуозам или гуру ДотНета. Остальные коллеги - тем более
ЗЫ Кстати, под какую версию дотнета писали?
сначала 1.1, потом на 2.0 переехали. Вот с 3.5 и c# 3.0 пока под моно не всё сделано, но работа кипит.
Mono JIT compiler version 1.2.6 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
TLS: normal
GC: Included Boehm (with typed GC)
SIGSEGV: normal
Notification: Thread + polling
Architecture: x86
Disabled: none
зы. моновцы - идиоты. Вся эта их херотень нужна только для десктопиков, а они, дурачьё, пакеты для редхата и для солярки с вендой (где оно точно никому невпилось) выкладывают, а для убунты нет
Вот с 3.5 и c# 3.0 пока под моно не всё сделано, но работа кипит.
The Mono API today is somewhere in between .NET 1.1 and .NET 2.0
возможно, некоторые особо хитрые фичи из 2-го фреймворка не используем
у меня такое ощущение, что больше половины моих безобидных постов перерастают в такие холиварные треды.
пакеты для редхатану дык пакетами для редхата не один редхат питается.
null:~$ aptitude show mono-common
Пакет: mono-common
Новый: да
Состояние: не установлен
Версия: 1.2.6+dfsg-5
Приоритет: необязательный
Раздел: interpreters
Сопровождающий: Debian Mono Group <pkg-mono-lists.alioth.debian.org>
Размер в распакованном виде: 745k
Зависимости: libc6 (>= 2.7-1 libglib2.0-0 (>= 2.14.0)
Рекомендуются: binfmt-support (>= 1.1.2)
Описание: common files for Mono
Mono is a platform for running and developing applications based on the ECMA/ISO Standards. Mono is an open source effort led by Novell.
Mono provides a complete CLR (Common Language Runtime) including compiler
and runtime, which can produce and execute CIL (Common Intermediate Language) bytecode (aka assemblies and a class library.
This package contains base configuration files and configures the system to run CIL executables like native applications.
Сайт: http://www.mono-project.com/
Tags: devel::ecma-cli, role::app-data
да ну нафиг, небось с собой ещё libc новую потянет
а если попробовать обновиться до 1.2.6?Обновился:
Да уж, не всякий линуксоид может запустить программу для девушки с филфака...
шрифты - говно
Проблемы Ubuntu, а не .net
Думаю, что там используются стандартные.
Да уж, не всякий линуксоид может запустить программу для девушки с филфака...зато любой виндузятник, в том числе, девушка с филфака.
Не проблемы .net, что линуксоиды боятся обновиться до нового пакета, не желая, что это потянет за собой обновление половины системы.
Это к вопросу о кроссплатформенности.
Не проблемы .net, что линуксоиды боятся обновиться до нового пакетасчастье линуксойдов, что под линух не так уж много вирусни выходит. Виндузятник без регулярных обновлений сильнее рискует какую-нибудь заразу схлопотать
зы. На работе у меня на ubuntu вполне себе регулярные обновления ставятся и все у меня запускается. То же самое про домашнюю винду — ставятся, вирусов не было последние три года.
Эгм. То есть на сайте врали по поводу запуска винформс моно под макось только из-под иксов?
Тут фишка не в том. Проблема в том, что запуск небольшой и достаточно простой программки зависит от третьей цифры в версии. Есть, конечно, вероятность того, что это исключение... В общем, возможно я неправ, но стоит сравнивать моно с wine по покрытию перенесенных работающих проектов (много чего запускается, много чего запускается с напильником, много чего не запускается вообще)?
Проблема в том, что запуск небольшой и достаточно простой программки зависит от третьей цифры в версии.ну вот смотри, соседний тред про дотнет, ещё более простой фрагмент кода не компиляется. Правда, из-за второй цифры в версии:
Ну как бы вторая цифра обычно подразумевает некоторое изменение функционала. Но вообще, жесть все это, пишите на питоне
А насчет 2-3 цифры - это не так важно. Важно, что прогресс есть и на последней версии все работает.
не, это именно что service pack, исправление ошибок. У ms несколько не такой подход к релизам, как в open source-сообществе
Эгм. То есть на сайте врали по поводу запуска винформс моно под макось только из-под иксов?Откуда такой вывод?
Там же написано "без проблем"; но ведь никаких проблем запустить прогу в X11 под макосью нет!
ты хочешь сказать, что там при переходе от 2.4 и 2.5 совсем-совсем не ломается ничего? Или от 2.2 на 2.4?bullshit, sorry
А насчет 2-3 цифры - это не так важно. Важно, что прогресс есть и на последней версии все работает.
Ты сравнил багфиксы и изменения функционала? Номер циферки играет значение, так как косвенно наша ситуация может свидетельствовать о сырости продукта, а следовательно о малопригодности в мейнстриме. А следовательно можно считать, что моно почти не существует вообще.
ЗЫ Еще раз говорю, что это могло быть эдакое исключение, случайно дожившее как минимум до номера 4, но все равно настораживает.
Ну, я типа хотел, чтобы мне Ванек сказал, под чем он запускал ее.
Вероятно, под X11, не могут же на сайте врать!
Насколько можно бегло прочитать с сайта моно, они до сих пор не достреливают до версии 2.0. У них периодически проблемы и ограничения с чем-то вроде Win.Forms (уж не это ли хваленое гуи?). Короче, с натяжкой дотнет кроссплатформенный, неа?
Ну, я типа хотел, чтобы мне Ванек сказал, под чем он запускал ее.Минут 15 потратил на то, чтобы найти как сделать в Mac OS скриншот. Оказалось, простейшая комбинация Ctrl+Shift+Command+3 приводит к нужному результату.
Запускал под X-ами. Какие-то встроенные в MacOS
Ну, мб я ошибся, или инфа устарела, или еще что.1. Во многом инфа у них устарела. До фига имеет отношения к 1.2.4, а не 1.2.6 версии. Почему-то код они пишут с большей охотой, чем документашку.
2. Ограничения Windows Forms, это значит, что в целом все работает, но они не готовы заявить, что обязательно на любой системе все будет круто (например, надо стартовать X11 на Mac).
Но вообще, сложилось впечатление, что они просто очень скромно о себе пишут. И да, Тем — надо не читать сайты, надо проверять. Иначе и будет складываться неверное мнение.
И да, Тем — надо не читать сайты, надо проверять. Иначе и будет складываться неверное мнение.Как бы в случае офсайтов это бета-тестированием попахивает
Т.е. либо тестить, либо не читать совсем.
Заметь, плохо документированные модули для меня обычно знак того, что модуль лучше в продакшне не использовать.
Минут 15 потратил на то, чтобы найти как сделать в Mac OS скриншот."mac os x screenshot" + I'm feeling lucky.
угу, так и сделал. 5 минут на то, чтобы понять, что сам не угадываю, 5 минут на то, чтобы залезть в Google и сконфигурировать пальцы, 5 минут на то, чтобы попытаться найти Paint или другой графический редактор, понять, что проще вставить в Word и переслать на Windows машину.
5 минут на то, чтобы попытаться найти Paint или другой графический редакторЭто зачем? Preview умеет crop не хуже других.
Ты удивишься, но на python.org ерунду особо не пишут. Я за свою практику на двух релизах как-то пока не столкнулсяУра!
Заметь, плохо документированные модули для меня обычно знак того, что модуль лучше в продакшне не использовать.
Это зачем? Preview умеет crop не хуже других.не знал, спасибо
Оставить комментарий
Werdna
ЖЖОШЬ! Сколько оперативы надо для запуска?Вот думаю — купить себе Висту что ль? Коль пошла такая пьянка...