For a time I have wanted to explore use of the C programming language for a number of reasons.
Firstly, with the rapid evolution of languages/frameworks in software I am intrigued not just by general principles such as the deeper workings of software, but also by long-lived technologies such as C which are likely to continue to be relevant even with the rise of novel languages.
Secondly, owing to my previous experience with largely higher-level, general purpose languages with rich features I have been meaning to explore a lower-level language such as C. Moreover, I also welcome the challenges which arise where built-in dynamic data structures, for example, are not a given.
Thirdly, programming with C offers me the opportunity to work in more depth wih file I/O, networking and memory management etc.
Fourthly, the language itself also still boasts a crucial use-case in the production of systems where speed and explicit management of memory are crucial.
- Implement a Stack:
- Should hold a series of items [completed]
- Should have a set capacity [completed]
- Should accept items pushed and store them [completed]
- Should yield items popped and relinquish them [completed]
- Should be extendable [completed]
- Should be safely contractable [completed]
- Should make contents viewable [pending]
I am open to feedback and suggestions for further exercises; I am hoping to continue to build my knowledge and skills with the C programming language.