Recientemente aprendí C y quiero comenzar un proyecto para solidificar mi conocimiento. Me decidí a hacer un editor de texto muy simple, algo así como vim. El problema al que me enfrento es que realmente no tengo idea de cómo funciona un editor de texto, y no sé qué buscar en Google para obtener información al respecto.
Buscar en Google lo llevó al repositorio de vim en GitHub, lo cual es inútil para mí porque la base de código es enorme y el código me confunde. También encontré tutoriales para hacer un editor de texto en C que funciona como vim.
Aunque pensé en seguir los tutoriales, se siente como hacer trampa. ¿Cómo descubrieron los desarrolladores de vim cómo codificar vim sin tutoriales específicos? ¿O comenzaron con editores de texto más simples? ¿Cómo resolvieron eso solo por el conocimiento de idiomas y su documentación?
¿Qué es exactamente lo que necesito para comenzar a escribir este editor de texto sin seguir directamente un tutorial? Otro ejemplo en el que me gusta pensar es: ¿cómo Dennis Ritchie y Ken Thompson codificaron Unix? Tengo una idea de cómo funciona el sistema operativo, pero no tengo idea de cómo ponerlo en el código. ¿Qué es lo que me estoy perdiendo? ¿Cómo transfiero este conocimiento del idioma al uso real y práctico?