Week 6: Learning C And Populating The Outline
This week in my internship, I began learning the programming language C. It’s very different from the language I use most, Python. Python has many, many libraries that allow me to call functions that other people have written, and while C has many, they are not as large, and do not include as many functions, leaving users to write more of their own functions. Python, as a high-level language, is designed to be easy to learn and use, but this means that it is slow. Python is actually converted to machine language (interpreted) before it is run. C, a mid-level language, is more efficient because it is closer to machine language; it is also portable and more versatile. New languages (whether human or machine) and they way they ‘think’ and are structured are fascinating to me, and it’s been a fun week as I figure out the intricacies of a new language.
I re-coded the Project Euler problems, this time in C, which is harder than in Python because C has limits on the amount of data a variable type can store. This necessitated turning very large numbers into strings for storage, then back to integers when I needed to evaluate them, and then back to strings to store the modified numbers, since the integer data type (even the long long integer) couldn’t store extremely large values. Integers are stored in binary, and there is a limit on the number of digits that can be stored in one memory location, while strings are stored with each character in a separate memory location, and so they can be longer. I noticed that my solutions to the problems were smarter (shorter, more efficient, better logic structure, require less data, etc.) than what I came up with two years ago, which should be expected, but it also is an achievement, tangible evidence that I’m improving.
As for my independent research, I worked on integrating my sources into my outline, seeing where the data fits into my thought and writing process. It’s not the most glorious of tasks, and you probably don’t want to read about it, but it is an essential step in the writing process. Also, I’m learning more about my sources as I integrate them into my paper’s structure, as it makes me consider where they fit in the scope of things and which parts of them are the most important for this project. Soon, I’ll start actually writing. I can’t believe all this time has passed already!
See you next week,