LINUX.ORG.RU

Вышел Mono 2.6.7

 ,


0

0

Основные изменения:

  • Теперь mono включает в себя MVC2
  • Добавлен WCF — как клиент, так и сервер
  • Добавлена поддержка LLVM для улучшения производительности
  • Новый отладчик, который интегрирован в MonoDevelop 2.2
  • Добавлена поддержка модели безопасности CoreCLR
  • Множество мелких исправлений

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

★★★★★

Проверено: JB ()
Последнее исправление: MuZHiK-2 (всего исправлений: 1)

Понабежало школьников. Быстро время идёт. Уже не модно с чем-либо досконально разбираться. Если «Я» такой весь гениальный не постиг тонкостей языка за неделю, значит язык плохой! Вот так все в ад и попадают, с такими вот за компанию. 95

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

Я так понимаю, libsigsegv для page faults, т.е. ты тоже не вкурил, что никакого page fault нет, данные перезаписываются совершенно валидные. Просто не те.

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

Только в С++. Походу MS не особо заморачивается на С++.

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

А я писал про то, что Silverlight заменяет сейчас все те сайты для внутреннего пользования, что клепались на ASP.NET.

.Net достаточно популярен в энтерпрайзе.


Silverlight это как бы тоже .Net, смысл высказывания не распарсил.

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

>...и другие элементы которые позволяют писать в стиле ФП.

На любом ОО языке можно писать в стиле ФП. ФП не есть свойство языка.

Многие ОО библиотеки комбинаторны по своей природе. Да и нет никакой пропасти между ФП и ОО. И что Scala, что F# это очень хорошо доказывают.

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

>на нём вон даже COM-объекты можно писать,
Вы знаете, писал на С# COM объекты. Особого удовольствия не ощутил, когда оказалось что написанный под .NET 1.1 код отказывался работать в среде с одновременно установленным .NET 2.0.

yaws
()
Ответ на: комментарий от queen3

>Давай-ка ещё раз - 3 месяца поиска memory overwrite (баг зависел от длины данных, хрен воспроизведёшь), перегрузки от раза в час до раза в минуту. Или 1000 окошек и через минуту понятно, где примерно ошибка, или вообще что происходит. С твоей точки зрения, конечно, 3 месячный п...ц - дело житейское? Никаких преимуществ у отсутствия возможности подобных багов - нет?

Ахаха... Возьмем шырше и глупже - у заказчика исторически окопались дельфисты... Потом в моду вошли клоны никсов... Историческое лицензируемое клиентам заказчика Win32-поделие на Object Pascal («лицензионное ограничение» - 8 подключений) заказчик своих олд-скулов таки заставил переписать на... Free Pascal. Они его переписали так, что проприетарная библиотека заказчикского транспортного протокола напрочь сводит на нет нашу C++-ную производительность и многопоточность: на последовательных подключениях лаг 8 секунд - медленно, но терпимо, на 50 подключениях, по замерам приходящих одновременно, библиотека впадает в кому на 5 минут... (То есть, ответ ждем-пождем, подключения висят, а клиенты начинают массово отваливаться, потому что предел терпения 30 секунд) С другой стороны, есть С++ное монстроподелие, обслуживающее транспорт с клиентской стороны... Юзали давно отлаженный таг фреймворка. Все было нормально три месяца - добивали чисто аппликушные баги «клиент-сервер», хотя фреймворк оброс нашими заплатками (благо сорцы доступны и всякий тупняк разрабов фреймворка вроде падений из-за несовпадения... длины строки таймстампа (ага, ассерт в отладке и выход за пределы в релизе) можно отловить и пофиксить - кинуть вменяемое исключение)... И тут, пару недель назад, руководство зачесалось переходить на транк фреймворка... (Точнее, выпросило у его разрабов новый таг. С пылу с жару... С места - в барьер!) На сервер без слез смотреть было невозможно: сегфолты из-за переписанных рефкаунтеров и смартпойнтеров, сегфолты из-за переписанной подсистемы логирования и, конечно, - гвоздь программы сегфолты из-за переписанного менеджмента памяти, изменения которого разумеется были преподнесены как «улучшения кода». Страсть чинить не сломанное - это у инфраструктурщиков в крови.

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

>заставил переписать на... Free Pascal
А когда это было? // Ну просто у меня сейчас довольно положительное мнение об FP (2.2, 2.4)
В целом, так понял что ключевая фраза все же не «на... Free Pascal», a «Они его переписали так, что...»

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

>заставил переписать на... Free Pascal А когда это было? // Ну просто у меня сейчас довольно положительное мнение об FP (2.2, 2.4)

Я не ругаю тут Free Pascal... Я тут сетую, что не в те руки он попал. :) Как не умели те «олд-скулы» работать с потоками, так и не научились. Жестокие тормоза на 8-головом серваке я им простить не могу, вот что) Ну и да... 5-минутная кома - она на любом языке 5-минутная кома.

В целом, так понял что ключевая фраза все же не «на... Free Pascal», a «Они его переписали так, что...»

