Ja obecnie preferuję czyste C, ale na początek chyba bym proponował jednak C++, ze względu na istnienie standardowych kontenerów jak listy, struktury drzewiaste (std::set, std::map itp.), czy automatyczne alokowane string-i. Zakładam że na początku najważniejsze jest szybkie uzyskiwanie działanie programu, nawet jeżeli jest zrobiony bałaganiarsko i trudno w utrzymaniu. Programy w C jest trochę trudniej zacząć, bo wymuszają rozwiązywanie problemów w sposób możliwie jak najprostszy a na najprostsze rozwiązanie często wcale nie jest tak łatwo wpaść - ale ze względu na ten wymuszony dłuższy czas na początku na dobranie rozwiązań prostszych, są łatwiejsze w utrzymaniu.
Jestem wielkim zwolennikiem czystego C i używam gdy tylko mogę, a mogę bardzo często, jednak myślę że lepiej nabrać wprawę w programowaniu ogólnie, a dopiero później nakładać na siebie dodatkowe ograniczenia, jakie nakłada robienie w czystym C. Nie zawsze mogę używać czystego C, choćby z powodu wspomnianego już w wątku FLTK, którego sam też preferuję ponad inne biblioteki GUI, ale i FLTK nie jest dużym problemem, bo przecież w implementacji programu można mieć wiele plików czystego C, tylko linkowanych z plikami C++ zawierającymi bezpośrednie odwołania do FLTK.
Co do tej "przestarzałości" języków i tego, że inne języki uniemożliwiają popełnienie jakichś tam kategorii błędów możliwych do popełnienia w C: wg mojego doświadczenia, główne błędy jakie mam w programach, to brak jakiegoś porównania, czy porównanie z nie tą wartością co trzeba - błędy nijak mające się do użytego języka programowania i nie dające się wykryć automatycznie, bo żaden automat nie ma skąd się domyśleć że to błąd a nie celowe działanie. Błędy typowe dla C są zwykle dużo prostsze do znalezienia, wiele z nich nawet bez własnej inwencji, a jedynie poprzez uruchomienie odpowiedniego narzędzia.
Problemem C jest to, że nie jest modny, więc gdybym nie mógł osobiście decydować o tym, w jakim języku pracę wykonam, jest duża szansa że byłby mi narzucony jakiś inny język a moje doświadczenie programisty uznane za mniej warte niż kogoś, kto programuje w czymś bardziej modnym. Gdybym nie był w dużym stopniu pasjonatem, to C bym porzucił.