Pull to refresh
16
0
Send message

Также, хотелось бы отметить блог The Morning Brew, где по будням выкладывается сборник ссылок, понравившихся автору. Очень удобное решение для RSS

Ну, и конечно, не сишарпом едины. Существует Sergey Tihon's Blog, где хайлайтятся ссылки за неделю с F#-уклоном

И чуть не забыл, иногда можно встреть на реддите что-то интересное, например в r/dotnet

Исходя из вашего комментария, стоит перети на .NET :)
Так как он давно кроссплатформенный, как и gui, например, AvaloniaUI, которая использует как раз рассматриваемую skia

WPF на самом деле простой, стоит только перешагнуть через понимание MVVM и окажется, что даже проще разрабатывать, чем на винформах


WPF прекрасно развивается в Avalonia UI :)

Есть еще одна хорошая инфографика, сделанная @robloo


Finalizer (destructor) ~
Тут чисто термилогический вопрос, не нравится вам что в C# finalizer называют ещё и destructor. Ну это и Microsoft так называет (сами ссылку дали)

Тоже так считал до того момента, пока мне не подсказали посмотреть в стандарт C++/CLI. Вот что дает ECMA-372, 1st edition, December 2005:


  1. Лучше расписано в чем заключается различие (8.8.8 Destructors and finalizers).
  2. Дестркутор вызывает метод Dispose (34.7.13.2 Destructors).

К тому же, стандарт CLI говорит о том, что финализатор может вызваться не один раз (I.8.9.6.7 Finalizers — ECMA-335, 6th edition, June 2012).


После этого, думаю, не стоит смешивать эти два понятия :)

Автор допустил ошибку в переводе, let связывает имя со значением, а не создаёт переменную

Извиняюсь, но не могли бы указать на это место?


Спасибо за уточнения!

Вопрос "чем лучше", лучше перевести в "почему функциональное программирование популярно", так как C# смещен в стурону объектно-ориентированного, а F# как раз в функциональщину. И на этот вопрос, думаю, поможет ответить этот текст. Также, что-то можно увидеть в разделе "Сообщать об ошибке или контролировать выполнение программы" текущего текста.


По поводу выделения на фоне других, это можно также прочесть в данном тексте :)

К сожалению, ответить на ваш вопрос не могу. Это лишь перевод статьи, которая мне понравилась, так как F# использовал изредка и вступительное размышление очень близко пришлось

Тоже недавно задумался над тем, как улучшить написание в маркдауне :) Остановился на VsCode и плагинах к нему. Из неупомянутых выбрал:


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

.NET Standard — это лишь API. Ему можно подсунуть любой удовлетворяющий рантайм. .NET — это продолжение идей .NET Standard. Поэтому, если вам не нужны фичи из .NET, то можете смело оставаться на стандарте


When to target net5.0 vs. netstandard

Я на нем и остаюсь (если вы не про core2.0 или боже упаси второй fw).

Про легаси. Речь шла больше про те проекты, где не находят применения новым возможностям по каким-либо причинам. Больше удручает, когда это проиводит к затяжному застою без каких-либо проблем в применимости


С рекордами вы получаете возможность построить граф из коробки

С таким не приходилось связываться, поэтому не могу оценить о чем идет речь :)


Для меня, пока что, рекорды убирают бойлерплейт, связанный с реализацией IEquatable<T>

Можно указать единственный net5.0 TargetFramework и при этом остаться на .NET Framework 2.0 ;)


Целевая платофрма не так важна, как TargetFrameworkIdentifier

Начиная с .NET 5 SDK, этот нугет нет необходимости указывать — сдк сделает это за вас :)

Речь больше шла о реализации IEquatable<T>

Так можно говорить про каждую версию и остаться в итоге на net20 ;)


Теже рекорды особо не нужны, когда можно было просто использовать ValueObject. Но всеже, в каждом релизе, что-то да новое есть, например аттрибут ModuleInitializer или SkipLocalsInit, поднимающие версии рантайма. Да и всякий синтаксический сахар, все-таки, упращает читаемость кода. Поэтому как-то неочень ультимативно заявлять, что новая версия языка, рантайма или SDK ничего не приносит

MAUI — это, по сути, все тот же Xamarin.Forms. Одно из измнений бросающихся в глаза: поддержка macOS переходит под крыло MS.


Например, то, что хотят использовать компилятор, написанный для Avalonia, рассматривают в использовании для WinUI, говорит в пользу авалонии.


Ну, и можно задуматься над тем, что с помощью авалонии можно задуматься о переносе винформ-приложений на кроссплатформ ;)

Предлагаю забыть про былое, про легаси и попробовать разработку на современном фреймворке — .net core 3.1, или его продолжение .net 5 (но лучше подождать возможного 5.1).


Подход к разработке кора изменился: они сначала догнали легаси, а потом перегнали по количеству доступных API (не были перенесены лишь спорные/ненужные), при этом легаси довольно долго находился на мажорной цифре 4, оставшись в итоге там. Внутренние брекинченжи стараются принимать с большой осторожностью. А если вам не понравилось измененное поведения, то вы можете задать вопрос, указав примеры. Достаточно вспомнить нашумевшие темы: изменение в LINQ или string.IndexOf. То есть, разработчики рантайма прислушиваются к мнению сообщества.


К тому же, у вас есть возможность посодействовать развитию дотнета, исправив баги в BCL, или выдвинув Proposal, или опуститься вниз к JIT.


И это только то, что касается dotnet/runtime

Он также записал упращенный рассказ о современном дотнете и его даже можно использовать как введение в область :)


Видео

Кстати, если интересно, то тут есть немного рассуждений о том, как использование МО может помочь КВ

Information

Rating
Does not participate
Registered
Activity