В целом, верно) После того, как опытным путем выяснилось, что первая версия библиотеки для линукса работает в условиях многопоточности, грубо говоря, как монетка ляжет - локов они понаставили, судя по всему, тупо «сериализующих» дисциплину обслуживания, вместо пересмотра архитектуры под нормальную многопоточность на машине, могущей ее обеспечить. Так что когда после тестов на 50 одновременных подключений нам поставили задачу искать узкое место, мы просто отключили библиотеку заказчика и прогнали тесты еще раз - наш сервак с задачей справился (С поправкой на заглушку вместо транспорта к источнику данных). Ну а вдумчивое чтение логов самой библиотеки при 50 подключениях (разница таймстампов при приходе логона и таймстампов при получении «аксец грантеда» навели на глубокие грустные размышления)

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

>Раньше, наверное, говорили «я почему-то считаю, что компилируемые языки нужны в основном тем, кто не может написать программу на ассемблере». Действительно, нормальный программист лучше распределит переменные по регистрам!

Не «наверное», а говорили. Я сам таким был 20 лет назад :D

Я понял, что дожил до момента, когда компилятор, наконец, может писать код лучше, чем я без зверской оптимизации где-то к 1997-му только году :) Во времена Watcom 10 и MSVC4.

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

>>Ты просто не понимаешь, что такое GC, и почему дебильные счетчики ссылок даже рядом не валялись.

Нука, давай, расскажи мне


В FAQ пора для начинающих программеров. Тема по несколько раз в год всплывает. Навскидку: http://www.linux.org.ru/jump-message.jsp?msgid=4339051&cid=4361755

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

Код оно генерирует страшный и много. SBCL на нетбуке в линаксе по скорости на той же задачи уделывал CCL на куда более мощной виндовой рабочей тачке


LISP is not dead. It's just URL that changed clojure.org

Karapuz ★★★★★
()

В общем, погонял чуток тут моны ентые на такой вот программульке (сразу сорри эстетам и экспертам и прочим брюзгам за неполноту тестинга - смотрел, что душеньке ближе):

using System;
using System.Text.RegularExpressions;

public class Test {
	[STAThread]
	public static void Main() {
		Regex r = new Regex(@"(((io)|(hj))|((k)|(p)))*");
		Console.WriteLine(string.Format("Begin at {0}", DateTime.Now));
		for(int j=0; j<20000000; j++) {
			if( j%2 == 0 )
				r.Match(@"qwertyuiop[]asdfghiopiopjkl;'zxcvbnm,./");
			else
				r.Match(@"qwertyuiop[]asdfghjkl;zxhjkhjkcvbnm,./");
		}
		Console.WriteLine(string.Format("End at {0}", DateTime.Now));
	}
}

Получил след результатики (на последнюю инстанцию ессно, не претендую):

C:\test>"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc.exe" a.cs 
C:\test>a.exe
Begin at 23.07.2010 0:01:20
End at 23.07.2010 0:01:37
--------------------------------------------------------------------------------
C:\test>"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe" a.cs 
C:\test>a.exe
Begin at 23.07.2010 0:01:38
End at 23.07.2010 0:01:51
--------------------------------------------------------------------------------
C:\test>"C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe" a.cs 
C:\test>a.exe
Begin at 23.07.2010 0:01:53
End at 23.07.2010 0:02:06
--------------------------------------------------------------------------------
C:\WINDOWS\Temp>"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\csc.exe" a.cs 
C:\WINDOWS\Temp>a.exe
Begin at 23.07.2010 0:16:55
End at 23.07.2010 0:17:13
--------------------------------------------------------------------------------
mono 2.6.1
C:\test>call "C:\Program Files\Mono\bin\mcs.bat" -o+ a.cs 
C:\test>a.exe
Begin at 23.07.2010 0:10:24
End at 23.07.2010 0:10:41
--------------------------------------------------------------------------------
mono 2.6.1
C:\test>call "C:\Program Files\Mono\bin\gmcs.bat" -o+ a.cs 
C:\test>a.exe
Begin at 23.07.2010 0:10:42
End at 23.07.2010 0:10:56
--------------------------------------------------------------------------------
mono 2.6.7
C:\WINDOWS\Temp>call "C:\Program Files\Mono-2.6.7\bin\mcs.bat" -o+ a.cs 
C:\WINDOWS\Temp>a.exe
Begin at 23.07.2010 0:29:54
End at 23.07.2010 0:30:17
--------------------------------------------------------------------------------
mono 2.6.7
C:\WINDOWS\Temp>call "C:\Program Files\Mono-2.6.7\bin\gmcs.bat" -o+ a.cs 
C:\WINDOWS\Temp>a.exe
Begin at 23.07.2010 0:30:21
End at 23.07.2010 0:30:42

В общем, что видно:

1. Для С# 1.0 генерится одинаковый по скорости код. Но до 2,6,7 было лучше.

2. Для C# 2.0+ негрософтовское поделие сгенерило более быстрый код, нежели новелловское.

