Как оценить плюсы и минусы при смене языка - PullRequest
3 голосов
/ 02 ноября 2008

Я работаю в компании, которая разрабатывает вычислительные ядра. Их дизайн прост: это библиотека на С ++, в которой есть только одна функция для вычисления результатов на основе доступных данных.

По сути, в каждом из этих ядер есть четыре шага:

  • извлечение содержимого XML (формат был определен в файле XSD) и сохранение в объекты

  • определить математическую задачу, используя вышеуказанные объекты

  • используйте решатель, чтобы найти решение (или оптимальное решение)

  • экспорт результатов в новый XML-файл

В настоящее время наши ресурсы в значительной степени ориентированы на модели с точки зрения возможностей и интересов (и не столько на программирование). Очевидно, что мы хотим сделать окружающую среду максимально дружественной и эффективной. Мы оцениваем использование c # с использованием LinQ и Microsoft Solver Foundation в качестве замены для c ++ и самодельных инструментов.

Мои вопросы:

  • Может ли LinQ и Solver Foundation делать все это? Насколько легко было бы использовать?

  • Каковы будут выгоды / потери от изменения среды для наших ресурсов (время для изучения и переписывания, эффективность и т. Д.)?

  • Есть ли другие интересные варианты, которые я должен рассмотреть?

Ответы [ 2 ]

2 голосов
/ 02 ноября 2008

Вы получите огромные преимущества, перейдя на C # / LINQ с точки зрения работы с XML и даже с большим количеством математики. Будет немного кривой обучения (так что это против), но через пару недель, я уверен, вы будете смеяться над тем, насколько проще кодирование C # 3 / LINQ.

Я говорю это из опыта ... и я специально упомянул "C # 3" (в отличие от просто C #), потому что, когда я убедил моих коллег по C # 2 перейти на 3 / LINQ, они испытали вышеописанное: )

1 голос
/ 02 ноября 2008

Я говорю, что любой разработчик приложений на C ++ должен хорошо взглянуть на C #. На мой взгляд, многие проблемы, которые вы решаете в C ++, могут быть решены намного быстрее в C #. Это совсем не сложный язык для изучения C ++. Я бы сказал, прежде чем вы решите, проверить C # в течение недели или около того и посмотреть, насколько вам нравится.

Удачи:)

...