LINUX.ORG.RU

Mono 2.10.8

 


0

4

Вышло обновление среды Mono - альтернативы MS .NET.

Среди основных изменений можно выделить следующие:

  • Обновление Task Parallel Library.
  • Провайдер SQLLiteConnection теперь может устанавливать соединение в потоке.
  • Ускорены запуск отладчика и обновление наблюдаемых переменных
  • Добавлена начальная поддержка MSBuild 4.0
  • NuGet теперь работает и в Mono.
  • Phalanger 3.0 теперь работает в Mono.
  • Добавлена поддержка некоторых библиотек фреймворка Azure.
  • Добавлена поддержка работы профилировщика со статически линкуемыми приложениями.
  • Профилировщик теперь может вести лог в любые файлы.
  • SGen теперь имеет встроенную поддержку систем, реализующих ToggleRefs.
  • Профиль для мобильных устройств теперь содержит сборку System.IO.MemoryMappedFiles
  • Добавлен класс PerformanceCounters для ведения статистики JIT.
  • Добавлена поддежка многоядерных процессоров в Mono for Android.

Также исправлено множество ошибок.

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

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

ООП он не умеет. См. мой предыдущий ответ.

Скорости он не умеет и многопоточности.

Кучи важных библиотек и тулз он не умеет.

Статической типизации он не умеет.

Многострочных лямбд и алгебраических типов он не умеет.

Модулей нормальных и зависимостей не умеет.

Юникода не умеет. Бибилотеки нормальной не умеет.

Продолжать..?

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

Это тут ни при чем. Лисп тоже много где используют.

Человек говорит, что Питон нельзя использовать в крупных проектах потому-что он мало распространен и обкатан.

Это неверно, как мне кажется. Python очень популярный язык. Он идет по популярности сразу, после джавы и сей, вместе с пхп.

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

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

Тривиальный код - несомненный плюс. Вы верно подметили.

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

как это ООП не умеет? Это для меня новость)) Про юникод тоже поподробней

Соглашусь только с двумя пунктами Статическая типизация, хотя нафиг она питону для этого есть cyton И скорость...

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

Решение - запустить n процессов, где n - кол-во ядер.

А если все потоки связаны на сервере с некими общими данными? Например, это сервер СУБД (знаю, на питоне такое не пишут, но пусть будет как пример в вакууме), и он умеет кэшировать в RAM результаты запросов или просто часть данных.

Да и если без общих данных, мы снова сталкиваемся с проблемой. GIL дается потоку строго на 100 команд (причем разных команд). Это не лучшее решение для планировщика. Таким образом, при большом количестве соединений задержки будут намного выше, чем если бы потоки переключались ядерным планировщиком.

Это даже без привлечения перфекционизма :)

Deleted
()
Ответ на: комментарий от uhbif19

Не я начал авторитетно «рассуждать» о том, в чем не разбираюсь. Ну а про «фагию» - можете Wolfram Research рассказать.

В общем, «моны» приходят и уходят, а lisp остается. Это эмпирический факт.

myhand
()
Ответ на: комментарий от rmammoth

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

Всем не-Ъ, рискнувшим пойти по ссылке, рекомендую начать сразу с последнего абзаца, возможно, вы сэкономите себе чуть-чуть времени.

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

Можешь не продолжать, ты настоящий пайтон гуру. Только «он не умеет» это по отношению к тебе а не к питону :).

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

Скорости он не умеет и многопоточности.

Скорость - мелочь. Многопоточность умеют альтернативными реализациями.

Кучи важных библиотек и тулз он не умеет.

Можно писать для него модули на C и C++.

Юникода не умеет.

Python 3 - умеет.

Все остальные пункты сомнительны.

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

И небольшие такие ERP-системы.

Чтобы делать глупости много ума не нужно.
Сравните с количеством того-же на популярных ЯП

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

В питоне 2 вся библиотека юзает байты. Все время. Из-за этого постоянные сложности и баги. Неоднократно встречал ситуации, когда встроенные функции без костылей не могли справиться с простейшим юникодом.

Касательно бибилиотеки: я не знаю, может быть тайны питона спрятаны от меня, но везде где я работал с «батарейками», в последствии оказывалось, что они кривые и/или очень многого не умеют, а альтернатив как правило не делают ибо вроде как есть. Из простейших примеров: urllib, csv, xml и html - и. Пока радуют только re и json.

Статическая типизация, хотя нафиг она питону для этого есть cyton

Она нужна. Очень.

