LINUX.ORG.RU

Вышел Mono 2.6.7

 ,


0

0

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

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

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

★★★★★

Проверено: JB ()

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

> Ну так а что мешает плюсисту использовать смарт-поинтеры для каждого кусочка динамически выделенной памяти? :)

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

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

> зря обиделся - просто так и есть, настоящие мужики пишут на С или функциональщине, а те кто выполняет трудовой план на благо интерпрайза - на С#/Java

Настоящим мужикам плевать на то, что должен делать «настоящий мужик» :)

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

> Настоящим мужикам плевать на то, что должен делать «настоящий мужик» :)

а я разве написал про «должен»? просто так получается ;)

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

> у C# ... какие преимущества

Anders Hejlsberg, вестимо.

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

Пока что мне платят за Silverlight ;-) На HTML5 как-то нет проектов.

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

Можно Mono сравнивать с разными технологиями, но одно точно:

Mono НИКОГДА не будет ни лучше ни быстрее .NET

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

>Mono НИКОГДА не будет ни лучше ни быстрее .NET

Почему? Вон мне тут уже пообещали, что с новым GC в следующем релизе моно порвёт дотнет :)

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

Нормальный язык, много фич. Не такой мощный как Scala, а с другими успешно конкурирует

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

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

А ведь распределение памяти - это инфраструктура, имеющая к проекту примерно такое же отношение, как реализация драйвера работы с базой данных. Т.е. никакого, если проект - не драйвер базы данных. Программисты любят писать инфраструктуру, а не задачу, но всё это давно реализовано в виде GC, ORM, и т.п. Написание своего - это кража денег у заказчика. Всё равно как взять деньги на постройку дома, а потратить половину на организацию цементного завода.

Простое правило - чем меньше инфраструктуры, тем продуктивнее программист.

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

Садись - два. Моно - кросплатформенно, а это очень многое.

anonymous ()

Интересно: как с производительность C#+LLVM?

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

> Написание своего - это кража денег у заказчика

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

всё это давно реализовано в виде GC, ORM, и т.п.


первое никто сам не реализует - даже в С++ берут готовый smart_ptr, второе чисто enterprise - да там много денег, но меньше всего творчества в программировании, потому я и писал про «обезьянок», не стоит воспринимать это как оскорбление - под этим словом я понимаю только людей, которые хотят быстро написать, сдать и забыть, и если человеку нафиг не интересно программирование само по себе - то он будет глубоко прав не заморачиваясь всякими С/C++/CL/Python/Smalltalk etc.

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

> первое никто сам не реализует - даже в С++ берут готовый smart_ptr, второе чисто enterprise - да там много денег, но меньше всего творчества в программировании, потому я и писал про «обезьянок», не стоит воспринимать это как оскорбление - под этим словом я понимаю только людей, которые хотят быстро написать, сдать и забыть, и если человеку нафиг не интересно программирование само по себе - то он будет глубоко прав не заморачиваясь всякими С/C++/CL/Python/Smalltalk etc.

Еще как реализуют )) Причем, зачастую, о-о-о-очень криво.

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

> Еще как реализуют )) Причем, зачастую, о-о-о-очень криво.

ни разу не видел :) свой malloc, pool, new - да, но это ж не GC

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

> ни разу не видел :) свой malloc, pool, new - да, но это ж не GC

В одной из бывших контор была своя реализация GC...

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

> программирование само по себе

Речь идёт о проектах, которые интересны заказчикам. Если ты пишешь компилятор или фреймворк - занимайся программированием «самим по себе» сколько угодно, в своё удовольствие. Что там интересно разработчику - для проекта вообще не имеет никакого значения, всё определяется исключительно целесообразностью.

меньше всего творчества в программировании


Ну конечно, интереснее взять язык, приятный лично тебе, а не подходящий для конкретной задачи.

это правильно для «одноразовых» заказов

быстро написать, сдать и забыть



Представь, GC, как и ORM, придумали как раз для long-term проектов, ибо поддерживать их не в пример проще, чем трёхколесные велосипеды с движком от мерседеса. Для «одноразовых» проектов же GC/ORM просто экономят время. Т.е. они нужны в обоих случаях.

На самом деле, есть случаи, когда GC/ORM не стоит применять - критична производительность, например. Но случаи такие так же редки, как ассемблерные вставки.

queen3 ★★★★★ ()

