Ресурсы для Windows-разработчика по переходу на Linux

Я ищу помощь, и это выглядит так: Я довольно экологичный разработчик программного обеспечения и сосредоточен в основном на Интернете (python / PHP), но у меня довольно большой опыт работы с приложениями Java и как студент-электротехник, с нетерпением жду возможности погрузиться в немного c / C++. Я в значительной степени вырос на машине с Windows, но страстно ненавижу .net, и мне действительно не нужно разрабатывать под Windows - кроме того, что я к этому привык.

Я собираюсь полностью переключиться на Ubuntu в качестве моей машины для разработки (без WinXP в другом разделе), так как мне очень надоела Windows, но у меня возникает соблазн возвращаться к ней каждый раз, когда я застреваю с бесчисленными проблемами с драйверами (будь то драйверы для наушников, установка двух мониторов и т. д.). Я ищу исчерпывающий ресурс, который поможет в этом переходе и не предполагает, что вы знаете ключевые слова инопланетной оболочки Linux.

Ваше здоровье.

Как исключительно .NET-разработчику, мне любопытно узнать, что насчет .NET вы страстно ненавидите ... В остальном я писал только на Java, что считаю ужасным по сравнению с этим ... Дайте мне знать, что вы не делаете ' мне нравится! :)

Grank 11.10.2008 22:45

@Grank, из интереса, что ты считаешь ужасным в Java?

SCdF 12.10.2008 01:01
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
2
1 037
5

Ответы 5

По моему личному опыту работы с Ubuntu, я постоянно находил помощь в двух местах: Форумы Ubuntu и Ubuntu вики. Эти два сайта демонстрируют, насколько полезным, организованным и мотивированным является сообщество Ubuntu.

Дополнительным ресурсом также является Канал Ubuntu в IRC. Всякий раз, когда я сталкивался с проблемой, которую я считал заслуживающей обсуждения с кем-то (или с горсткой людей), IRC всегда был хорошим местом.

Наконец, я стараюсь многому научиться, читая блоги людей, которые активно участвуют в разработке Ubuntu. Планета Ubuntu - довольно хороший канал для чтения. По сути, это совокупность нескольких блогов. Большинство сообщений связано с Ubuntu; тем не менее, время от времени появляются сообщения, в которых говорится только о мыслях и мнениях разработчиков.

Не ответ, как таковой, а несколько нежелательных советов:

  • На всех платформах есть проблемы
  • Разработка на одной платформе во многом похожа на разработку на другой.
  • Полезно знакомство с миром * nix и Windows.

Удачи!

Я согласен с Ответ Тома в плане ресурсов для ответов на вопросы. В дополнение к этому, я бы порекомендовал подготовиться к тому, чтобы научиться использовать командную строку и узнать гораздо больше об основах системы, чем вы, вероятно, привыкли в Windows. Linux в целом раскрывает «механизмы» ОС гораздо чаще, чем Windows, и если вы относитесь к тому типу людей, которые не любят время от времени возиться с вещами, то это, вероятно, не для вас.

Например, мой отец - инженер и опытный программист, и он не заинтересован в использовании Linux, потому что не хочет возиться с вещами, чтобы заставить их работать. Для него использование Windows - это путь наименьшего сопротивления. Я, с другой стороны, регулярно использую OS X и Linux, и мне нравится, что, когда что-то не работает, у меня, по крайней мере, есть возможность покопаться и решить проблему. Мне нравится доступность интерфейсов командной строки, множество вариантов сценариев и общая открытость Linux. Из вашего поста трудно сказать, какой у вас тип личности, но если вы с нетерпением ждете возможности углубиться в C / C++ и вам нравится электротехника, Linux, вероятно, вам подойдет.

Наконец, я настоятельно рекомендую часто использовать командную строку, даже если есть графические интерфейсы. Приложения Linux с графическим интерфейсом часто создаются поверх консольных приложений. Практически всегда будет легче работать с вещами, если вы знакомы с командной строкой и привыкли к ней. Большинство опытных пользователей * nix также обнаруживают, что со временем становится более эффективным и удобным выполнять многие типы задач из командной строки. Если вы планируете разрабатывать в Linux, то это с большей вероятностью произойдет, так как вы привыкнете думать, как работать с инструментами сборки и сценариями, которые распространены на платформах UNIX.

РЕДАКТИРОВАТЬ: И последнее, чего я не могу рекомендовать: используйте виртуализацию! Установите что-то вроде VirtualBox, VirtualPC или VMWare Player для запуска Linux в виртуальной среде. Виртуализация продвинулась достаточно далеко с тех пор, как я начал использовать Linux, так что теперь вы можете устанавливать и запускать Linux в полноэкранной среде, почти неотличимой от запуска ее изначально. Использование виртуализированной среды environemtn также сделает такие вещи, как драйверы, не проблемой, поскольку стандартное «оборудование» должно поддерживаться из коробки. Виртуализация или версия Linux «Live CD» (например, Live CD Ubuntu) - фантастический способ привыкнуть к Linux без необходимости сразу же сбрасывать защитное одеяло Windows.

