CST8333
Programming Language
Research Project
1. Language Research
· Stack Overflow Developer Survey 2024(https://survey.stackoverflow.co/2024/technology#2-programming-scripting-and-markup-languages)
The Stack Overflow Developer Survey is an annual survey that gathers insights from developers worldwide on their demographics, tools, programming languages, work environments, and preferences in technology.
· TIOBE Index(https://www.tiobe.com/tiobe-index/)
The TIOBE Index is a monthly ranking that measures the popularity of programming languages based on the number of searches for them on popular search engines, reflecting trends in the software development industry.
· PYPL Index
The PYPL (PopularitY of Programming Language) Index is a ranking that measures the popularity of programming languages based on the frequency of searches for language tutorials on Google, reflecting interest and demand for learning those languages.
2. Language Selection
· I will study Typescript
· I chose to learn TypeScript. because it extends JavaScript. with strong typing, improving code quality and reducing errors during development. As TypeScript. is widely used in modern web development, mastering it aligns with my career goals of building scalable, maintainable applications in both frontend and backend development.
· TypeScript. aligns with my career goals by improving code scalability and maintainability, essential for full-stack development. Its industry adoption enhances my job prospects in both frontend and backend roles.
3. Unit Testing Research
· JEST(https://jestjs.io/) [1]
Jest is a JavaScript. testing framework developed by Facebook, commonly used for testing React applications. It provides a powerful, zero-configuration setup with features like snapshot testing, code coverage reports, and mock functions, making it ideal for testing both frontend and backend JavaScript. code efficiently.
· Mocha(https://mochajs.org/) [2]
Mocha is a feature-rich testing framework running on Node.js, making asynchronous testing simple. It provides flexibility with various assertion libraries and reporting tools, allowing developers to tailor their testing environment to their needs.
· I chose Jest for unit testing due to its simple setup, strong integration with JavaScript. and TypeScript, and built-in features like mocking and snapshot testing. It's efficient, reliable, and widely supported, making it ideal for modern web development.
4. Development Tools
· Operating System: Arch Linux (kernel 6.10.8-arch1-1)
◦ Linux Kelly-Arch 6.10.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 04 Sep 2024 15:16:37 +0000 x86_64 GNU/Linux
· Programming Language: Typescript
· Development Tools:
◦ Editor: Neovim v0.10.1 (Apache 2.0 license)
◦ Runtime: Bun 1.1.28 (MIT license)
· The development softwares are free and open source.
REFERENCES
[1] Jest, "Delightful JavaScript. Testing," Jest, 2023. [Online]. Available: https://jestjs.io/. [Accessed: 15-Sep-2024].
[2] Mocha, "Mocha Documentation," Mocha, 2023. [Online]. Available: https://mochajs.org/. [Accessed: 15-Sep-2024].