Recentemente ho imparato C e voglio iniziare un progetto per consolidare le mie conoscenze. Ho deciso di creare un editor di testo molto semplice, qualcosa di simile a Vim. Il problema che ho di fronte è che non ho davvero idea di come funziona un editor di testo, e non so per cosa google imparare.
La ricerca su google ha portato al repo di GitHub di Vim, che per me è inutile perché il codebase è enorme e il codice mi confonde. Ho anche trovato tutorial per creare un editor di testo in C che funzioni in modo simile a vim.
Anche se ho pensato di seguire i tutorial, mi sembra di barare. Come hanno fatto gli sviluppatori di vim a capire come codificare Vim senza tutorial specifici? Oppure sono partiti da semplici editor di testo? Come l'hanno capito solo dalla conoscenza delle lingue e della loro documentazione?
Di cosa ho bisogno esattamente per iniziare a scrivere questo editor di testo senza seguire direttamente un tutorial? Un altro esempio a cui mi piace pensare è: come hanno fatto Dennis Ritchie e Ken Thompson a codificare Unix? Ho un'idea di come funzioni il SO, ma non ho idea di come metterlo in codice. Cosa mi manca? Come trasferisco questa conoscenza della lingua in uso pratico e pratico?