Чем оно лучше python?

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

> В одной из бывших контор была своя реализация GC

я надеюсь, что это исключение :)

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

> Managed язык, в отличии от плюсов

Что не мешает ему сочно протекать как памятью, так и ресурсами. Если допустить идиотов к программированию (о чём так радеют микрософт сотоварищи), никакой «managed-язык» не спасёт от глюков.

Развивается интересно: лямбды (нормальные!), LINQ, может быть макросы приделают


И чем этот греческий салат в перспективе лучше остальных? Тем, что всыпали over 9000 тонн сахара в синтаксис? И продолжают всыпать?

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

Не GC, зато своё управление памятью. Суть та же. Болезнь зачастую называется «not invented here»: http://www.c2.com/cgi/wiki?NotInventedHere

If you comply strictly with it, it can do wonderful things for you:

- It allows you to spend several months programming a parameter marshaling layer to shield application developers from the difficulties of CORBA.
- It justifies spending even more time on writing a general purpose library (containers, strings, etc.) in order to stay independent of third party library
- Providing important software components like these significantly improves your visibility within the organization, your efforts will be rewarded and your name will be praised - though not necessarily by the application developers who have to use your stuff...
- It pads your résumé with those critical research & Computer Science topics in such demand in labs without deadlines.

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

> Речь идёт о проектах, которые интересны заказчикам

а что, кроме enterprise ничего не существует?

Ну конечно, интереснее взять язык, приятный лично тебе, а не подходящий для конкретной задачи.


вы еще скажите, что кроме C#/Java остальные языки не нужны, или практически не нужны

Представь, GC, как и ORM, придумали как раз для long-term проектов, ибо поддерживать их не в пример проще, чем трёхколесные велосипеды с движком от мерседеса

На самом деле, есть случаи, когда GC/ORM не стоит применять - критична производительность



а теперь еще раз читай, что я писал про «убирать узкие места», да и такое ощущение, что вы мыслите только категориями работы с БД

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

> Не GC, зато своё управление памятью. Суть та же. Болезнь зачастую называется «not invented here»

срочно напишите авторам apache, chrome, firefox и т.д., что они идиоты

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

> Нельзя никак

RAII для кого сделали? Всякие shared_ptr-ы, unique_ptr-ы, и иже с ними — для кого?

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

А вот это ооочень сомнительно. Зачем нужен-то мунлайт? Я не видел еще сайтов, юзающих сильверлайт, кстати.

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

Ох лол, моно уже лучше, надо теперь чтоб быстрее был

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

>> или кому важней скорость написания, C, например, однозначно заруливает все языки( даже CL ;) ), но пишется на нем код относительно долго, в то время как на Java/C# любая обезьянка быстро наклепает решение - и пусть оно будет не такое быстрое, но зато уже есть что показать/продать

Обезьянки обычно оставляют такие комментарии


Именно так считает школота, не работавшая ни разу ни в одном проекте.

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

С каких это пор профессионалы, зарабатывающие деньги, стали обезьянками. А «творческие» студентики с моторчиками, которые знают всего понемногу, стали программистами?

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

Ну приведите пример кода, где освобождение памяти занимает много времени и усилий, и ради этого можно пожертвовать производительностью? Чтобы для каждого new был свой delete — для этого особого труда не надо.

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

> Именно так считает школота, не работавшая ни разу ни в одном проекте.

куда нам - на php писать

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

> И чем этот греческий салат в перспективе лучше остальных? Тем, что всыпали over 9000 тонн сахара в синтаксис? И продолжают всыпать

Функ. стиль программирования, все дела.

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

> С каких это пор профессионалы, зарабатывающие деньги, стали обезьянками. А «творческие» студентики с моторчиками, которые знают всего понемногу, стали программистами?

профессионалы не сидят и не пишут очередную поделку для работы БД для enterprise, они как раз создают инструменты и руководят такими «обезьянками», а если и пишут - то уже сложные системы, на которые те же обезьянки потом ссылаются

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

>Я не видел еще сайтов, юзающих сильверлайт, кстати.

station.ru
sportbox.ru
prlib.ru

Разработчикам этих сайтов (особенно последнего) надо бы морду набить. Но пока никто не набил.

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

Плюсатый GC, если что, в одной из книжек Шилдта реализован

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

> Плюсатый GC, если что, в одной из книжек Шилдта реализован

