Рубрика «C#»
ООП: худшее, что случалось с программированием
2025-02-26 в 10:35, admin, рубрики: C#, Go, java, TypeScript, объектно-ориентированное, ооп, парадигмы программирования, паттерны программирования, ФП, функциональное программирование
В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты Java (C#, C++ и т.п.) в принципе не могут считаться крутыми инженерами, а код на Java - хорошим.
Всем привет. Не так давно добавлял поддержку кастования через 'as' к себе в компилятор и задался вопросом - в каких случаях я получу Compile Time ошибку? Если заинтересовал - прошу под кат.
Решил начать с простого:
class Dog { }
class Cat { }
Dog dog = new Dog();
Cat cat = dog as Cat; // error: CS0039 Cannot convert type 'Dog' to 'Cat'
Тут, вроде, все логично: при кастовании смотрим - является ли тип кастуемого экземпляра дочерним от типа, к которому кастуем; или является ли тип кастуемого экземпляра родительским от типа, к которому кастуем. Если одно из условий верно, то ошибок во время компиляции возникать не должно.
Всем привет, эта статья создана для ребят, которые знакомы с делегатами, но хотели бы разобраться, что это поподробнее.
Что же такое делегаты?
Делегаты - это указатели на методы
Такое понятие нам дает практически каждый сайт, на который мы перейдем по запросу "Делегаты C#".
Также, как мы уже знаем - делегаты это ссылочный тип. Но давайте подумаем, где они храняться, как передаются и просто работают?
Сами методы хранятся в метаданных класса/структуры. "ссылки на методы" для делегатов хранятся в хипе. Но только лишь ссылка на метод храниться в хипе у делегата или что - то еще? Давайте проверим
Мне всё равно, какой у вас код-стайл
2025-02-10 в 4:06, admin, рубрики: C#, Code Style, стиль кодированияОт сервера к десктопу: эксперимент с ASP.NET AOT и WebKitGTK
2025-02-09 в 18:31, admin, рубрики: .net, angular, AOT, ASP.NET, C#, graphql, PInvoke, SkiaSharp, TypeScript, WebKitGTKВведение
Пару лет назад для .NET в Linux не было не то чтобы production-ready фреймворков для создания native desktop приложений, но и экспериментальных. На тот момент существовали Uno Platform и Avalonia (тогда еще бета). Они запускались, работали, но написать реальное и относительно сложное приложение было практически нереально. Сегодня ситуация значительно лучше. Avalonia уже вполне production-ready продукт и является, на мой взгляд, лидером среди desktop фреймворков на .NET для Linux.
В этой статье я расскажу об экспериментальной связке технологий, которую я раньше не встречал нигде и основным мотиватором была проверка жизнеспособности этой идеи.
Еще раз о забытом. Roslyn Source Generators
2025-02-05 в 7:16, admin, рубрики: .net, C#, open source, programming, roslyn, roslyn analyzers, roslyn project, roslyn source generators, software development, обучениеКаждый разработчик часто сталкивается с написанием большого объема рутинного и повторяющегося кода, который имеет один и тот же смысл. Начиная с C# версии 9 появилась возможность генерации кода, которая интегрирована напрямую с компилятором. Такой подход позволяет избавиться от множества строк шаблонного кода. О нём сегодня и поговорим.
Многофакторное аппроксимирование на платформе .Net. Часть первая. Теория
2025-02-02 в 6:16, admin, рубрики: C#, аппроксимация, регрессияВ современном мире анализа данных регрессионный анализ занимает центральное место, предоставляя мощные инструменты для выявления и количественной оценки взаимосвязей между переменными. Он позволяет исследователям и аналитикам не только описывать существующие зависимости, но и прогнозировать поведение систем на основе имеющихся данных. Одним из наиболее распространенных методов регрессионного анализа является метод наименьших квадратов, который стремится минимизировать сумму квадратов отклонений между наблюдаемыми и предсказанными значениями.
Мой путь к быстрой и понятной архитектуре, или зачем я выбросил агрегаты из DDD?
2025-01-26 в 13:15, admin, рубрики: .net, aggregate, C#, DDD, domain model, domain-driven design, Entity, repository, services, use caseДанная статья затрагивает некоторые аспекты при выборе подхода к проектированию предметной области для сложных корпоративных систем. В ней исследуются причины возникновения классических подходов и их анализ, для возможного улучшения. Это моя первая статья на данную тему.
Раньше, что бы лучше освоить язык программирования, в моем кругу общения считалось, что «программист» должен написать свою реализацию «Блокнота», «Калькулятора», «Экселя» и прочего. Конечно освоив перед этим сортировку пузырьком.
Шли года, менялись задачи. Менялась мода на технологическое направление в IT: разработчик баз данных, web разработка, мобильная разработка, Data майнинг, и вот теперь великий и могучий искусственный интеллект (ИИ). А там где мода — там есть деньги. Ну вы поняли.
Признаюсь, у меня было много попыток войти в айтиЧитать полностью »