LINUX.ORG.RU

Microsoft открывает исходные коды .NET, а также заявляет о кросплатформенности (включая GNU/Linux)

 , , , ,


10

10

В среду, 12 ноября, корпорация Майкрософт объявила об открытии исходных кодов платформы .NET (в частности, .NET Framework 4.6 будет доступен под лицензией MIT), включая ASP.NET, компилятор, рантайм и др., заявлено о поддержке нескольких платформ, в том числе и линукса.

Кроме того, заявлено о бесплатной версии IDE VIsualStudio, а также о поддержке разработки приложений для iOS, Android.

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



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

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

От ЯПа, а точнее от ручной сборки мусора в нём. В шарпе и паскале сборка мусора автоматическая. Это уже надо сильно постараться, чтобы там сделать утечку памяти, а в программе на C/C++ достаточно только где-то free/delete забыть. А ошибке в коде всегда будут, тут что хочешь делай.

peregrine ★★★★★ ()
Ответ на: MSVC 2013 Community от EXL

Давно им нужно было свои инструменты релизнуть таким образом.

И не говори, я помню скольких усилий стоило году эдак в 2007 найти VS 2005 на ближайшем радиорынке... кроме шуток. Хотя все-таки запоздало немного.

По теме: какую сборку QT она подхватила для Студии или MinGW?

Twissel ★★★★★ ()
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от grim

Java говно, но зато она минимальна. В ней очень мало ненужных фич, и это хорошо. Сишарписты же помойку из ключевых слов в своем языке пытаются трактовать как плюс.

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

паскале сборка мусора автоматическая.

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

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от peregrine

достаточно только где-то free/delete забыть

Ну я так и говорю - от рук кодера, ну или мозгов.

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

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

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

Апологеты с++11 нынче new/delete и обычные поинтеры использовать не рекомендуют вообще нигде, а рекомендуют STL и смарт поинтеры, которые RAII-compliant. С таким подходом кресты становятся похожи на шарп или яву, если закрыть глаза на анархию в синтаксисе и общую многословность (от объявления двухмерного std::vector, например, хочется лечь и заплакать)

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

а корпоративщик 1 может заменить 1000-2000 доходов с каждого ПК.

Почсчитаем миллиард компов это 1e9, доход с одного компа - x, таким образом общий доход от всех компов = x*1e9.

Пусть число корпоративщиков y.Предположим что доход с одного корпоративщика равен 1000*x, значит только для того чтобы получить от всех корпоративщиков хотя бы тот же доход что и от компов надо чтобы было: y*1000*x=x*1e9

Из этого следует что y=1e6, то есть нужно иметь один миллион корпоративщиков.

anonymous ()

Кроме того, заявлено о бесплатной версии IDE VIsualStudio

Под оффтопик всегда существовала и существует Visual Studio <версия> Express, хоть она и требует регистрации на сайте мелкософта, но всё же бесплатна.

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

Много-ли пользователей ПК покупают винду самостоятельно?

У меня сложилось впечатление, что за пределами РФ и СНГ во все поля идет ОЕМ. Убунта вон тоже бесплатная, а деньги на ОЕМ контрактах зарабатывают

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

Ты видать новость не читал. Express - жалкий обрубок. А тут есть поддержка расширений из платной версии + всякие технологии MS поддерживаются WPF, MFC, ATL и иже с ними.

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

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

Кстати да. Тоже офигел, когда увидел.
Таким образом MSVS первая IDE, использующая libgit2? Лол. Где там всякие QtCreator'ы и Eclipse?

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от Twissel

Для студии конечно. Она у меня была на компе, использовал в Qt Creator. Просто поставил Visual Studio Add-in 1.2.3 for Qt5 и всё подхватилось и в Community-версии. Чему я был очень приятно удивлён.

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

Под оффтопик всегда существовала и существует Visual Studio <версия> Express, хоть она и требует регистрации на сайте мелкософта, но всё же бесплатна.

Express не умеет плагины. Express не умеет кучу всего. Community это как Pro, только бесплатно. Умеет все.

umren ★★★★★ ()

Все. Ставлю Виндовз 8.1 и пишу на шарпе. Майкрософт форева!

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

ОЕМ

OEM по твоему бесплатен что-ли, просто его цена входит в стоимость железа.

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

Пункты спецификации которым не удовлетворяет
существующая реализация .net framework, в студию.

не все так просто, анон!

например, в док-икс таких пунктов тоже «не так много»))) действительно! откуда в спецификации взяться запрету на включение в файл недокументированных структур?! ))))

