ICS 314 and What to Expect from TS

05 Sep 2024

First Exposure

I first heard of Typescript being mentioned in a video about web development. At the time I had just started learning about and working with Java so the language looked familiar but different.

Readability

When I first took a glance at Typescript, I thought that I was reading Python. All that I knew at that time was that Python was a relatively easy language to pick up since it was easy to read, so you could see how I made that assumption when I saw variables being declared with “let”. I know now that Typescript and Python look completely different, at the time I believed that it was Python just because of how readable the code was. For example:

let name: string = "Michael"; // let name be "Michael"

For the line of code above, we could literally read it as is and it would mostly make sense.

Types

Another feature of Typescript that I enjoy is that it has typing. Before learning about Typescript, I learned Javascript. While learning Javascript, I felt that it was weird compared to Java since it didn’t define variables when they were called. It always felt somewhat uncomfortable without being able to do that as I know I make silly mistakes at times. When I eventually progressed to Typescript I found that it allowed us to create variables with type restrictions, and felt relieved knowing that this feature would save my sanity one day. I do find it sometimes annoying to work with at times, but I think that the payoff is definitely worth it.

name = 31; // Throws an error, because name cannot be a number

Thanks to types, we can prevent ourselves from doing something that we didn’t intend for the function to do, like changing my name into a number.

Typescript as a Language

So far I think Typescript is a fun language to use. I know that in the future I am going to need to use this language as I want to become a data scientist. To become a data scientist I will need to excel in using excel sheets and more importantly manipulate them so that I can get data. The cool thing about this is that you can use excel scripts to do this which are made in Typescript.

The Class so Far

Within this class, we have something called a WOD, which is shorthand for Workout of the Day which I will touch upon later. WODs are a part of something the professor likes to call athletic software engineering. This style of teaching I find to be quite stressful, just because it really makes us hold ourselves accountable, but overall I prefer it over a traditional teaching style. Granted I think I would die of stress if this teaching style was applied to every single one of my class, but I find it a quite nice change of pace.

WODs

As mentioned in the section above, WODs are a part of the athletic software engineering style. WODs are graded once a week, typically on the last day of class for the week. Then, we are assigned practice WODs which aim to prepare us for the WOD that is actually graded. Personally I find this part of class to be quite enjoyable as each WOD is structured as a puzzle that we need to solve within a limited amount of time.