Consumer Records Database

The biggest assignment in my Program Structure class was making an entire consumer records database app inside a CLI using C. Coming from using Java and Eclipse in my previous computer science class, writing C code with vim inside a command shell was a completely different experience. Aside from not having the conveniences of an IDE, writing C code and using pointers was very hard, but also super interesting.

Unlike Java, which was used in my previous classes, the use of pointers and lack of a garbage collector teaches you to keep track of your memory usage. At first, I thought that I wouldn’t be interested in it since higher level programming languages are more common and usually don’t require you to learn things like that. However learning what happens in a low level made me appreciate programming a lot more, similar to how learning the mechanics of a car can make driving more rewarding. Other than improving my skills with C, this project also taught me a bit about debugging since we had to implement a debug mode and do all the testing ourselves. As a result, I had to learn command line arguments, and how to properly test your code.

Source code at https://github.com/hovictor2000/consumer-records-database.