Кроме того, если все так круто и просто - то почему до сих пор на «моно» нельзя собирать любую C# программу так-же легко, как это делается на Java?

Denjs ()
Последнее исправление: Denjs (всего исправлений: 1)
Ответ на: комментарий от Denjs

то почему до сих пор на «моно» нельзя собирать любую C# программу так-же легко

за ненадобностью же, это очевидно.

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

Зато если писать на С++ правильно то утечек памяти не будет, при максимально возможном быстродйствии и минимально возможных затратах памяти. А на шарпе утечек памяти не будет, но и результат как ты ни пиши будет весьма посредственным. Другими словами на С++ можно писать и очень хорошо и очень плохо. А на Шарпа результат может быть только средним, то есть посредственным. Говорю не как диванный аналитик ибо немножко кодил на Шарпа и знаю его недостатки.

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

Потому что в спецификацию дотнета входит только система типов, байткод и базовые библиотеки. Понятно что этого не достаточно для гарантированной компиляции на моно любого мало мальски серьёзного кода. Да и идея, что на всех платформах можно использовать один и тот же графический тулкит, уже немножко себя изжила, особенно с появлением (точнее, возвращением) Маков.

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

Вообще-то принцип наименьшего удивления много важней количества фич и ключевых слов. В джаве мало ключевых слов из-за обратной совместимости. А так джава с опозданием, но всё-таки реализует шарповские фичи, только вот вводятся они без поддержки языка. Сейчас в джаве начали городить костыли для поддержки беззнаковых типов. Выглядит это совершенно феерично, зато нет шарповской «помойки из ключевых слов» - sbyte, ushort, uint, ulong - это же всё так сложно!

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

откройте секрет, зачем мне вызывать функции ядра из Java ? в приложении, работающем на всех 3х системах? про гемор сборки бинарников под разные системы и их вариации (32/64 бит) тоже стоит упомянуть. Про память - смешно, среднее Swing/JavaFX приложение жрет примерно столько же как и Qt.

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

Про память - смешно, среднее Swing/JavaFX приложение жрет примерно столько же как и Qt.

okaay

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

Stroustrup: Oh, definitely. C++ is designed for fairly hardcore applications, and it's always been used together with some scripting language or other. When I started, I used C++ for anything that required a real programming language and real performance. Then I used the Unix shell as my scripting language. That was how it [was done], and that's also the way things are done in most of the cases today. [C++ is for] high performance, high reliability, small footprint, low energy consumption, all of these good things. I'm not saying hobbyists, I'm not saying quick apps. That's not our domain.

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

— Постоянное ублажение копирайтеров (на том же YouTube аккаунты блокируются только в лёт, даже часто непричастные)

Вай-вай, воровать не дают...

— Регулярный цикл покупка/закрытие сторонних проектов (кладбища проектов уже на десятки имён)

То что ненужно - ненужно. Компромиссы - тормозят развитие.

— Страшная закрытость в общении с потребителями, обратная связь с Гуглом в его ресурсах практически отсутствует (имею богатый печальный опыт в AdSense, Webmasters)

Таких как ты овер 9000, каждый жалуется на «зобанели низачо ваще», при подробном просмотре оказывается каждый обиженный хотел немного подкрутить баблосов, но получил в табло.

сколько лет назад обещали API в G+?

Иди изучай. https://developers.google.com/ /api/latest

До сих пор постить туда нормально нельзя

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

— Выдавливание открытых технологий и отказ от них.

Чего? Ну-ка ну-ка поподробней?

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

Stroustrup: ... Then I used the Unix shell as my scripting language

так вот отсуда в c++ убожество вместо синтаксиса

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

Про память - смешно, среднее Swing/JavaFX приложение жрет примерно столько же как и Qt.

Ахахаха_OH_WOW.jpg

Простейшая форма с кнопкой на Qt — 2-3 MB RAM.

IDA Pro сразу после запуска — 12 MB RAM.

Простейшая форма с кнопкой на Swing/JavaFX — >=50 MB RAM.

Про память - смешно

Смейтесь дальше.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

У меня месячная зарплата равна нулю ибо безработный :) Спасибо за разъяснение, новость полную действительно не читал.

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

Autotools, например, создан культями инопланетян.

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

Daily reminder что so called "smart" pointers не защищают от утечек, поскольку решение делать ли указатель weak всё равно остаётся за человеком. А читая ЛОР всё больше убеждаешься, что людям и горелую спичку-то доверять опасно, не то что работу с памятью.

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

