Перемещение программы на C # на другой язык - PullRequest
4 голосов
/ 26 июня 2009

В настоящее время я отвечаю за разработку второй версии программы, созданной в Microsoft .NET C #. Я не занимаюсь программированием, но пишу спецификацию для программиста. Я бы хотел снять его с базы данных .NET, но, поскольку Джоэл сказал в своем блоге никогда не переписывать код, и он действительно дает веские аргументы, я склонен тщательно обдумать.

Итак, мой вопрос,

(1) Есть ли простые способы перехода? (Такие языки, как .NET C #)
(2) Вы бы сняли его .NET?
(3) Если да, какой язык вы бы использовали?

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

Ответы [ 15 ]

1 голос
/ 26 июня 2009

(1) Есть ли простые способы перехода? (Языки вроде .NET C #)

Если под легким вы подразумеваете сходство, то в синтаксисе Java похожа, но сопоставление классов платформы .NET с библиотекой Java будет нетривиальным.

(2) Вы бы сняли его .NET?

номер

(3) Если да, то есть ли простые языки?

См. Ответ на (1)

Несколько вопросов, которые помогут мне понять, почему вы хотели бы сделать это; Как это неудобство для вашего клиента? (просто установить .NET Framework?) Если вы говорите о клиентском приложении, то вам также необходимо установить его на клиентском компьютере, я не понимаю, что это скорее неудобство.

Из вашего другого подобного вопроса вы предлагали переписать в C ++. Как это изменит уровень неудобства?

Вы хотите настроить таргетинг на пользователей, отличных от Windows?

1 голос
/ 26 июня 2009

Я не понимаю, почему компания решила перейти от стабильной базы кода, такой как .NET, к другой. Если вы думаете о других платформах, например о переходе от приложения ОС к веб-приложению, Ruby on Rails может показаться хорошим (его платформа MVC сильна). Но в другое приложение ОС? Движение будет жестким.

1 голос
/ 26 июня 2009

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

У вас есть веская причина снять его с .NET? Если нет, не надо. Но если вы когда-нибудь захотите снять его с .NET, чем раньше, тем лучше (прежде чем код станет слишком большим).

0 голосов
/ 01 июля 2010

Большинство ответов до сих пор отвечают на конкретный вопрос C # против "чего-то еще", но я отвечу на вопрос, который вам нужно задать:

Я не занимаюсь программированием, но я пишу спецификацию для программист Что самое эффективный способ сделать это?

Быстро, что не нужно делать: укажите детали реализации, например, какой язык использовать.

Что делать: написать Пользовательские истории или Использовать варианты, в которых указано, что вы хотите и почему. Например:

Как пользователь, я хочу иметь возможность устанавливать и запускать программное обеспечение, загружая один файл из Интернета, так что меня не беспокоит необходимость поиска и установки другого программного обеспечения.

И вы можете подкрепить это показателями:

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

Скажите вашей команде, что вы хотите и почему, и они доставят ее вам.

0 голосов
/ 26 июня 2009

.NET Framework является частью Центра обновления Windows, поэтому, вероятно, каждый клиент имеет его на своем компьютере. Или они работают под управлением Linux / Mac OS, но я не думаю, что это так, потому что версия 1 вашего продукта уже работала в .NET.

А. почти любой другой основной язык требует отдельной установленной среды выполнения (Java, PHP и т. д.) ....

Так что я не вижу веской причины для перехода.

...