Niedawno nauczyłem się C i chcę rozpocząć projekt, który wzmocni moją wiedzę. Postanowiłem stworzyć bardzo prosty edytor tekstu, coś w rodzaju vima. Problem, z którym się zmagam, polega na tym, że naprawdę nie mam pojęcia, jak działa edytor tekstu, i nie wiem, po co google, aby się o tym dowiedzieć.
Googlowanie na ten temat doprowadziło do powstania repozytorium GitHub vima, co jest dla mnie bezużyteczne, ponieważ baza kodów jest ogromna, a kod mnie dezorientuje. Znalazłem również samouczki dotyczące tworzenia edytora tekstów w C, który działa trochę jak vim.
Chociaż myślałem o podążaniu za samouczkami, czuję się jak oszukiwanie. W jaki sposób programiści vim wymyślili, jak napisać vim bez określonych samouczków? Czy też zaczęli od prostszych edytorów tekstu? Jak oni to odkryli na podstawie znajomości języków i ich dokumentacji?
Czego dokładnie potrzebuję, aby rozpocząć pisanie tego edytora tekstu bez bezpośredniego korzystania z samouczka? Innym przykładem, o którym lubię myśleć, jest: w jaki sposób Dennis Ritchie i Ken Thompson kodowali system Unix? Mam pojęcie o tym, jak działa system operacyjny, ale nie mam pojęcia, jak umieścić go w kodzie. Czego mi brakuje? Jak przenieść tę znajomość języka na faktyczne, praktyczne zastosowanie?