А еще больше нужна связанное с этим разруливание имен переменных при компиляции. Что бы потом все не падало с RuntimeError-ом из-за очепятки под тремя if-ами.

Вообще динамическими языками без кучи юнит-тестов пользоваться нельзя.

А cython тут не при чем. Его нельзя всюду запихнуть.

uhbif19
()
Ответ на: комментарий от ymn

Нужен, но только доведенный до логического конца.

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

> Например, это сервер СУБД (знаю, на питоне такое не пишут, но пусть будет как пример в вакууме), и он умеет кэшировать в RAM результаты запросов или просто часть данных.

Кеш можно в отдельный процесс вынести и обращаться к нему через сокет, или какой-то интерфейс быстрых сообщений типа ZeroMQ. Или, взять обычный memcached.

> Да и если без общих данных, мы снова сталкиваемся с проблемой.

Так GIL у каждого процесса будет свой, так что как раз в таком случае будет обычная многозадачность. А в диспетчере зачастую много команд и не надо.

> Это даже без привлечения перфекционизма :)

Говорить «ЯП ххх втопку, потому что там нет фичи ууу» - это как раз и есть проявление перфекционизма. Серебрянных пуль не бывает. А умение подбирать лучший инструмент для задачи - это одно из самых ценных умений практика.

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

Скорость - мелочь.

