Программирование в Linux - начало работы, как? - PullRequest
3 голосов
/ 19 июля 2010

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

Мой фон:

  • В основном LOB-приложения на C # / WPF
  • Некоторые XAL-basic
  • Немного VB / VBA и SilverLight

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

Что мне нужно:

  • Редактор - желательно с хорошим смыслом
  • Языки программирования и ресурсы для начала работы

Если бы кто-нибудь мог указать мне правильное направление, я был бы рад небольшому толчку ...

EDIT: Спасибо за все советы - я придумал следующее:

  • Я начну с Python - и использую Vim для редактора

Я обязательно опробую Vala и Perl позже, и MonoDevelop будет использоваться в качестве редактора резервных копий - а если ничего не поможет, я перейду к C ++. Я проголосовал за все ответы, так как все они мне помогли.

EDIT2: Ладно - Вим был слишком хардкорным ... Крем сверху установлен.

Ответы [ 7 ]

6 голосов
/ 19 июля 2010

В отличие от мира Windows, где все предназначено только для Windows, я думаю, что довольно типично обнаружить, что остальная часть мира разрабатывает программное обеспечение в соответствии со спецификациями, а не с реализациями.Если вы разрабатываете на Java, то не имеет значения, какую платформу вы намерены использовать, и Eclipse и NetBeans предоставляют отличные инструменты для Java на всех платформах, включая Linux.Если вы разрабатываете на C ++, тогда Boost и Qt предоставляют отличную кроссплатформенную поддержку.Если вам нужно выйти за пределы Boost или Qt, то прежде чем углубляться в специфические для Linux функции, лучше всего выбрать Single UNIX Specification , также известную как IEEE Std.1003.1 POSIX , которая гарантирует, что ваше приложение будет работать не только в Linux, но и в любой UNIX-совместимой операционной системе (включая Mac OS X, FreeBSD, Solaris и др.).

Что касается IDEи другие редакторы ... Я думаю, что большинство программистов на платформах UNIX собираются из командной строки (используя CMake, Make, scons или какой-либо другой стандартный инструмент сборки);однако существует множество IDE с поддержкой тех, кто может запускать такие инструменты автоматически.Anjuta C ++ и KDevelop, вероятно, самые простые IDE для Linux.Emacs (emacs, emacs-gtk, xemacs) и Vim (vim, gvim) обеспечивают большую мощность и гибкость, но для привыкания требуется немного больше времени.Возможно, вы захотите рассмотреть простой текстовый редактор, такой как GEdit (Gnome) или Kate (KDE);GEdit, хотя и называется простым текстовым редактором, поддерживает некоторые более продвинутые функции кодирования с помощью ряда плагинов.Я не помню, поддерживает ли он автозаполнение, но он поддерживает номера строк, автоматический отступ, использование пробелов вместо вкладок, комментирование массива кода и выполнение Makefile с помощью ярлыка.

3 голосов
/ 19 июля 2010

Зависит от того, сколько вы хотите узнать (от самого простого варианта до самого сложного):

  • Просто используйте C # через Mono - что дает вам доступ к большинствуинтерфейсы POSIX через Mono.UNIX, доступ к GTK # , чтобы вы могли создавать настольные приложения, доступ ко многим библиотекам linux, чтобы вы могли выполнять более сложные задачи / лучше интегрироваться.(вы можете программировать на Monodevelop - это клон Sharpdevelop, своего рода VS-иш)
  • Learn Vala - это язык, скомпилированный до C, очень похожий наC #, но ближе к минимуму.Это собирает анти-MS людей, которые хотели получить ответ на C # IMHO.(никогда не использовал его, но, очевидно, есть плагин Vala для Monodevelop, и сам язык становится все более популярным)
  • Learn Python - это язык сценариев.У него есть привязки к большинству популярных библиотек (также GTK и QT) (IDE: все, что может редактировать текст - в любом случае вы не сможете получить хороший смысл от динамического языка)
  • Изучение C ++ и QT, или C и GTK- хотя это языки очень низкого уровня, где вы будете тратить много времени, просто привыкая к окружающей среде.(IDE: Anjuta, Kdevelop, Monodevelop с плагином C ++, Eclipse + CDT, emacs, vim и т. Д. - все идет по-настоящему)

Если вы хотите «что-то новое», но не хотитетратить много времени на изучение совершенно новой среды, я бы порекомендовал попробовать Вала.Если вам интереснее разные стили, выберите Python, который, как мне кажется, имеет очень хороший учебник для новых людей (но не новичок в программировании): Учебник или Руководство для начинающих .С Python у вас также есть преимущество, заключающееся в том, что вся среда доступна в пакетах для любого дистрибутива, вам не повезло с Vala (пока).

2 голосов
/ 19 июля 2010

Странно, что никто не предложил ALP , даже если он немного устарел, он научил меня многим вещам относительно способа программирования в UNIX.

2 голосов
/ 19 июля 2010

Linux Mint - это среда KDE, верно?Это позволит вам начать писать приложения для KDE на C ++.Считается, что инструментарий Qt, на котором основан KDE, относительно дружественен для разработчиков, поэтому вам будет легче начать.

Если вы хотите пойти по этому пути, я бы предложил загрузить KDevelop, который является IDE KDE (оптимизирован для разработки программ KDE, но он может обрабатывать несколько разных языков).В качестве альтернативы вы можете использовать Eclipse, который имеет возможность C ++.Вы можете найти учебные пособия по разработке приложений KDE на http://techbase.kde.org/Development/Tutorials. (К сожалению, я думаю, что они не так хороши, как документация, которая была у них до выхода KDE 4, но этого должно быть достаточно для начала работы.)

РЕДАКТИРОВАТЬ : Если подумать, сначала вы можете попробовать свои силы в написании некоторых консольных (не GUI) приложений на C ++, поскольку, вероятно, легче освоиться с базовым C ++прежде чем перейти к программированию GUI.Учитывая ваш опыт, это не должно быть слишком сложно подобрать.К сожалению, я не знаю каких-либо особенно полезных ресурсов для изучения C ++, но я уверен, что информация где-то есть на этом сайте, и KDevelop или Eclipse отлично подойдет в качестве IDE и для простых консольных приложений C ++.

2 голосов
/ 19 июля 2010

Я говорю Python + Emacs или gEdit (что вам когда-нибудь подходит)

2 голосов
/ 19 июля 2010

Попробуйте perl и python и посмотрите, что вам нравится. Научитесь bash , чтобы счастливо обойтись в командной строке. Если вы любите приключения, попробуйте C / C ++.

Что касается редакторов, это, вероятно, вызовет священную войну, но если вы используете в командной строке, проверьте vim и emacs , выберите один и оплакивайте никогда не заводить друзей во "вражеском лагере". : -)

0 голосов
/ 11 ноября 2011

Во-первых, обучение C ОБЯЗАТЕЛЬНО!

Perl недостаточно используется для большинства вещей, и вы захотите изучить BASH Shell Scripting вместо этого.

Грок кода C существующего (стабильного, хорошо написанного программного обеспечения) примера - это само ядро ​​Linux! Google " Linux LXR "

Как только вы изучите основы C (в Linux), manpages станут бесценным ресурсом. Просто наберите man printf для получения информации о написании символов на экране, например.

Если вы говорите о программах GRAPHICAL GUI, вам нужно выучить GTK + или один из множества кроссплатформенных инструментариев GUI (например, wxWidgets). Не учитесь программировать систему X Windows напрямую , если вы не сошли с ума.

Для текстовых редакторов мне нравятся Komodo Edit и SciTE .

...