Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Что ответить этому программисту на его взгляды о языке программирования C#?

Владимир Смирнов Ученик (6), закрыт 1 неделю назад
Цитата:
1. Его невозможно полностью изучить;
2. Он не работает напрямую так, как написано в коде;
3. Многие его средства неудобны, громоздки, не нужны в большинстве случаев;
4. Некоторые его средства лучше вообще никогда не использовать, потому что они либо устарели, либо ведут к ошибкам;
5. У него нет подробного детального описания того, как всё устроено и работает;
6. В нём постоянно внедряется новый синтаксический сахар, который по сути бесполезен, но маркетинг призывает всех переписывать каждый раз старый сахар на новый;
7. Он не оптимален ни по памяти, ни по быстродействию;
8. Программы на нём тяжело отлаживать и тестировать, потому что используют в массе своей ООП;
9. Чтобы программировать на нём, нужно постоянно покупать новые книги и читать их;
10. Его фреймворки регулярно выкидывают на помойку, что опять ведёт к переписыванию всего и вся;
11. Большинство программистов на нём и слышать не желают про оптимизацию программ и культуру безопасного кодирования, как и про алгоритмы - обычно знания заканчиваются там, где заканчиваются руководства;
12. Его сложность и обилие классов заставляют задумываться над выбором средств реализации чаще, чем сосредотачиваться на алгоритме решения;
13. Для него мало бесплатных дополнений, большинство качественных сопутствующих средств - платны;
14. При постоянно растущей энтропии синтаксиса языка качественный код превращается в кашу;
15. Программисты, привыкшие к упрощениям, начинают бояться сложностей;
16. Обилие обёрток сводит на нет программирование на бумаге.
17. Абстрагированный от железа язык можно развивать до бесконечности.
18. И ещё эта Visual Studio - один сплошной баг с регулярным обновлением.
Лучший ответ
Папа Высший разум (153905) 1 месяц назад
Всё правильно, что тут сказать. C# - инструмент формошлёпа (низкоквалифицированного техника-программиста), со всеми вытекающими. Как и Java, кстати.

На этих языках можно писать нормальные высокопроизводительные системы и нормально структурировать код, но так делают единицы из миллионов. Перед остальными таких задач не ставится. Бизнесу нужно шлёпать оперденьки и сайтики. В этих языках всё заточено под написание ровных рядов многократно повторяющегося кода методом копипасты.
Остальные ответы
Александр Просветленный (21472) 1 месяц назад
Можете это "программисту" постучать по лбу всем известным органом за такие взгляды про C#
  1. Любой язык с JIT-компиляцией и управляемым кодом работает не "напрямую", но где тут минусы.
  2. Чушь полная. В любом языке есть такие конструкции и инструменты, но это не делает язык бесполезным.
  3. У каждого языка есть устаревшие или редко используемые конструкции и модули, которые не обязательно применять. Но раз в жизни все равно бывает тот самый частный случай и хорошо когда есть готовая реализация.
  4. Документация C# и .NET очень обширна, а исходники фреймворков открыты. Например тут - https://referencesource.microsoft.com
  5. Синтаксический сахар - это не про маркетинг, а улучшение читаемости кода. Никто не заставляет вас постоянно переписывать старый код или мгновенно переходить на новую версию.
  6. Оптимальность зависит от задач. C# даёт баланс между удобством и производительностью
  7. То что в C# все построено на классах и объектах не является проблемой, а процессы связанные с дебагом или тестированием зависят от навыков разработчика.
  8. Знания всегда нужно обновлять, независимо от языка. И это даже не только независимо от языка, это независимо от рода деятельности. Если вы хотите оставаться специалистом и не выпадать из трендов рынка труда, то придется постоянно развиваться.
  9. Развитие фреймворков - нормальный процесс в IT. Обновления повышают удобство и безопасность. В других языках, которые постоянно развиваются, ситуация такая же.
  10. Язык тут явно ни при чем, а говнокодеры есть везде. Это независимо от языка.
  11. Если ваше приложение чуть сложнее, чем Hello World, то так или иначе вам придется задуматься про поддержку и про оптимизацию. Но куда важнее иметь просто работающую программу без применения паттернов и алгоритмов, чем стараться сразу написать какое-то оптимизированное решение, в котором вы 100% потеряетесь.
  12. В C# достаточно бесплатных инструментов. Visual Studio Community и .NET - бесплатные. На гитхабе или в том же VS, в расширениях, есть куча всего бесплатного, что упростит вам разработку. Экосистема и комьюнити .NET одно из самых больших в мире.
  13. Так в любом языке. Чем больше кодовая база, тем сложнее ее поддерживать. Ну или покажите ЯП, в котором увеличение кодовой базы упрощает его поддержку.
  14. Упрощения не мешают разбираться в сложных вещах, если есть желание.
  15. Опять же дело не в языке. Да и зачем сейчас нужно программирование на бумаге. Да и нужно это было далеко не всем.
  16. Любой высокоуровневый язык можно развивать бесконечно. И зачем мне привязка к железу. Зачем мне молоток, который зависит от гвоздей.
  17. VS - мощный инструмент, но никто не запрещает использовать альтернативы, например, Rider. Любой крутой инструмент может содержать какие-то проблемы и баги. Если вас это напрягает, то пишите в блокноте. Там нет багов.
Jurijus Zaksas Искусственный Интеллект (471221) 1 месяц назад
Сказать, что все это просто дело вкуса. Попытки создать какие-то чистые и красивые языки провалились чуть менее чем все и полностью в силу чисто коммерческих причин - они заставляют программиста вjobывать денно и нощно ради мизерного результата. Просто сидишь и с ненавистью лупишь по клавиатуре, реализуя все те же 1000 раз уже написанные кем-то алгоритмы, ради борьбы за чистоту.
А C# коммерчески успешен именно потому, что позволяет сосредоточиться на разработке коммерческих решений, не отвлекаясь на мелочи. А при соблюдении некоторой гигиены кода большинство выкаченных автором претензий просто несостоятельно. Это не язык должен быть таким, чтобы на нем нельзя было писать гумнокод, это гумнокодить не надо на любом языке.
Похожие вопросы