Ну не до такой-же степени (:

Многопоточность умеют альтернативными реализациями.
реализациями

Пока есть только одна (: И ее никто не использует.

Можно писать для него модули на C и C++.

Это тут при чем ? Под си их еще меньше. Я про Джаву говорю.

Python 3 - умеет.

Python 3 не умеет кучи библиотек. И никто не торопиться на него переходить.

Все остальные пункты сомнительны.

Для всех пунктов есть обоснования. Высказывайте свои сомнения, и я их устраню (:

uhbif19
()
Ответ на: комментарий от provaton

Кеш можно в отдельный процесс вынести и обращаться к нему через сокет

Если отдельный процесс тоже будет на питоне, то те же грабли :)

Так GIL у каждого процесса будет свой, так что как раз в таком случае будет обычная многозадачность.

Не совсем. Как раз из-за того, что GIL дается потоку ровно на 100 команд, независимо от обстоятельств. В сравнении с ядерным планировщиком, негибко: при большом количестве соединений полный ппц с задержками.

Говорить «ЯП ххх втопку, потому что там нет фичи ууу» - это как раз и есть проявление перфекционизма.

Я всего лишь сказал, что заменить жабу и дотнеты, как это предлагал анонимус, нельзя. Я не имел ввиду «не использовать питон», я имел ввиду «лучше воздержаться от перехода на питон, если нужен multithreading».

Deleted
()
Ответ на: комментарий от uhbif19

Ну не до такой-же степени (:

Не так у питона с ней плохо.

Пока есть только одна (: И ее никто не использует.

Две, как минимум. Пользуются. За исключением C-модулей, на 100% совместимы с Python 2.x

Deleted
()
Ответ на: комментарий от uhbif19

Модулей нормальных и зависимостей не умеет.

Как это, по-твоему, должно выглядеть Ъ-способом и кто так умеет?

Многострочных лямбд и алгебраических типов он не умеет.

Нужно ли?

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

Про юникод тоже поподробней

Напротив, лучше Вы расскажите про Uncode. Как обстоят дела с языками, в которых присутствуют лигатуры? Например, с арабским всё нормально?

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

> я имел ввиду «лучше воздержаться от перехода на питон, если нужен multithreading».

> Python ... не умеют нормальный multithreading, поэтому фтопку.

хехе.

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

Komodo IDE мелкий скрипт?

Насколько я помню Komodo был сделан из Mozilla и соответственно написан был на JS. Хотя могли и переписать.

Кроме того всегда найдутся те кому нефиг делать или у кого деньги лишние.

Кто-то написал компилятор асемблера на bash - говорит ли это о том, что bash - лучший ЯП для компиляторов?
по моему нет.
Кстати, недавно кто-то начал линукс на PHP переписывать....

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

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

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

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

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

Обычно проблемы с питоном аукаются тогда, когда слезать с него уже поздно.

AVL2 ★★★★★
()

LongLiveUbuntu, вопрос к тебе.

System.NullReferenceException: Object reference not set to an instance of an object
  at GLib.Object.NotifyCallback (IntPtr handle, IntPtr pspec, IntPtr gch) [0x00000] in <filename unknown>:0 
Это monodevelop так стартует в опенсиське.

Про новость. - SQLLiteConnection в потоке Читать конфиги в многопоточном режиме?!

- начальная поддержка MSBuild 4.0 А это вот - вообще низачот

- исправлено множество ошибок. А это - зачот.

Прикольно - имея на борту одно лишь моно, есть возможность пускать .NET/Java приложения причем дотнетовые будут работать даже несколько шустрее чем в нативном дотнете.

Про тред.

Пистон используется большими конторами. Один не самый значительный проект на 10,,,100 писаных на Java/.NET/C++ (в порядке убывания). Да, пистон используется для написания модных ненужных(невероятно, но - факт! Ибо традиция не доделывать) ERP с веб-интерфейсом, которыми, правда, невозможно пользоваться - не то, что сопровождать. Как вы все догадались - это я про OpenERP. Ковырял - знаю, как там все убого и грустно для разработки чего-то неизкоробочного. Зато - пайтон.

Моно. В общем случае - процентов на 20 тормознее джавы на ее максимальной скорости (c иксбатчем, с правильной сборкой мусора и т.п. хитровыделанными настройками). Зато быстрее дотнета И скромнее джавы в вопросе отъедания оперативы.

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

И, заметьте - в треде про моно, в основном, обсуждается пистоний. Что как бы подводит нас к мысли, что по существу господам-комментаторам сказать все еще нечего.

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

И, заметьте - в треде про моно, в основном, обсуждается пистоний. Что как бы подводит нас к мысли, что по существу господам-комментаторам сказать все еще нечего.

Ну так лор ведь. Сначала высказываются закапыватели с ненужниками а потом начинается холивар на отвлеченные темы ;)

ISanych
()
Ответ на: комментарий от malbolge
System.NullReferenceException: Object reference not set to an instance of an object
  at GLib.Object.NotifyCallback (IntPtr handle, IntPtr pspec, IntPtr gch) [0x00000] in <filename unknown>:0

Это к мейнтейнеру пакета вопрос. У меня и собранная developer версия 2.9.1 запускается на ура.

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

ymn> потому что выбирая между дотнетом и джавой, нужно выбирать джаву.

Сейчас обе технологии опасны. Просто на примере жабы видим, какие проблемы это на деле вызывает. А с mono может случиться примерно то же самое.

Quasar ★★★★★
()

Кстати. Почему новость в разделе OpenSource, когда новость исключительно о проприетарщине? (Mono for Android)

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

когда новость исключительно о проприетарщине? (Mono for Android)

Новость исключительно о Mono for Android? Кто тебе такое сказал?

Зато если пройти по ссылке «Подробности», что уже во втором предложении написано «Mono 2.10.8 was released on December 19, 2011» — всего на пару месяцев задержались, с кем не бывает? :)

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

А с mono может случиться примерно то же самое.

Откуда-же вы такие беретесь?
Ведь только что в сотый раз доказали что не может и тут вылазит еще один...

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

Моно. В общем случае - процентов на 20 тормознее джавы на ее максимальной скорости (c иксбатчем, с правильной сборкой мусора и т.п. хитровыделанными настройками).

Прикол в том, что приложения на том-же C# можно оптимизировать используя простые трюки(простейший - использовать структуры вместо классов) получая достаточно сильный прирост в производительности.
Я как-то переписал простой тест на скорость на одном из сайтов - так скрость выросла в 10 раз и оказалась далеко впереди Java приложения(с хитровыделанными настройками) так автор теста отказался публиковать результаты в сводной таблице - так как это нечестно :)

Зато быстрее дотнета

Странно. у меня получалось немножко медленне дотнета.

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

Напиши свою статью с равнозначными тестами.

Чем больше, тем лучше.

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

Если бы не я, вы бы вообще этого треда не увидели.

LongLiveUbuntu ★★★★★
() автор топика

Надо будет попробовать запустить под ним дотнетовскую версию моего грабвк.

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

Разница в том, что оракель игрок корпоративного рынка, которому нет дела до распостранения своих зондов среди рядовых пользователей.
А для M$ есть прямая выгода от распространения своих не совместимых технологий.

Оракл никогда не строил из себя милую компанию которая заботиться о хомячках и открытом коде, он всегда (всегда) последовательно гнет свою одинокого агрессивную стратегию.
А M$ всю свою историю занимающаяся обливанием грязью конкурентов не может стать внезапно такой хорошей.
У них смысл почти каждого шага в том, чтобы сохранить свою монополию на рынке ОС.

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