I generally don’t do GUIs for C. But I’m also an embedded C person.
When I have I’ll generate DLLs for the C portion then just pull them into a python based interface or something with easier to deal with gui implementations.
Programming languages are tools. Would you use a wrench to drive a nail? You could. But it would be painful, you’re gonna miss and whack your hand at least once.
If it’s a learning exercise, go for the C implementation, why not? I’ve written an XML parser in LabVIEW. (I never stopped to ask whether I should…) Is that the right tool for the job? Fuck no.
If this is an exercise in software engineering be an engineer and use the 99% already built and verified system to do the job it’s meant to.
Or you can write an entire theme park simulator in assembly because you like pain or something.









I’ve done thousands of reviews, been a senior for the last 4 years, and a tech lead for three of those. If I could distill what I’ve learned into a few tips:
Make sure you understand what you know what they’re doing and why they’re doing it.
If something feels weird, explore it, your gut is a leading indicator of bad code.
Think about how you would know if there was something wrong with the code after its deployed.
Think about how hard it would be to change the code later on.
Those are probably my big ones for general code reviews, there’s more specific ones for v&v and embedded, but I feel like these apply to everything.