Приєднання до проекту з відкритим кодом - це, безумовно, один із способів розпочати. Однак я вже багато років використовую програмне забезпечення з відкритим кодом, і, чесно кажучи, якість майже всіх таких проектів, як правило, у туалеті. Якщо ви повністю засвоїте свої навички програмування та дизайну, ви, мабуть, підберете кілька дуже бідних разом з хорошими, не маючи можливості сказати різницю між ними.
Для чого ви хочете навчитися програмуванню ? Відповідь на це визначить, що вам слід шукати і де. Ось деякі загальні відповіді, і мою професійну думку про те , як їм слідувати (мати на увазі , що це просто думка, хоча ІМХО, точно):
Просто сказати, що ви знаєте, як це зробити.
Тоді вам не дуже потрібен наставник, а C ++ - це бідне місце для початку. Я люблю C ++, це мій перший вибір для загального програмування, але грати на іншій мові. Я б запропонував Python; він має набагато ніжнішу криву навчання, ніж C ++, і на відміну від деяких мов (жодних імен не згадується, я сьогодні не носив азбестову нижню білизну), ви все-таки навчитеся декільком корисним навичкам у випадку, якщо ви хочете піти в нього далі. Дуже багато концепцій можуть бути перекладені безпосередньо на C ++, якщо ви вирішите продовжувати маршрут.
Просто спробувати це і побачити, чи сподобалось тобі.
Проект з відкритим кодом може бути досить хорошим для цього. Виберіть програму, яка вам подобається, але з якою ви виявили деякі проблеми чи роздратування, і запропонуйте свою допомогу тому, хто її виконує. Більшість проектів з відкритим кодом відкриті для внесків, саме тому вони в першу чергу відкриті.
Однак у такому випадку не намагайтеся використовувати C ++ як свою першу мову програмування. Оволодіти основами не важко, але C ++ є достатньо низьким рівнем, щоб ви могли отримати серйозні та дуже важкі помилки у своїх програмах. Якщо ви вже не знаєте, що любите програмування, або ви не такі вперті, як поспільний вол, або вже знайшли наставника, який може направити вас у правильному напрямку, це вб'є будь-який цікавий досвід у вас у цій галузі. Дивіться вищевказану відповідь про Python, це краще підходить для цього.
Тому що у вас є ідея для конкретної програми, яку ви хочете написати.
(Я не думаю, що ОП в цій категорії, я пропоную це для наступних читачів.)
Чи маєте ви уявлення про час, необхідний для освоєння програми та реалізації програми? Як натяк, це вимірюється роками. Ви зможете придумати напівпристойний дизайн лише через кілька місяців навчання, якщо ви і розумні, і надзвичайно пощастило, але кожен, хто має невеликий досвід, хто повинен над цим працювати (включаючи вас, пізніше) Бажаю, щоб ти ніколи не народився - я кажу з досвіду. :-) Якщо ідея не є настільки секретною, що ніхто більше не може про неї знати, поки вона не буде здійснена, не турбуйтеся. Найміть досвідченого програміста, щоб зробити це за вас, або якщо ви не можете дозволити собі його, але все-таки хочете програму досить погано, запропонуйте співпрацювати з одним - ви поводитесь із діловою стороною і дозволите йому обробляти частину програмування. Більшість хороших розробників вважають за краще програмувати, тому така пропозиція може бути їм вартим.
Тому що ви вже знаєте, що захоплюєтесь програмуванням і хочете дізнатися більше.
Тоді ви на правильному шляху. :-) Незалежно від того, чи хобі це чи щось, що ви можете згодом перетворити на кар'єру, якщо у вас є така особистість, яка вважає її нескінченно захоплюючою, найкраще, що ви можете зробити - це зануритися в неї. У такому випадку мова C ++ є такою ж доброю мовою, як і будь-яка, і наставник обов'язково допоможе (і більше, ніж просто розвивати ваші навички; він може стати самотнім без друзів, які поділяють вашу пристрасть).