Nano Hash - криптовалюты, майнинг, программирование

Зная VC++ MFC, насколько легко или сложно выучить C#.Net?

Сейчас я больше занимаюсь дизайном и обслуживанием приложений на основе MFC. Я вижу хороший прогресс и требования к приложению С#.Net.

С этими базовыми знаниями, насколько легко или сложно выучить C#.Net? Существуют ли какие-либо учебные пособия, доступные в Интернете, которые помогают разработчикам MFC легко и быстро освоить C#.Net?

Любая помощь в этом очень ценится!

02.06.2010

  • Как говорит Срес, если вы знаете C++, вам будет очень легко начать работу с C#, немного сложнее разучить некоторые вещи, которые вы больше не должны делать, и очень много времени, чтобы научиться ориентироваться во фреймворке, чтобы вы не продолжайте писать код, который уже существует где-то во фреймворке. Фреймворк намного более всеобъемлющий, чем MFC. 02.06.2010

Ответы:


1

C# — это естественный выбор для разработчиков C++, переходящих на .NET. Выучить C# действительно легко, и вы можете обнаружить, что Windows Forms намного лучше, чем MFC. Windows Forms на самом деле является еще одной родной оболочкой Windows API, основанной на GDI, она разработана лучше, чем MFC, и намного проще в использовании. Однако Microsoft считает Windows Forms старой технологией и продвигает WPF, основанный на DirectX, а не на GDI. DirectX — это родной API для Windows Vista и более поздних версий. Это первое трудное решение - использовать ли Windows Forms или WPF. Изучить WPF не так просто, как Windows Forms, но, возможно, переход непосредственно на WPF будет разумным выбором. Например, пользовательский интерфейс Visual Studio 2010 написан на WPF.

02.06.2010
  • Ой. Приятно знать об этом. Пользовательский интерфейс Visual Studio 2010 написан на WPF. Насколько я знаю, предыдущие версии Visual Studio были написаны на MFC. Так что у меня было убеждение, что vs2008 тоже самое. Вы развеяли для меня это сомнение. Хорошая точка зрения. 02.06.2010
  • Нет, пользовательский интерфейс VS2008 не написан на WPF. Тем не менее, он имеет полную поддержку WPF для разработчиков. Я бы порекомендовал начать изучение C# с Windows Forms или консольных приложений, просто для начала. Когда вы освоитесь с C#, подумайте о переходе на WPF. Это также зависит от роли пользовательского интерфейса в вашей разработке. Если все, что вам нужно от пользовательского интерфейса, — это получить простой доступ к какому-то другому коду (математике, алгоритмам, сети, реальному времени и т. д.), Windows Forms вполне достаточно. 02.06.2010
  • Ой. Опечатка.. Я имел в виду VS2010.. не 2008. В любом случае, спасибо за вашу точку зрения. Итак, как вы сказали, я думаю, что переход к WPF - ХОРОШИЙ ВЫБОР по сравнению с winforms. Правильно! 02.06.2010

  • 2

    Помимо синтаксиса, переход с C++ на C# не так уж сложен, знакомство с .dotNet framework требует времени, но оно того стоит.

    Я могу порекомендовать книгу Эндрю Троелсена - "C# и платформа .Net", я полагаю, что сейчас она находится в 5-й редакции.

    02.06.2010

    3

    Каждый день вы будете удивляться, насколько проще разрабатывать приложения для Windows на C#, чем в MFC!

    Единственное, о чем следует помнить, это то, что MFC навязывает вам больше шаблона представления модели, чего нет в C#. Стоит потратить немного времени на изучение некоторых шаблонов для чистой разработки окон. На C# очень легко создавать спагетти-код!

    02.06.2010
  • NB: хотя Winforms не является стандартным MVC, WPF вернулся к правильному подходу MVC. (Понятия не имею, насколько это похоже на то, как работает MFC) 02.06.2010

  • 4

    Вы знаете MFC, значит, знаете, как программировать фреймворк.

    На мой взгляд, .Net framework легче программировать, чем MFC, нужно знать две вещи:

    1. С# и CLR. Вам нужно изучить новый язык C# и стандартные библиотеки в .Net, такие как строки и т.д. "nofollow noreferrer" rel="nofollow noreferrer">CLR через C#.

    2. Формы Windows. Windows Forms намного проще, чем MFC, и чище. Вы можете найти множество обучающих программ в Интернете.

    02.06.2010
  • Если вы собираетесь переехать сейчас, изучите WPF, а не WinForms. Я не говорю о том, чтобы отказаться от своей кодовой базы и знаний WinForms, если они у вас есть, но для тех, кто начинает что-то новое, используйте новейшие технологии, так как они прослужат вам дольше. 02.06.2010
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..