Единичные недостатки языка программирования C#

  • Автор темы SmatSnundaKap
  • Обновлено
  • 13, May 2024
  • #1
5 лет назад я начал создавать свой собственный веб-сайт с нуля.

Это платформа для покупки и продажи товаров, похожая на Ebay или Gumtree.

Я решил построить его с использованием ASP.NET MVC 5 и C#. У меня был опыт работы с C++ и кое-какие знания о Java, поэтому имело смысл работать с C#. После 5 лет работы над платформой я вполне доволен своим решением, у C# есть большое преимущество:

  • Как и Java, он управляет памятью за вас, поэтому вам не нужно беспокоиться о выделении и повторном распределении памяти.
  • Подобно Java, он использует JIT-компилятор, который позволяет иметь переносимый код.
  • Это настоящий объектно-ориентированный язык программирования.
  • Имеет отличный редактор (Visual Studio).


К сожалению, обычно мы запускаем C# на машине с Windows, которая дороже, чем Linux.

поэтому мы можем утверждать, что это недостаток C#... однако я думаю, что это не так уж и важно.

Программисты намного дороже компьютеров.

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

Однако у C# есть один существенный недостаток, который действительно заставляет меня дважды подумать, прежде чем начинать с ним новый проект: он не поддерживает Множественное наследование.

Я являюсь большим сторонником принципов чистой архитектуры и объектно-ориентированного дизайна, и чаще всего я оказываюсь в ситуации, когда C # мешает мне создать элегантный дизайн.

Когда я хочу сгруппировать свои компоненты в базовые классы, чаще всего я вижу, что дочернему элементу требуются атрибуты от двух родителей, и, к сожалению, это не то, что вы делаете, используя C#... И, на мой взгляд, это единственный недостаток C#. но очень серьезный вопрос!

SmatSnundaKap


Рег
06 Jul, 2014

Тем
76

Постов
179

Баллов
579
  • 28, May 2024
  • #2
Да. С# не поддерживает Множественное наследование. Однако вы можете получить свой класс из нескольких интерфейсов. Этот подход лучше с точки зрения чистой архитектуры. Я тоже начинал с C++, потом перешел на C# и обнаружил этот «недостаток». Но потом я понял, что это преимущество.
 

Solottov


Рег
05 Jan, 2012

Тем
67

Постов
187

Баллов
552
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно