I first started programming in C back in the start of high school, 2012. Since I had so much love for the program, I wanted to extend my knowledge even further and decided I would learn Python concurrently, through self-study. Since then, python has been my primary self-study focus for quick prototyping, with final code being written in Java, or C.
Today, I study computer science at the University of Mary Washington where we code in Python, Java, and C to understand object-oriented programming, operating systems, parallel programming, data science, algorithms, cyber security, discrete mathematics, compilers, as well as computer architecture.
There are two aspects to programming that I love dearly, of course these are not collectively exhaustive.
- Its always a new puzzle.
- Multiple ways exist to solve most given problems.
#1 and #2 are, of course, connected at the hip and end up forming one of my favorite classes, Data Science and Algorithms.
Like most fields, there are things to dislike. In the case of computer science:
- Sometimes its frustrating.
- Multiple ways exist to solve most given problems.
You may notice that I have #2 for both likes and dislikes. Having multiple ways to solve a problem can generally mean that some solutions are worse, time and space, complexity than others. This leads to frustration when optimizing code, trying to debug incorrect solutions, or even trying to code a secure application.
No matter what though, my enjoyment for the practice and understanding of computer science will always surpass my temporary setbacks and frustrations.