или, как я, запускайте окна в вашем виртуальном окне на вашей прекрасной Linux-машине :)

reefnet_alex 12.10.2008 01:49

Я бы порекомендовал вам настроить свой компьютер таким образом, чтобы:

  • Имейте три раздела: один для свопа (размер оперативной памяти 1-2x), один для / (корневой каталог) и один для / home.
  • Держите все не связанным с запуском Linux в / home или на полностью отдельных жестких дисках. Не храните вещи, которые хотите сохранить, в разделе, содержащем /.

Это позволяет вам довольно эффективно уничтожить всю вашу установку linux и установить еще одну без потери ваших данных или же ваши настройки. Это позволяет делать две вещи:

  • Если вы действительно нарушаете установку, вы можете просто сбросить ее и переустановить. Большинство дистрибутивов, которые вы собираетесь попробовать, быстро вернут вас к текущей версии.
  • Если вас не устраивает, скажем, Ubuntu, вы можете просто нейтрализовать его и установить что-нибудь еще, скажем, OpenSUSE, CentOS или Fedora.

Важно помнить, что все ваши личные настройки (фон рабочего стола, настройки приложений и т. д.) Хранятся в / home / yourname / в скрытых каталогах, определяемых путем присвоения им имени, например .gnome. Системные настройки хранятся в / etc, но в большинстве современных дистрибутивов системные настройки настолько хорошо угадываются, что вам не о чем беспокоиться. Данные, которые вам нужны, находятся в / home / yourname.

Если вы собираетесь перейти на другой дистрибутив, я бы порекомендовал скопировать эти скрытые каталоги в другой каталог в вашем каталоге home / yourname, скажем 'old-prefs' или что-то в этом роде. Это потому, что вы хотите начать новую установку с нуля. Вы можете скопировать скрытые каталоги, которые захотите, позже (например, я всегда копировал бы .opera, .mozilla).

Кроме того, не выбрасывайте установку Windows, в любом случае. Вы можете обнаружить, что Linux не для вас. Вы можете столкнуться с невозможностью играть в какие-либо новые игры без перезагрузки. Вы можете обнаружить, что различные вещи работают не так безобидно, как в Windows, по моему опыту, включая Adobe Flash и различные вещи, связанные со звуком (звук недавно был внедрен imo из-за раннего внедрения PulseAudio).

Как говорили другие, вики Ubuntu и форумы Ubuntu хороши, и по этой причине это первый дистрибутив, который я предлагаю вам попробовать. Он настолько популярен, что вы часто получаете лучшие результаты в Google, заменяя «linux» на «ubuntu».

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

  1. Ожидайте крутого обучения. Я использовал серверы типа Unix / Linux большую часть 13 лет, когда перешел. Не то же самое. Когда я переключился, я начал учиться. Моя продуктивность сначала упала, но теперь я знаю НАСТОЛЬКО больше о нашей среде развертывания - и, конечно же, продуктивность снова превзошла оригинал. Но это непросто.

  2. Когда вы ДЕЙСТВИТЕЛЬНО переключаетесь, вы больше никогда не смотрите на ОС одинаково. Облегчает отношение к любой ОС как к набору вещей, которые вам нужно изучить. Это само по себе хорошо (тм)

  3. Поначалу самая большая проблема - это поиск Linux-эквивалентов способов работы с Windows. Я помню, как искал приличный FTP-клиент (в конце концов, ЕСЛИ я сейчас вынужден использовать FTP, я использую konqueror с двумя окнами - но просто подождите, пока вы обнаружите rsync!), Достойный графический клиент подрывной деятельности (затем понял, что зная, как использовать find, sed, grep и svn cmd line client были намного лучше) и т. д.

  4. Раньше я слышал, как люди говорят, что использование командной строки - это признание неудачи. Хотя это может быть правдой, если в этом нет выбора, вы скоро получите удовольствие от сочетания графических инструментов и инструментов командной строки для выполнения своей работы. Например, я обычно использую find, grep и xargs для загрузки моей среды IDE тем, над чем я хочу работать.

  5. Вы снова научитесь любить компьютер. Весь компьютер становится инструментом для работы.

  6. Самое большое изменение - это свобода. Не стоимость. Но тот факт, что установка программного обеспечения так же проста, как "sudo apt-get install" или графический эквивалент. Даже очень нетехнический пользователь Windows вскоре начинает наслаждаться этим удивительным аспектом Linux.

Наслаждаться!

Другие вопросы по теме