Project Technologies and AI

What is your favorite technology from your project and why? What is it used for? How could it be made better?

For my Capstone project, my group and I are working on a text based adventure game site. The project actually consists of two different sites, one for the player and one for a user to create different games. So far, the only technology that I’ve learned from school work or other personal projects is React. New technologies that I am actively learning and using include TypeScript, FireBase/FireStore, and Vite. So far I think my favorite technology from the project is TypeScript. I had never used TypeScript as a programming language before and did not quite understand what it was for. The first week of our project, we utilized most of the time to setup the github repos and get a basic product working that we could present to the instructors, as well as learning about the technologies that we would be using throughout the term. I had used JavaScript for other React/full stack projects before and had enjoyed using it as a programming language, however, I did not recognize that TypeScript is so much more powerful. Through watching different Youtube videos and reading about how to use TypeScript with React, I was able to figure out why we would consider using it, and why it is becoming more of an industry standard. Through my research, I found some very beneficial things that are included in the TypeScript library:

  • Static typing – TypeScript comes with optional static typing and a type inference system, which means that a variable, declared with no type may be inferred by TypeScript based on its value.
  • Object oriented programming – TypeScript supports object-oriented programming concepts like classes, inheritance, etc.
  • Compile time checks – JavaScript is an interpreted programming language. There is no compilation involved. Hence, the errors get caught during the runtime. Since TypeScript compiles into JavaScript, errors get reported during the compile time rather than the runtime.
  • Code editor support – IDEs or code editors like VS Code support autocomplete for a TypeScript codebase. They also provide inline documentation and highlight the errors.
  • Use existing packages – You might want to use an npm package that is written in JavaScript. Since TypeScript is a superset of JavaScript, you can import and use that package. Moreover, the TypeScript community creates and maintains type definitions for popular packages that can be utilized in your project.

Source: https://www.contentful.com/blog/what-is-typescript-and-why-should-you-use-it/#:~:text=TypeScript%20extends%20JavaScript%2C%20providing%20a,TypeScript%20based%20on%20its%20value.

Overall, I think that I had overlooked TypeScript, thinking that JavaScript was the way to go, however, I think in the future with web based projects, I think I will highly consider using TypeScript over Javascript. Below find some videos that I found useful when learning TypeScript:

I found this video to be short and sweet and gave me the basics of why and how to use Typescript
This video was a little more in depth and gave me an idea of how we were going to use the two technologies together

How are you using AI in your project (or another one)? What are some pros and cons? Has it made you a better programmer?

We are not using AI in our project specifically for any of it’s components. However, I have used ChatGPT to better understand the code that we are writing. I find that AI is a good resource to better understand technologies. I don’t think that is the best resource, however, it does provide a succinct and easy way to ask a question about something and get an immediate answer. I feel that it is a great tool to better understand concepts that are new. Specifically in our project, since I have not used TypeScript before, I have found that AI is pretty good at explaining different components of the language and how they can be used when writing code. I also find that when writing code, submitting the code to a generative AI technology like ChatGPT, can help ensure that the components that you are attempting to add to your program are being used as expected. I think that AI has made me a better programmer because it is a fast and convenient technology that allows my knowledge of different technologies to grow simply. I am able to break down components in code to very minute details that may not be answered in a StackOverflow post or in some post on Reddit. Overall, I think AI has a lot of potential to help current and future software engineers grow in their careers, however, it does have some faults and is not as accurate as we may expect. I typically attempt to take what ChatGPT says with a grain of salt and do further research to gather information from multiple resources before coming to a conclusion.

Print Friendly, PDF & Email

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *