практиковать С в течение лета - PullRequest
3 голосов
/ 28 мая 2010

Я студент с небольшим опытом работы с Java и C ++ (один семестр каждый)

В настоящее время я прохожу K & R и работаю над упражнениями в книге. Однако я думал о том, над чем я мог бы работать летом, так как я почти закончил с K & R, и у меня скоро будет много свободного времени.

Мне действительно нравится создавать приложения командной строки, поэтому я думал как-то участвовать в проекте coreutils. У меня вопрос, не слишком ли рано для меня возиться с coreutils? Должен ли я работать над чем-то немного проще, возможно? Я немного новичок в мире Linux / Open source, если это имеет значение, но я действительно наслаждаюсь им.

У меня были некоторые проблемы с проектом Эйлера, и мне это не особо нравится.

Ответы [ 5 ]

1 голос
/ 31 мая 2010

Скачать исходники Nethack.Сыграй.Если вы когда-нибудь пройдете этот этап, добавьте несколько новых интересных монстров, оружие, ловушки и другие предметы.

0 голосов
/ 02 июня 2010

Я согласен с Джереми О'Донохью ответ (так как я также являюсь разработчиком мобильных устройств). Установите 32-разрядный дистрибутив Linux (если у вас его еще нет) и начните взламывать Android Исходный код .

Существует множество списков рассылки , предназначенных для Android, и вы можете попытаться обсудить некоторые идеи оттуда.

И есть также Google Summer of Code , если вы можете сделать это

0 голосов
/ 28 мая 2010

Вы можете делать разные другие вещи с C:

  • Использование различных структур данных, таких как Link-list, tree, hash, heap
  • Попробуйте кодировать различные реализации алгоритма
  • Игра с различными манипуляциями со струнами
  • Работа с базовой системой и программированием сокетов

Список продолжается ..

0 голосов
/ 31 мая 2010

Есть (я бы сказал, что), вероятно, только пара мест, где C по-прежнему широко используется в предпочтении C ++, поэтому, если вы хотите изменить мир Open Source, я бы рекомендовал подумать о работе в из следующих областей:

  • Драйверы устройств и большинство аспектов ядра ОС.
  • Интерфейсы к языкам сценариев (Python, Perl, Lua и т. Д.)

В обоих случаях С ++ не имеет существенного преимущества или некоторых существенных недостатков по сравнению с С.

Я абсолютно согласен с комментарием Марка выше, что трудно присоединиться к зрелому проекту. Недавно я пытался собрать связку Haskell для SWIG, и это оказалось довольно сложно - и я говорю, что с более чем 20 годами C и около 15 C ++ позади меня!

Проблема в том, что зрелые кодовые базы обычно не так чисты, и это означает, что может быть трудно понять, как вещи соединяются.

Если у вас есть кейс, работа на устройстве ARM, таком как Pandora или на одном из других небольших встроенных устройств, которые вы можете подобрать, доставляет массу удовольствия и многому научит. Во многих случаях вы ищете устройство с «общим» портом Linux, и для многих из них есть некоторые довольно простые компоненты, которые еще не работают.

Удачи и веселья!

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