Otros han cubierto mucho, pero quiero centrarme en esta parte:
Me siento culpable por no tener un proyecto de pasatiempo, pero ya se ha hecho todo lo que se me ocurre. Entonces, ¿tengo algo de esto en mente, comenzar algo que ya se ha hecho o dejarlo hasta que se me ocurra algo original?
Me parece que esto pierde el sentido de un "proyecto de pasatiempo". Es cierto que muchos proyectos de pasatiempo se crean para otros, o al menos teniendo en cuenta el consumo público: estos proyectos requieren una cierta cantidad de trabajo constante a lo largo del tiempo y pueden ser desalentadores por ese motivo. Después de todo, ¿quién quiere hacer que otro esté mal apoyado y sea de baja calidad algo que finalmente se abandone después de un par de meses?
Pero , no hay razón para que tu proyecto de hobby tenga que hacer algo útil para nadie. Por ejemplo, recientemente comencé a aprender Haskell , simplemente porque es muy diferente de los idiomas imperativos a los que estoy acostumbrado, y es muy fácil de obtener preparar. También empecé a aprender el Redcode lenguaje ensamblador, utilizado en el juego de programación Core War , nuevamente por curiosidad.
Esto, a su vez, me ha llevado a buscar creando un complemento de Notepad ++ para proporcionar mejores características de resaltado de sintaxis para Redcode, lo que me ha llevado a considerar aprender un poco de C ++ . Aprovechando mi familiaridad comparativa con .NET, ahora estoy pensando en configurarme con Visual C ++ .
Y la cosa es que nada de esto realmente "importa", al menos no como un proyecto. Demonios, no estoy seguro de que pudieras llamarlo un proyecto per se , tanto como un montón de cosas con las que me estoy metiendo porque me llamó la atención. Quiero decir, necesitarás un poco de tiempo y organización para asegurarte de que realmente obtengas algo de eso, pero a nadie le importará si dejo de tener tiempo para Haskell una vez que comience la escuela.
Y a nadie le importará si resulta que el desarrollo de complementos para Notepad ++ es más difícil de lo que esperaba, y me rindo. De hecho, miré a Perl antes de sumergirme en Redcode, y lo abandoné bastante rápido porque tenía Dificultad para configurar el entorno correctamente. ¿Esto mostró una falta de persistencia? Sí. Pero a nadie le importa, porque es mi pasatiempo , y eso significa que puedo jugar con lo que me dé la gana.
Así que no sientas que debes elegir un proyecto de pasatiempo que te enseñará habilidades de comercialización: eso es solo convertir tu tiempo libre en más tiempo de trabajo no remunerado. Las habilidades vienen como un resultado de lo que haces, pero no son la razón . Ahora entiendo mejor la programación declarativa, cómo funcionan los lenguajes de ensamblaje y cómo los programas usan DLL. Y he aprendido un montón de cosas sobre el indicador de comando de Windows, y otras cosas que no habrías pensado que estuvieran conectadas a cualquier cosa que haya mencionado hasta ahora.
El punto es encontrar algo completamente nuevo y ver si es tan interesante como parece. Si lo es, genial, y si no lo es, sigue adelante. ¿Alguna vez ha tenido la más mínima curiosidad sobre compiladores o intérpretes? Vaya a ver LOLCODE . Si te hace tan feliz como a mí, entonces es hora de comenzar a aprender sobre compiladores . Y oye, tal vez deberías volver y pensar sobre el resaltado de sintaxis de nuevo. De hecho, este será probablemente el próximo proyecto que comience.
Si eso no es lo tuyo, intenta algo más bajo de lo que estás acostumbrado. O de nivel superior. No importa. Lo único que importa es que cuando usted lo mira, piensa "¡Diversión!"