Переход на Linux для разработки Windows, плохая идея? - PullRequest
6 голосов
/ 27 февраля 2009

Я думал о переходе на Linux для разработки на C ++ из среды Windows. Это плохая идея? Мое рабочее место использует Windows и Visual Studio для наших проектов (некоторые C # и java тоже, но сейчас я занимаюсь только разработкой на C ++). Если они решат включить меня в проект C #, будет ли возможно развитие (моно?)? Каковы трудности в такого рода переходе?

Будут ли у меня проблемы с работой над их проектами и наоборот? Я где-то читал, что будут проблемы с предварительно скомпилированными заголовками и тому подобным (мы их используем), а также с кодировками (табуляции / пробелы, окончания строк и т. Д.) ..

Если это не так сложно сделать, как мне начать? IDE? ВИМ + сделать?

Спасибо.

Кстати, мы делаем ПО для ОС MOSTLY ..


РЕДАКТИРОВАТЬ: Спасибо, ребята, я думаю, это имеет смысл ..

Ответы [ 9 ]

25 голосов
/ 27 февраля 2009

Это плохая идея. Я вижу по крайней мере две причины:

  • Разработка на той же ОС, для которой вы пишете программное обеспечение
  • Visual Studio пород
8 голосов
/ 27 февраля 2009

Придерживайтесь Windows, если вы разрабатываете для C ++ и C #. Отладчик Visual Studio абсолютно великолепен, и кажется, что большинство IDE Linux не сопоставимы (за исключением Eclipse для Java). Кроме того, есть вероятность, что вы будете использовать другой компилятор, если вы используете Linux, и это может вызвать действительно странных ошибок.

4 голосов
/ 27 февраля 2009

Я пользователь Mac (бывший парень из FreeBSD), так что я понимаю ваши интуитивные ощущения. Короче говоря: вы хотите использовать Visual Studio. Это лучший инструмент для ваших проектов на C #. Это также лучший инструмент для вашего Windows-ориентированного программирования на C ++. Даже если это не так, ваше тестирование будет страдать, если вы не запустите ОС, на которой он будет работать.

С другой стороны, всегда занимайтесь разработкой на виртуальной машине. Особенно на винде. Используйте контроль исходного кода и делайте частые снимки вашей виртуальной машины. Когда вы делаете это, не имеет значения, используете ли вы Linux или OS X на своем хосте.

Приветствия

Nik

2 голосов
/ 27 февраля 2009

В настоящее время я работаю на Windows и Linux. Я считаю, что довольно полезно скомпилировать один и тот же код для этих двух (или, может быть, более) платформ, поскольку вы можете найти некоторые ошибки кодирования благодаря vc ++ и некоторые другие благодаря gcc. Конечно, самая важная платформа - это та, для которой вы разрабатываете. Если ваше приложение будет работать на Windows, разработайте его на той же платформе и только если вы можете выделить больше ресурсов, попробуйте перенести его на Linux или другой. Во всяком случае, это хорошая привычка думать о переносимости во время разработки, это подразумевает максимально возможное использование стандартных решений

2 голосов
/ 27 февраля 2009

Не очень хорошая идея, потому что поддержка Windows Forms в моно еще не завершена. Разработчики Linux c # обычно используют GtkSharp для графического интерфейса, который добавляет другую зависимость к вашему приложению и сильно отличается от Windows Forms. Но GtkSharp тоже неплохой. Мне особенно нравится функция упаковочных коробок в GTK, потому что она значительно облегчает правильное изменение размеров элементов управления (ошибки, виджеты) и автоматически устраняет все проблемы с разрешением экрана.

Но есть также вероятность того, что ваш существующий код может иметь другие зависимости, которых нет в Linux, особенно неуправляемый код, вызываемый с помощью P / Invoke. В таком случае разработка под Linux может оказаться невозможной.

1 голос
/ 27 февраля 2009

Если вам не хватает Linux - и вам нужно оставаться на Windows, чтобы взаимодействовать с вашей командой и вашим рабочим приложением - установите Cygwin и GNU Win32 tools .

1 голос
/ 27 февраля 2009

Я предлагаю придерживаться окна. Windows отлично подходит для разработки Windows. Linux - это место, где вы можете написать кроссплатформенный материал / материал для Linux (если хотите). Я пробовал Mono для изучения C #, он работал для игрушечных примеров, но не для некоторых частей .NET. Я переключился обратно на окна. Я не могу себе представить, что это хорошая идея, чтобы перейти на Linux. Я не намерен обижаться, это только мое мнение.

1 голос
/ 27 февраля 2009

Я перешел на веб-разработку на Linux, вот что я лично нашел

Чтобы сделать все правильно, чтобы в конечном итоге не возникло проблем (с использованием определенного программного обеспечения), мне нужна виртуальная машина. Wine недостаточно далеко, чтобы быть стабильным для нужного мне программного обеспечения

Кроме того, для моих конкретных потребностей, просто «системный шрифт», который отличался, вызвал многочисленные проблемы со сценариями в ч / б окнах и unix / linux

Я собираюсь вернуться к победе. Я люблю LINUX, но в специализированной области, где большинство моих клиентов используют Windows и IE .... Мне нужно работать с тем, что у них есть ... Я думаю, что это самый умный по производительности

(личное мнение, не мандат от Бога)

тим

0 голосов
/ 24 марта 2011

Если вы абсолютно продавались в Linux, VMWare отлично подходит для запуска виртуальной машины, и если вы компилируете свои Linux / кроссплатформенные программы, используя цепочку инструментов mingw, добавляя одну зависимость, которая может быть статической, вам не следует получить любые ошибки Windows.

...