Другие много рассказали, но я хочу сосредоточиться на этой части:
Я чувствую вину за то, что у меня нет хобби-проекта, но все, что я могу придумать, уже сделано. Так что я как бы в раздумье, начать что-то, что уже сделано, или оставить это, пока я не придумаю что-то оригинальное?
Мне кажется, что это упускает из виду «хобби-проект». Безусловно, верно, что многие хобби-проекты созданы для других или, по крайней мере, с учетом общественного потребления - эти проекты требуют определенного объема согласованной работы с течением времени и могут быть пугающими по этой причине. В конце концов, кто хочет сделать еще одно недооцененное, некачественное что-то или другое, которое в конечном итоге заброшено через пару месяцев?
Но нет никаких причин, по которым ваш хобби-проект должен делать что-то полезное для всех. Например, я недавно начал изучать Haskell , просто потому, что он настолько сильно отличается от привычных языков, к которым я привык, и его действительно легко настроить. Я также только начал изучать язык ассемблера Redcode , используемый в программирующей игре Core War , опять же из любопытства.
Это, в свою очередь, побудило меня заняться созданием плагина Notepad ++ для обеспечения улучшенных функций подсветки синтаксиса для Redcode, что заставило меня задуматься над изучением C ++ . Опираясь на мое сравнительное знакомство с .NET, я теперь размышляю над тем, как настроить себя на Visual C ++ .
И дело в том, что все это на самом деле «не имеет значения», по крайней мере, не как проект. Черт, я не уверен, что вы могли бы даже назвать это проектом как таковым , так же как кучей вещей , с которыми я как-то возился, потому что это привлекло мое внимание. Я имею в виду, вам понадобится немного времени и организации, чтобы убедиться, что вы действительно что-то из этого получите , но никто не будет беспокоиться, если я перестану иметь время для Хаскелла, как только начнется школа.
И никого не волнует, если окажется, что разработка плагинов для Notepad ++ сложнее, чем я ожидал, и я сдаюсь - действительно, я изучил Perl, прежде чем углубиться в Redcode, и довольно быстро отказался от него, потому что мне было трудно получить среда настроена правильно. Это показало отсутствие настойчивости? Да уж. Но никого не волнует, потому что это мое хобби , а это значит, что я могу играть с тем, что я чувствую.
Так что не думайте, что вам нужно выбрать какой-нибудь хобби-проект, который научит вас навыкам освоения рынка - это просто превращает ваше свободное время в более неоплачиваемое рабочее время. Навыки приходят в результате того, что вы делаете, но это не причина . Теперь я лучше понимаю декларативное программирование, и как работают языки ассемблера, и как программы используют библиотеки DLL. И я узнал много вещей о командной строке Windows, и другие вещи, которые вы даже не подумали, были связаны с чем-то, что я упомянул до сих пор.
Суть в том, чтобы найти что-то совершенно новое и посмотреть, насколько это интересно, как кажется. Если это так, отлично, и если это не так, двигайтесь дальше. Вы когда-нибудь испытывали хоть малейшее любопытство к компиляторам или интерпретаторам? Иди, посмотри на ЛОЛКОД . Если это делает вас таким же счастливым, как и меня, тогда самое время начать изучать компиляторы . И, может быть, вам стоит вернуться и снова подумать о выделении синтаксиса. На самом деле, это будет следующий проект, который я начну.
Если это не ваша вещь, попробуйте что-то более низкого уровня, чем вы привыкли. Или более высокого уровня. Это не важно Единственное, что имеет значение, это то, что когда вы смотрите на это, вы думаете: «Весело!»