касается тех, кому хватает ума сравнивать refcounting с полноценным гц.

Ум необычного размера нужно иметь как раз для того, чтобы не считать reference counting сборкой мусора...

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

Куда? К посту, который я написал в твоём воображении, и на который ты ответил? В моей реальности я говорил о сравнимости, а не принадлежности.

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

«То что ненужно - ненужно. Компромиссы - тормозят развитие.»

Выкупить конкурента и закрыть его - это не развитие.

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

Да не вопрос, добавь «полноценной».

CPython же, например, не обходится просто подсчётом ссылок, по понятным тебе причинам. Так что вполне правильно он сказал, что одним этим подсчётом ссылок полноценную сборку мусора не сделать.

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

Очень сложное?

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

Тот же Страуструпп, советовал пользоваться подмножеством С++ необходимого для решения задачи, о чем забывают многие изучающие это ЯП.

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

откройте секрет, зачем мне вызывать функции ядра из Java ?

За тем-же зачем и из других ЯП.
http://www.linux.it/~rubini/docs/ksys/ksys.html
System calls have always been the means through which user space programs can access kernel services.

в приложении, работающем на всех 3х системах?

Да.
А почему не в 100500?

про гемор сборки бинарников под разные системы и их вариации (32/64 бит) тоже стоит упомянуть.

Упомяните, потешьте себя.

Про память - смешно, среднее Swing/JavaFX приложение жрет примерно столько же как и Qt.

Это всего лишь говорит о вашем незнании проблемы.
Причем я говорю не о Qt а о вашем незнании Java

grim ★★★☆ ()
Последнее исправление: grim (всего исправлений: 3)
Ответ на: комментарий от Deleted

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

Ну строки и массивы интов вроде бы не текут. Но вот с объектами утечки будут, куда ж без них. А если привязываться к API ОС, то там еще проще утечку сделать, т.к. часто приходится юзать указатели и всякие New/Dispose. В оригинальном паскале утечек нет, но там все заканчивается на writeln и математических функциях... а на них далеко не уедешь.

anonymous ()

В удаленных нашел только один толковый пост, вытащу

Критика Java

  • где замыкания?
  • где лямбды?
  • где свойства?
  • где шаблоны? Разработчики Sun вынуждены только облизываться. Даже генерики, введённые в 5-й версии Java — не более, чем syntactic sugar. Дотнетовские генерики это реально поддерживаемые платформой типы, которые расширяются на лету при загрузке, котрые оптимизируются JIT-компилятором. Для Java генерики существуют только в коде и ни JIT, ни загрузчик классов их никогда не видит. Поэтому проблемы боксинга, преобразования типов в runtime просто скрыты от программиста.
  • где делегаты/евенты?
  • где partial-классы?
  • где детерминированное освобождение ресурсов (ключевое слово using + интерфейс IDisposable)?
  • где оптимизация JVM для расширений процессоров?
  • где аналог linq и в частности удобные мапперы?
  • где расширения методов класса?
  • где скрытая имплементация интерфейсов?
  • где перегрузка параметров функций?
  • где нормальное потребление памяти приложением?
  • где быстрая работа приложения?
  • где нормальные иде, с полноценными дизайнерами?
  • где пользовательские value types?
  • где методы у инстансов value types?
  • где var и анонимные типы
  • где перегрузка операторов?
  • где оптимизиции хвостовых вызовов? (в свете фунционального хайпа это должно вызывать некоторый батхёрт)
  • Где чёткое разделение домены и сборки? Это не учитывая, целый ворох технологий недоступный понимаю жабоиндусов, такие всякие сильверлайты/вин-веб/формочки, впф, XNA, список можно продолжать бесконечно, как впрочем и список ущербности жабы...


Всего, чего нет в жабе, автоматически объявляется ***, как только это появляется в жабе, это автоматически становится !***. При этом, требуется сделать вид, что *** это называл кто-то другой.

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

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

ассемблер смотрит на тебя как на итог цикла пищеварения

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

где замыкания?
где лямбды?

В Java 8.

где шаблоны?

Стоит поправить «обобщённые типы», а то .NET-овские generic'и тоже не шаблоны (как в С++).

где partial-классы?

Мне интересно а зачем они нужны? Серьёзно.

где детерминированное освобождение ресурсов (ключевое слово using + интерфейс IDisposable)?

try-with-resources из Java 7.

где расширения методов класса?

extension methods в смысле? Если да, то они не нужны, нужны функции вне классов (плюс, возможно, ADL).

где перегрузка параметров функций?

что?

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