Есть (я бы сказал, что), вероятно, только пара мест, где C по-прежнему широко используется в предпочтении C ++, поэтому, если вы хотите изменить мир Open Source, я бы рекомендовал подумать о работе в из следующих областей:
- Драйверы устройств и большинство аспектов ядра ОС.
- Интерфейсы к языкам сценариев (Python, Perl, Lua и т. Д.)
В обоих случаях С ++ не имеет существенного преимущества или некоторых существенных недостатков по сравнению с С.
Я абсолютно согласен с комментарием Марка выше, что трудно присоединиться к зрелому проекту. Недавно я пытался собрать связку Haskell для SWIG, и это оказалось довольно сложно - и я говорю, что с более чем 20 годами C и около 15 C ++ позади меня!
Проблема в том, что зрелые кодовые базы обычно не так чисты, и это означает, что может быть трудно понять, как вещи соединяются.
Если у вас есть кейс, работа на устройстве ARM, таком как Pandora или на одном из других небольших встроенных устройств, которые вы можете подобрать, доставляет массу удовольствия и многому научит. Во многих случаях вы ищете устройство с «общим» портом Linux, и для многих из них есть некоторые довольно простые компоненты, которые еще не работают.
Удачи и веселья!