3. .NET 4.0 и слово «говно» сейчас являются синонимами в смысле эффективности, не запаха.

4. «сраное моно катится в сраное говно»(tm) - это тоже верное высказывание: 2.6.1 явно шустрее 2.6.7

PS Интересно буит сравнить dmcs vs csc для 4 донета

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

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

Касательно же статистики, то специально для Вас уточню: разница между прогонами - плюс-минус 1 к означенным результатам, да и статистика, имхо, тут особой роли не играет - мне была важна картина ы целом, а не количественные результаты.

Что же касается

Да и windows *выпученные красные глаза*!

Вас что-то смутило? Штанишки наполнились негодованием?

yaws
()
Ответ на: комментарий от ahonimous

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

+1! Дураков сейчас просто вал. Экология, наверное. Или Фурсенки хорошо работают.

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

> Могу ошибаться, но я почему-то считаю, что сборка мусора в основном нужна тем, кто не может написать программу без утечек памяти.

Ты просто нуб.

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

>А я писал про то, что Silverlight заменяет сейчас все те сайты для внутреннего пользования, что клепались на ASP.NET.
Интересно.
А как на Силверлайте можно заменить сайт написанный на asp.net?
Неужели и достук к базе и бизнес логику в браузере крутят?
Или вместо HTML ?

Silverlight это как бы тоже .Net, смысл высказывания не распарсил.

Silverlight это как бы технология сделанная на основе .Net и в .Net не входит. т.е. когда вы устанавливаете .Net Силверлайт у вас автоматически не появляется.

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

Другого и не ждал :-D Школиё тестирует. Сам так тестировал когда был тупее, чем сейчас. Хотя если вы для тестов вы бы запускали vmlinux init=/home/усер/bin/test, ну тогда, наверное можно было бы и не усреднять. В идеале же нужно было бы статистику собрать. Оценить ряд на достоверность и т.п., ну да Вам же просто сернуть, тогда искренне прошу не обращать на замечания внимания.

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

>На любом ОО языке можно писать в стиле ФП. ФП не есть свойство языка.
Ээээ я как-бы это доказываю в отношении С#. расскажите мне как можно писать в функцональном стиле на паскале, пожалуйста. Примеры лямбда выражений, автофункции и в частности функции как параметры средствами языка, пожалуйста.

Да и нет никакой пропасти между ФП и ОО. И что Scala, что F# это очень хорошо доказывают.

А зачем же тогда Scala изобретали, если по вашему и Java можно обойтись?

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

Д и вот ещё чего, туп страуса давно пытается этот ваш GC затянуть в C++0x. Правда он умный мужик и его хватает чтобы желать его сделать опциональным, типа: «Режим ламера/enterprise активирован».

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

> А зачем же тогда Scala изобретали, если по вашему и Java можно обойтись?

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

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

> туп страуса давно пытается этот ваш GC затянуть в C++0x

«Режим ламера/enterprise активирован»


насколько я знаю, пока просто не получается написать быстрый GC, а медленный не нужен - т.к. проще взять ту же Java, так бы GC уже давно включили в C++0x

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

для долгоживущих объектов очень сложно писать для каждого new свой delete.

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

> Прикольно а где он используется?

автодополнение/рефакторинг/подсветка/заготовки и пр., на порядок лучше и быстрее того, что идет «из коробки»

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

Я, к примеру могу вам объянить для чего МС изобрела F#. Вовсе не из научного интереса. Для применения в финансовых учреждениях, где языки с развитыми возможностями ФП очень востребованы.

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

>МС изобрела F#

О как! Значит, MS изобрела не только персональный компьютер, графический интерфейс, Age of Empires и Интернет? :D

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

>Хотя если вы для тестов вы бы запускали
Специально для таких продвинутых, как Вы (эстет, эксперт, и прочий брюзга - короче тролль) - разжую. Обратите внимание на время исполнения циклов. Подумайте. А лучше - попробуйте на своей тачке. Сравните. Все-таки пиздеж (а Вы это умеете!) в отрыве от фактов - дело неблагодарное и малоконструктивное. Но я, правда, от Вас не жду столь сурового напряжения мозга - судя по Вашему профилю, многого от Вас ждать, все же, не приходится...


ps Касательно же рядов...
Ну вот скажите мне, при флуктуации результатов +/- 1 вокруг означенных для всех выборок неужели отклонение и вариация будут такими уж критичными?

yaws
()
Ответ на: комментарий от farafonoff

> А кому приятно пользоваться падающими программами? может ты еще и KDE4 используешь?

Gnome

ahonimous
()
Ответ на: комментарий от farafonoff

> Попробуй отловить какую-нибудь багу в Qt. В некоторых моих программах они даже воспроизводимы.

так багрепорть - я так и поступаю, баги они ж разные бывают - не только креша

ahonimous
()
Ответ на: комментарий от farafonoff

> Совет тебе: не называй переменные p и pp.

это не его код

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

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

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