Что такое хорошая настройка для начинающих C ++ / Python на OSX? - PullRequest
4 голосов
/ 21 июня 2009

Я ищу хорошую настройку для изучения C ++ и, в конечном итоге, Python на Mac OSX. Поскольку я собираюсь использовать C ++, я не хочу использовать XCode, поскольку (я понимаю) это в основном используется с Objective-C. У меня небольшой опыт программирования на Java и MATLAB, и математика, вероятно, не будет моей главной проблемой. Я думал о подходе, который выглядел примерно так:

  1. Работа через Ускорение C ++ .
  2. Напишите пару небольших математических программ; что-то вроде набора Мандельброта, решателя PDE или графического приложения. Это будет сделано с помощью набора инструментов виджета.
  3. Напишите небольшую игру с действительно дрянной графикой. Вероятно, это будет грабежом Jetmen Revival или Space Invaders; -)
  4. (Когда я сыт по горло игрой, которая не работает), пройдите мой путь через Core Python .
  5. Повторите шаги 2 и 3 в Python.

Я думаю о переходе на Eclipse и GTK + / X11. Есть мысли по поводу IDE и GUI? Желательно с открытым исходным кодом, и, безусловно, бесплатно. А что ты думаешь о 5 шагах?

Любая помощь будет принята с благодарностью - заранее спасибо!

Ответы [ 7 ]

3 голосов
/ 21 июня 2009

Поскольку я собираюсь использовать C ++, я не хочу использовать XCode, как (я понимаю) это в основном используется с Objective-C.

XCode - отличный выбор, даже для чистых решений C ++.

Работа через Ускоренный C ++.

Это книга, с которой я начал! Это отличный выбор, но не прогулка в парке. Это заняло у меня месяц или два, примерно от 1 до 2 часов в день. Но после этого вы сделаете ОСНОВНОЙ прыжок, чтобы стать действительно хорошим программистом C ++.

Напишите пару небольших математических программ; что-то вроде набора Мандельброта, PDE-решатель или графическое приложение. это будет сделано с помощью набора инструментов виджета. Напишите небольшую игру с действительно дрянной графика. Это, вероятно, будет грабеж Jetmen Revival или Space Захватчики ;-) (Когда я сыт по горло игра не работает), проработайте Core Python (это книга; макс. Один ссылка / вопрос для новых пользователей ...).

Хорошо, я сделал тетрис.

Повторите шаги 2 и 3 в Python.

У меня нет опыта использования Python, но я знаю, что этот язык намного легче освоить, чем C ++. Так что, если вы можете освоить C ++, с Python проблем не будет.

Для GUI вы можете использовать Qt, особенно теперь это было сделано в LGPL. Тем не менее, Cocoa также интересен, если вы чувствуете себя достаточно смелым, чтобы также изучить Objective-C :) (Кстати, есть и порт Python для Cocoa.)

2 голосов
/ 21 июня 2009

При выборе IDE это очень зависит от вкуса, поэтому лучше всего попробовать несколько раз в день или два каждый. Eclipse и XCode являются популярными вариантами, которые, безусловно, превосходны по-своему. Я не могу помочь вам с виджетами, так как я очень мало знаю об этом. GTK + - это популярный фреймворк, но поддержка родной OS X не была готова в прошлый раз, когда я проверял, но разработка продолжается, поэтому это могло измениться. Qt менее популярен, но в настоящее время является полностью открытым исходным кодом, поэтому проблемы с лицензированием, которые у него были раньше, теперь решены, так что вы, возможно, захотите посмотреть и на это. wxWidgets популярны в Python, и мне было легко его использовать, но я не знаю, насколько он хорош, как другие, но вполне может быть.

Что касается пяти шагов, то гораздо больше смысла делать их сначала в Python. Python прост в освоении и освоении, особенно если вы НЕ испорчены C / C ++. Программистам на C / C ++ часто приходится разучиваться, так как вы должны делать так много вещей и думать о них, что вам не придется беспокоиться в Python.

С Python вы можете сосредоточиться на изучении библиотек и инструментов, вместо того, чтобы учиться тому, как не стрелять себе в ногу с C ++. Позже выучите C ++, и вы получите более плавную кривую обучения и получите больше удовольствия.

2 голосов
/ 21 июня 2009

XCode - это зрелая среда разработки, хорошо подходящая практически для любого языка. C ++ особенно хорошо поддерживается.

Очевидно, GTK + имеет встроенную поддержку виджетов OSX , хотя я никогда не использовал его, так что вы можете вообще пропустить стек X11, если хотите. Другие кроссплатформенные наборы виджетов включают wxWidgets , fltk и Tk .

Для игр они менее чем оптимальны. для этого я настоятельно рекомендую LibSDL или его привязку к Python, PyGame . Они могут предоставить удобный стандартный интерфейс для OpenGL, если вы хотите использовать это, или вы можете использовать аппаратные ускоренные 2d примитивы, если это все, что вам нужно.

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

NetBeans - другой выбор. Хотя и поддержка Python, и C ++ довольно новы для этого. Python работает найти, но я не пробовал поддержку C.

0 голосов
/ 21 июня 2009
  1. Работа через Ускоренный C ++.
  2. Напишите пару небольших математических программ; что-то вроде Набор Мандельброта, PDE-решатель или изображая-приложение. Это будет сделано с помощью инструментарий виджетов.
  3. Напишите небольшую игру с действительно дрянной графикой. Это наверное будет грабеж Jetmen Возрождение или Космические Захватчики; -)
  4. (когда я сыт по горло игрой не работает), пробираюсь через Core Python (это книга; макс. Один ссылка / вопрос для новых пользователей ...).
  5. Повторите шаги 2 и 3 в Python.

Могу ли я рекомендовать делать это в обратном порядке по отношению к языкам? Имейте в виду, что GTK + не тривиально изучать, как и C ++. На самом деле, я бы действительно рекомендовал начать с какао и PyObjC . Какао - это немного больше, чтобы обернуть голову, но как только вы ее понизите, очень легко увидеть ее пользу. Настройка разработки GTK и PyGTK может быть PITA для установки на OS X (по крайней мере, для меня).

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

Вы можете использовать VIM с плагинами cscope и ctags для C ++, лично я считаю это самым быстрым. Eclipse для C ++ также хорош, если вам нужен графический интерфейс, но он не так богат, как для Java, но это хорошая IDE с открытым исходным кодом.

С точки зрения книг, Effective C ++ и More Effective C ++ хороши.

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

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

Что касается IDE, я не знаю. Я использую GNU Emacs, но я бы не рекомендовал это новичку. Изучение Emacs похоже на самостоятельное изучение нового языка программирования. Я бы начал с простого текстового редактора (найдите тот, у которого есть подсветка синтаксиса) и сейчас собираю его из терминала, так что вам не нужно изучать IDE. Они делают огромные проекты проще, но могут быть PITA для мелочей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...