Typescript Trials: My Journey and Thought on the Learning the Popular Coding Language

05 Sep 2024

Introduction to Typescript

When I first saw the daunting list of 142 Typescript lessons assigned in my software engineering class, a wave of nervousness washed over me. Unsure of what lay ahead, I embarked on my learning journey, and with an open mind, began learning Typescript.

Throughout the journey I deepened my understanding of the language, allowing me to appreciate its efficiency. Simultaneously during this time I began tackling Workout of the Day assignments in class, which not only tested my coding skills but also sharpened my quick thinking skills.

Decoding Typescript: Examining its Features

My initial impression of Typescript is that it is relatively easy to learn and become comfortable with, especially with some prior programming experience. For those with previous coding knowledge, Typescript’s structure and syntax are relatively intuitive, making it a fairly simple language to pick up on. When compared to other coding languages I am familiar with, like Java and Python, there are both similarities and differences. For instance, Typescript shares the same object-oriented nature as Java, which means it is possible to create complex data structures and models efficiently. At the same time, it also maintains the flexibility of Javascript, similar to how Python allows for code to be written quickly and dynamically.

Throughout the process of learning Typescript, I learned about various features of the language such as the let, var, and const variable declarations - as well as the difference between each of them. Understanding when to use each helped make my code clearer and less likely to run into errors during compilation or run-time. Furthermore, I learned about destructuring which allows for the developer to make their code more precise and readable.

Assessing Typescript: A Software Engineering Perspective

Typescript offers several significant advantages, particularly through its strongly typed system. By explicitly defining the types of variables, parameters, and return values, developers can catch mistakes early on, enhancing the clarity of the code and reducing errors down the line. For example, if a function expects a number and instead receives a string, Typescript will throw an error during compilation, catching the issue long before testing or any production development.

However, there are also notable downsides presented by Typescript, such as the additional build time required for compilation and execution of the code. The process of compiling Typescript into Javascript involves checking all type information and transforming code, which can significantly add to the development time. Despite this, Typescript is a good choice for larger-scale projects since its type system encourages better collaboration between developers. This system ensures that everyone in the team understands which data type is being used which reduces bugs and promotes productivity.

Training for Success: Analyzing Athletic Software & WODs

I’ve found the Workouts of the Day (WODs) to be an interesting, yet stressful learning method that encourages me to think on my feet. While the WODs can be quite intimidating, they are not nearly as impossible as their reputation makes them out to be.

The primary element of the WODs that makes them challenging is their time limit. The time constraint of the WODs sometimes limits my ability to think through each scenario - often leading to more generic coding solutions. I naturally require more time to thoroughly analyze problems, so the WOD learning style does not fully align with my personal learning preferences. However, I believe that this challenge will improve my quick decision making, which will ultimately prepare me for future professional situations.

Final Thoughts

Reflecting on my learning journey through the process of working through the Typescript lessons, the journey was both enlightening and challenging. Learning Typescript, with its type system and object-oriented approach, has greatly improved my approach to software development.

Alongside these lessons, the process of completing the WODs has challenged me to think on my feet and pushed me to be creative in the way I approach various scenarios under a time constraint. These experiences have not only given me a solid foundation in Typescript, but have also given me a taste into the world of software development. I’m confident the foundation I have begun building will play a significant role in future projects I work on, as well as eventual professional endeavors.