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

o-0-0-0

Пользователь
Регистрация
06.07.14
Сообщения
1
Реакции
0
Баллы
1
5 лет назад я начал создавать свой собственный веб-сайт с нуля. Это платформа для покупки и продажи товаров, похожая на Ebay или Gumtree.

Я решил построить его с использованием ASP.NET MVC 5 и C#. У меня был опыт работы с C++ и кое-какие знания о Java, поэтому имело смысл работать с C#. После 5 лет работы над платформой я вполне доволен своим решением, у C# есть большое преимущество:
  1. Как и Java, он управляет памятью за вас, поэтому вам не нужно беспокоиться о выделении и повторном распределении памяти.
  2. Подобно Java, он использует JIT-компилятор, который позволяет иметь переносимый код.
  3. Это настоящий объектно-ориентированный язык программирования.
  4. Имеет отличный редактор (Visual Studio).
К сожалению, обычно мы запускаем C# на машине с Windows, которая дороже, чем Linux... поэтому мы можем утверждать, что это недостаток C#... однако я думаю, что это не так уж и важно. Программисты намного дороже компьютеров. Если язык программирования может помочь программистам сэкономить время, то его все равно стоит использовать, даже если он работает в Windows.

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

Solottov

Пользователь
Регистрация
05.01.12
Сообщения
4
Реакции
0
Баллы
1
Да. С# не поддерживает Множественное наследование. Однако вы можете получить свой класс из нескольких интерфейсов. Этот подход лучше с точки зрения чистой архитектуры. Я тоже начинал с C++, потом перешел на C# и обнаружил этот «недостаток». Но потом я понял, что это преимущество.
 
Сверху Снизу