LINUX.ORG.RU

Работаем с Mono. Часть 1: Основные принципы Mono, инструменты, создание простейшего приложения

 


0

3

Mono — программная платформа, позволяющая разработчикам достаточно просто создавать развитые кроссплатформенные приложения. Технология Mono разрабатывается в виде open source реализации технологии .NET Framework от Microsoft и поддерживает стандарты ECMA-334 (стандарт языка C#) и ECMA-335 (стандарт среды исполнения (Common Language Runtime, CLI). Открытость указанных стандартов позволяет уменьшить проблемы создания кроссплатформенных приложений. В этой статье рассматриваются основные возможности среды исполнения Mono.

>>> Подробности

★★★

Проверено: mono ()
Ответ на: комментарий от yanka

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

Может потому что таковым он и является? Можно и на баше такого наворотить, если что, я даже видел сапера на cmd.exe, но они один фиг остаются скриптовыми языками.

EvilBlueBeaver
()
Ответ на: комментарий от annulen

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

yanka ★★
()
Ответ на: комментарий от annulen

>> И питон и ява и си шарп интерпретаторы

JIT, многопоточность

У питона уже все стало нормально с многопоточностью?

EvilBlueBeaver
()
Ответ на: комментарий от yanka

я только не понимаю, почему вы питон считаете скриптовым языком?

Потому, что использование питона (и вообще любого языка с динамической типизацией) в проектах крупнее нежели написание скриптов под никсы или веб-сайта на десяток страниц - оборачивается в дальнейшем редкостным pain in the ass в доработке и поддержке. Может конечно и не обернуться, если весь код написан грамотно, да еще и документирован и тестами покрыт. Только я вот уже лет 10 в области разработки ПО работаю и таких проектов могу вспомнить только пару штук.

И питон и ява и си шарп интерпретаторы, другое дело у них различная производительность.

У шарпа и жабы есть волшебная штука, jit называется. Поэтому все критичные куски кода не интерпретируются, а выполняются напрямую на камне.

Nagwal ★★★★
()
Ответ на: комментарий от yanka

>многопоточность есть и в питоне

А ещё там есть GIL :]

yoghurt ★★★★★
()

Я тут понял вы тут все в игру играете: «Кто извращеннее оскорбит microsoft» При том условия вашей игры позволяют оскорблять MC даже в тех местах, где собственно MC и рядом не стояло.

Давайте завалите меня ссылками на ВАШИ продукты, продемонстрируйте НАСТОЯЩИЕ параметры качества, ВАШИ реализации кросплатформенности и их интеграцию. Что вы конкретно можете помимо фантастически быстрого гугления? Когда бабушки на лавочке обсуждают адронный коллайдер в их разговорах больше здравого смысла чем в данной теме. Разве вам так приятно друг другу вешать тут полную лапшу на уши бездумно оперируя миллионами терминов?

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

anonymous
()
Ответ на: комментарий от annulen

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

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от yanka

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

Если под интерпретацией вы понимаете интерпретацию байт-кода, то да, это интерпретаторы (ну если опять же не трогать JIT). Но при такой логике процессор тоже можно назвать интерпретатором машкода.

EvilBlueBeaver
()
Ответ на: комментарий от Ttt

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

Нет. и еще его правильно называть биткодом, а не байткодом

annulen ★★★★★
()
Ответ на: комментарий от pevzi

Отлично, но повторюсь, основная задача - лабораторные для учебы. И да, monodevelop по-умолчанию гораздо удобнее mvs как редактор, хоть и повторяет его внешне.

alltiptop ★★★★★
()
Ответ на: комментарий от Nagwal

> jit

Оно есть и для питона. А еще есть Cython, например.

pevzi ★★★★★
()
Ответ на: комментарий от Nagwal

У шарпа и жабы есть волшебная штука, jit называется. Поэтому все критичные куски кода не интерпретируются, а выполняются напрямую на камне.

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

real_maverick ★★★
()
Ответ на: комментарий от yanka

> Как я устала, пошла готовить ужин...

Да не, мы правда хорошие....

Ну вот, еще одну девушку мы выгнали из-за своей черствости. Только Сильви и терпит нас :)

EvilBlueBeaver
()
Ответ на: комментарий от sun-lsd

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

То есть, определение скриптовых языков — языки, которые тормозят? (: забавно.

pevzi ★★★★★
()
Ответ на: комментарий от alltiptop

>И да, monodevelop по-умолчанию гораздо удобнее mvs как редактор, хоть и повторяет его внешне.

Прямо как OpenOffice по сравнению со старыми MSO, особенно локализованными версиями =)

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от yanka

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

Да дураки-каие-то, обчитались мануалов и строят из себя невесть что.

Gukl ★★★
()
Ответ на: комментарий от real_maverick

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

Теплым и мягким segmentation fault на критичном сервере? Или теплым и мягким хреном, на который тебя пошлет заказчик, увидев в бюджетах графы с расходами на тестирование?

Nagwal ★★★★
()
Ответ на: комментарий от Nagwal

> Теплым и мягким segmentation fault на критичном сервере? Или теплым и мягким хреном, на который тебя пошлет заказчик, увидев в бюджетах графы с расходами на тестирование?

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

EvilBlueBeaver
()
Ответ на: комментарий от annulen

Только для чего тогда нужен этот LLVM — не совсем понятно.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

> Учите mono, переписывайте на нем все над чем работаете по мере возможности

Вот именно этого делать как раз не надо.

Gukl ★★★
()
Ответ на: комментарий от pevzi

>То есть, определение скриптовых языков — языки, которые тормозят? (: забавно.

нет, конечно, но питон действительно тормоз. sun-lsd +1

bromm
()
Ответ на: комментарий от Ttt

Не совсем, в monodevelop удобнее ставятся скобки, по-умолчанию табы это табы, а не 3 пробела подряд, адекватнее автоматические табы и {скобки} (стиль можно настраивать, но по-умолчанию и так лучший вариант), приятнее цвета и прочие мелочи, на которые в mvs уходит много времени. В общем гораздо уютнее в monodevelop, mvs скорее офисный пакет чем среда разработки.

alltiptop ★★★★★
()
Ответ на: комментарий от Nagwal

У шарпа и жабы есть волшебная штука, jit называется. Поэтому все критичные куски кода не интерпретируются, а выполняются напрямую на камне.

psyco

k0valenk0_igor ★★★
()
Ответ на: комментарий от bromm

> но питон действительно тормоз

Sad but true. Конечно, есть несколько способов повысить производительность (выше называл), но это совсем не то.

pevzi ★★★★★
()
Ответ на: комментарий от anonymous

> Учите mono, переписывайте на нем все над чем работаете по мере возможности - за ним светлое будущее.

не хотел бы я застать это «светлое».

bromm
()

После того как благодаря MONO я не смог запустить Rabbids go home, я проникся ещё большим презрениям к его проповедникам и пользователям. Спасибо.

alx_me ★★☆
()
Ответ на: комментарий от pevzi

>То есть, определение скриптовых языков — языки, которые тормозят? (: забавно.

Нет, но обычно языки, которые тормозят, скриптовые

annulen ★★★★★
()
Ответ на: комментарий от alx_me

>После того как благодаря MONO я не смог запустить Rabbids go home

Сам-то понял, что сказал? Как моно тебе помешало запустить твою игрушечку?

yoghurt ★★★★★
()
Ответ на: комментарий от sun-lsd

> Это может мы ее терпим, из-за врожденной интеллигентности.

Ну как же так можно о богине линуксоидов?! Или я слишком долго был в заморозке? :)

EvilBlueBeaver
()
Ответ на: комментарий от k0valenk0_igor

> >У шарпа и жабы есть волшебная штука...

Ура!!! Аж настроение повысилось.... ой стой этож баян рваный, где вы его нашли? Говорят там же про java такой же лежит.

alx_me ★★☆
()
Ответ на: комментарий от EvilBlueBeaver

где вы увидели богиню, прошу прощения?

anonymous
()
Ответ на: комментарий от yoghurt

> Сам-то понял, что сказал?

Я то понял. Я даже то что ситаю иногда понять способен. А вот вы запустите. Игра прикольная.

Как моно тебе помешало запустить вашу игрушечку?

1. своим существованием. 2. тем что о её существовании узнали разработчики игры 3. они использовали его в этой игре для старта основного движка

alx_me ★★☆
()
Ответ на: комментарий от EvilBlueBeaver

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

Я то может и не умею ее готовить (года 4 назад последний раз ее в руки брал). Только вот факта что из-за ошибки в жабе/шарпе у меня максимум что произойдет так это грохнется тред и отвалится один запрос, а в сях может и весь сервак полететь это не отменяет.

А кривые руки они везде кривые.

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

Nagwal ★★★★
()
Ответ на: комментарий от sun-lsd

> Да всем пофиг. А вот фраза «она нас терпит» попахивает гендерным шовинизмом.

Ок, в следующий раз буду ставить теги <irony>

EvilBlueBeaver
()
Ответ на: комментарий от pevzi

> есть ли вообще смысл в использовании Mono и самого .Net? Действительно ли с их использованием разработка упрощается по сравнению с QtC++, например?

НАМНОГО. Один ГК чего стоит, не говоря уже об объектной модели и туче _готовых_к_использованию_ классов (без напильника, байндинга и шаманинга).

matumba ★★★★★
()
Ответ на: комментарий от Nagwal

> Я то может и не умею ее готовить (года 4 назад последний раз ее в руки брал). Только вот факта что из-за ошибки в жабе/шарпе у меня максимум что произойдет так это грохнется тред и отвалится один запрос, а в сях может и весь сервак полететь это не отменяет.

Ну начнем с того, что в C# необработанное исключение в треде приводит к краху всего приложения.

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

EvilBlueBeaver
()
Ответ на: комментарий от annulen

> Фигня, место девушки - на кухне :)

Ну yanka как раз туда и пошла :)

И вот это уже «гендерный шовинизм» ))

EvilBlueBeaver
()
Ответ на: комментарий от Nagwal

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

Плохому танцору хороший инструмент не поможет.

k0valenk0_igor ★★★
()
Ответ на: комментарий от Nagwal

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

А может и все приложение стать неработоспособным, смотря где это исключение выскочит

annulen ★★★★★
()
Ответ на: комментарий от Nagwal

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

Даешь быдлокодеров!

а жаль

bromm
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.