он и в MSVC реализован - но это не относится к написанию своего GC под отдельный проект

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

А что, enterprise не существует? Или остальных over9000 задач, где задумываться о памяти нет смысла? Речь о том, что GC полезен для очень широкого круга задач.

подходящий для конкретной задачи.

не нужны


Похоже, концепция выбора инструмента под задачу, а не под свои предпочтения и фантазии, приходит только с опытом/возрастом, и то не ко всем.

узкие места


man «premature optimization». Давай на ассемблере всё писать? А то вдруг узкие места. Для таких случаев придумали хороший дизайн и интерфейсы, когда замена/оптимизация, скажем, доступа к данным никак не сказывается на остальном приложении. Легче оптимизировать правильно написанную программу, чем правильно написать оптимизированную.

Впрочем, вы пишите, пишите нерасширяемые и несопровождаемые велосипеды. Через два года, когда это г...о станет невозможно поддерживать, его обязательно будут переписывать. Нам, программистам, будет работы больше, новые заказы. Так что всё тип топ.

вы мыслите только


Нет, это _вы_ почему-то исключаете из рассмотрения значительную часть задач. Я же говорю, что каждой задаче - свой инструмент, поэтому не понятно, почему это GC априори - для тех, кто не осилил ручное создание велосипедов. Рихтера что ли .NET CLR почитайте, может понравится, осознаете, что красноглазить можно и на .NET, как и писать хомячковый говнокод - на C++. Умение переопределить new[] не делает вас гуру, а программу - гениальной и полезной для мира.

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

>> зачастую

Срочно напишите мне, какой процент проектов в мире нуждается в собственной реализации GC. Или уже, каждому заказчику рассказываете, что в apache/chrome/firefox сидят не идиоты, поэтому мы тоже в наш online shop, или music player запихнём свои реализации GC, а также плагины и UI тулкит?

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

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

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

Потому что место silverlight-а - у параши в intranet-ах, я бы сказал. Ну, тот самый ынтырпрайз.

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

> А что, enterprise не существует?

существует - но я уже написал, что хорошо, что есть C#/Java для него

Похоже, концепция выбора инструмента под задачу, а не под свои предпочтения и фантазии, приходит только с опытом/возрастом, и то не ко всем.


согласен - нельзя быть таким узколобым и не замечать, что есть C/Haskell/CL etc.

man «premature optimization». Давай на ассемблере всё писать? А то вдруг узкие места


зачем - есть С

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


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

почему это GC априори - для тех, кто не осилил ручное создание велосипедов


придется кричать - КТО ВАМ СКАЗАЛ, ЧТО Я ПОЛЬЗУЮСЬ ВЕЛОСИПЕДАМИ? никаких реализаций GC я не использую, только стандартные smart_ptr + new/delete + malloc/free

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

> Срочно напишите мне, какой процент проектов в мире нуждается в собственной реализации GC

а кто вообще говорил про GC? они используют свой пул - если что это не одно и то же

Или уже, каждому заказчику рассказываете, что в apache/chrome/firefox сидят не идиоты, поэтому мы тоже в наш online shop, или music player запихнём свои реализации GC, а также плагины и UI тулкит?


зачем?? есть апачевская реализация пула, я ее однажды использовал( получил 20% прироста скорости ), есть Qt - которым я также пользуюсь

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

Тогда так: GC - это хорошо. В большинстве проектов следует начинать с её использования. 95% проектов в мире только выиграют от использования GC, ORM, лябд, функционального программирования, и любых других вещей, которые помогают не отвлекаться от задачи, увеличить производительность, улучшить читабельность кода, упростить сопровождение.

есть С


Действительно, давайте всё писать на С. А то вдруг узкие места. Скрипты, доступ к базам, веб, десктопные приложения, фреймворки, утилиты.

Давайте откажется от AOP, ORM, IoC, моков, рефлекшна, и прочего.

есть C/Haskell/CL


А у них - свои задачи. Зачастую весьма узкие. Нет, я Weblocks с интересом рассмотрел, но без мощной инфраструктуры и поддержки вокруг я туда лезть не стану. Кстати, хаскель/CL - отстой, у них GC. Нормальные пацаны, как известно, вручную работают с памятью.

только стандартные smart_ptr + new/delete + malloc/free


Но зачем?

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

> Это которые unsafe код пихают?

это которые глобальные переменные объявляют

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