Ever since I started my journey in coding and programming, I’ve encountered many different programming languages along with their unique uses. After I learned and got pretty good with Java, I would then begin my transition into a new programming language, C. For me, it was very daunting knowing that I would have to learn and master more than just one language which made me question if I was really cut out for it, but soon after, all my pointless worrying would disappear. From that experience, I have come to realize that learning new languages was not as hard as I made it out to be. Almost all of the fundamentals and basics are consistent across programming languages with varying syntaxes. This made learning new languages become a more exciting thing rather than one to be feared, and because of this I was able to learn other languages very easily such as C++, python and now JavaScript and TypeScript.
My introduction to JavaScript was done through FreeCodeCamp’s JavaScript Algorithms and Data Structures course containing around 140 exercises. Through completing the 140 problems and familiarizing myself with JavaScript, I came to really like how flexible the programming language is. With the additional features that ES6 provides, it also makes it much easier to simplify the code which improves code readability as well. From learning JavaScript, going onto TypeScript was also very easy because TypeScript is a superset of JavaScript with an added layer and being static rather than dynamic. I found TypeScript to be slightly better than JavaScript because of this added layer which I believe to improve the overall maintainability of the code. Overall, I am very excited to get myself used to TypeScript and being able to apply it to develop real world applications that can be used by others.
Regarding athletic software engineering, it is something new to me and seems very challenging, but who does not love a good challenge. I believe that athletic software engineering is something that can really enhance your programming abilities even if you are not good at it because it really challenges your problem solving abilities. Within ICS 314, we are practicing athletic software engineering through WODS which are essentially timed exercises/problems. So far, I found this style of learning to be very challenging but also very rewarding. There is a lot of stress that can come with having to complete a task within a certain time frame, but that just makes completing it all the more rewarding. Being given timed exercises/problems will definitely help me to work better under pressure and will also improve my problem solving skills which will be very useful in my programming career.
Learning JavaScript and TypeScript opens up a new path for me in my computer science and programming journey which is software engineering. With TypeScript, I will be able to learn to develop new web applications and projects that can be used to help others which is something that I am interested in. There are so many web applications that are out here now, some of which I use in my daily life and also web applications that may be very useful which have yet to be created. One day, I hope to create something new which can be widely used by others.