CST334 - Week 1 - Musings and more
We covered a lot in the first week!
I generally have a lot of experience in Linux and the shell, having written many bash and Makefiles in the past while building CI pipelines. So it's nice to see that knowledge will crossover into the class! Similarly I have good experience in the command line since I usually test APIs with cURL and only use Git via the command line.
Despite the good foundation, I think one of the big learnings curves from this first week was writing C. I definitely have written C in past CS classes, but it's been a long time and much of the code we've written in CS Online has been Java. So the first coding exercise was definitely a little bit of a struggle.
Sure C to Java has familiar control structures (if, else, for, while and switch) and they're both statically typed. But there are a lot of critical differences in the two. Java handles garbage collection (while JVM more specifically) whereas C does not.
I imagine as we get deeper into the class we'll likely deal with memory management, which is something I have very little experience with. I am excited to deal with some lower level concepts there. Thinking about how C pointers to direct memory addresses means that there will be some very fun and interesting debugging exercises. I can already see the potential for memory leaks if you're not careful. Going beyond the simple buffer overflow we saw in the debug exercise I hope to get an understanding of what it means to manage complex memory state in a C application.
Comments
Post a Comment