5 лет назад я начал создавать свой собственный веб-сайт с нуля. Это платформа для покупки и продажи товаров, похожая на Ebay или Gumtree.
Я решил построить его с использованием ASP.NET MVC 5 и C#. У меня был опыт работы с C++ и кое-какие знания о Java, поэтому имело смысл работать с C#. После 5 лет работы над платформой я вполне доволен своим решением, у C# есть большое преимущество:
Однако у C# есть один существенный недостаток, который действительно заставляет меня дважды подумать, прежде чем начинать с ним новый проект: он не поддерживает Множественное наследование.
Я являюсь большим сторонником принципов чистой архитектуры и объектно-ориентированного дизайна, и чаще всего я оказываюсь в ситуации, когда C # мешает мне создать элегантный дизайн. Когда я хочу сгруппировать свои компоненты в базовые классы, чаще всего я вижу, что дочернему элементу требуются атрибуты от двух родителей, и, к сожалению, это не то, что вы делаете, используя C#... И, на мой взгляд, это единственный недостаток C#. но очень серьезный вопрос!
Я решил построить его с использованием ASP.NET MVC 5 и C#. У меня был опыт работы с C++ и кое-какие знания о Java, поэтому имело смысл работать с C#. После 5 лет работы над платформой я вполне доволен своим решением, у C# есть большое преимущество:
- Как и Java, он управляет памятью за вас, поэтому вам не нужно беспокоиться о выделении и повторном распределении памяти.
- Подобно Java, он использует JIT-компилятор, который позволяет иметь переносимый код.
- Это настоящий объектно-ориентированный язык программирования.
- Имеет отличный редактор (Visual Studio).
Однако у C# есть один существенный недостаток, который действительно заставляет меня дважды подумать, прежде чем начинать с ним новый проект: он не поддерживает Множественное наследование.
Я являюсь большим сторонником принципов чистой архитектуры и объектно-ориентированного дизайна, и чаще всего я оказываюсь в ситуации, когда C # мешает мне создать элегантный дизайн. Когда я хочу сгруппировать свои компоненты в базовые классы, чаще всего я вижу, что дочернему элементу требуются атрибуты от двух родителей, и, к сожалению, это не то, что вы делаете, используя C#... И, на мой взгляд, это единственный недостаток C#. но очень серьезный вопрос!