Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Да ни на что это не влияет. В яве лямбды появились полгода назад. В шарпе они бог знает сколько. Как же они жили до этого? Да очень просто и непринужденно. Ну появились они, ну ок, будем их использовать, да, удобней, ок, живем дальше*.Лямбды — это не просто «стало удобнее», они дали возможность создания такой штуки как LINQ, которая
Чем проще, понятней и сопровождаемей будет код, тем лучше.
1) позволяет простыню из циклов на несколько страниц свернуть в одну-две строки и превратить императивный код в декларативный;Одну строку на LINQ проще читать и поддерживать чем портянку на несколько страниц
Одну строку на LINQ проще читать и поддерживать чем портянку на несколько страниц
Напомню лямбды в яве пол года.
Какие программисты придут на его место? Что они будет со всем этим делать?
unsafe void Foo(IntPtr ptr, int count)
{
var s = (MyStruct*)ptr;
for(var c=0; c<count; c++)
{
s->Field = c;
s++;
}
}То, что через Unsafe-класс, сильно напоминает работу с памятью из VB6, где всё сводилось к постоянным вывовам kernel32!CopyMemory.На Java уж извините, столько энтерпрайза написано, что C# до такого показателя, очень и очень далеко. Да и нет у C# каких либо киллер фич которые давали бы повод перейти с java на C#.
в джаве есть Стримы, которые, кажется, могут представлять собой замену Linq
Я не говорю про стандартную библиотеку .NET (и ее бы сравнивать с Java SE)
Знаю например и о Autofac (а может Unity или NInject)
и поддержка AOP
Наверное я немного сгустил краски, но ASP.NET это набор библиотек для создания web — приложений
Как минимум поддержка работы с базами данных (Templates, Transactions)
Ну и мессаджинг
А вам с какой с таймзон офсетом или без него? LocalDateTime, ZonedDateTime, Instant и еще много других.
А как там в вашей стандартной библиотеки можно unix timestamp в объект времени и даты перевести?
Ага, вот Spring c помощью AspectJ умеет это делать в одном месте и сам — без попытки скрестить ежа с ужом в вашем коде.
Воу воу — у нас только 2 типа приложений есть? Есть например сервисы обрабатывающие данные в бекэнде и их тоже можно писать с помощью Spring.
Но если вы обратите внимание на начало этой ветки то вы увидите что было сравнение Spring c ASP.Net, я же в резкой и саркастической форме указал на то, что сравнение не корректно.
Заслуга Spring в том что создатели скрестили в нормальном виде кучу библиотек и отдали нам готовый, ясный и непротиворечивый продукт, в котором есть решение для практически любой часто повторяющейся проблемы.
Ок давайте поговорим о System.Collection — которые явный костыль для совместимости с 1.0.
Бла-Бла-Бла — вам это не нужно, а если нужно, то просто самому написать, а если сложно самому написать у нас есть менеджер зависимостей. Вот это да, вот это я понимаю ответ! Не несите такого пожалуйста. У .Net в стандартной библиотеки есть очень хорошо написанные куски — но есть моменты где стандартного функционала явно не хватает.
Оо — как зачем. А весь life-time management мне самому писать? Или разбор конфигурации в 21м веке?
Да вы сделаете так — потом будем думать как сделать в winsdor lifetime scope на wcf — сессию по мультеплексированному коннекшенну, ну или создавать дерево классов руками приковывая зависимости
Задача которую решает Spring очень сложная — создать среду где вы пишите минимум кода и все инструменты у вас под рукой и интегрированы в эту среду. Пока на .Net необходимости в такой среде нет. Но на Java жить без нее уже сложно.
А как там в вашей стандартной библиотеки можно unix timestamp в объект времени и даты перевести?
Возможно, они таки купят Xamarin и сделают все именно на их базе.
имплементировать его на базе *nix будет непросто.Им бы то, что есть открыть, там народ подтянется. Реализация Silverlight для Linux с рендерингом на OpenGL уже много лет существует.
привилегии куску кодаAppDomain
Компиляция в SIMD есть?Mono.Simd
про On stack replacement — интересно! Расскажите, плиз!Ну, если я всё правильно помню, то в Java оно нужно в случае, если рантайм решает, что метод надо бы уже скомпилировать, а он на данный момент выполняется и выполняться будет ещё долго. В .NET компиляция в машинные коды производится при первом вызове. Это же и его недостаток — JIT вынужден применять ко всему коду один и тот же набор оптимизаций, а не заниматься глубокой оптимизацией конкретного участка.
В Mono, понятное дело, везде внутри используется utf-8 для хранения строкВнутри используется UCS-2. При передаче во внешний код да, там идёт перекодирование.
не понятна мотивацияEmbrace, extend, extinguish?
... jQuery17201666310257698811_1415889108864({«cmd»:«vote»,«status»:«ACK»,«data»:{«questionaryId»:«197»,«scheduleId»:«194»,«questionId»:«20644»,«uniqueType»:«4»,«voteType»:1,«rate»:«22»}})
Новая бесплатная редакция Visual Studio с поддержкой расширений;
This edition of Visual Studio is available at no cost for non-enterprise application development.
.NET Framework скоро Open Source и на *nix