diff --git a/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md b/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md index c1206550..3f5e21db 100644 --- a/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md +++ b/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md @@ -8,4 +8,15 @@ There are many tools that a web developer may need that are on the [MDN document Exemplary | Adequate | Needs Improvement --- | --- | -- | -|Explained why web developer would use tool| Explained how, but not why developer would use tool| Did not mention how or why a developer would use tool | \ No newline at end of file +|Explained why web developer would use tool| Explained how, but not why developer would use tool| Did not mention how or why a developer would use tool | + +## Assignment Response + +### 1. Linter +A Linter is a tool that can look through your code and check to see if any errors are present. Linters are primarily meant for the JavaScript language, but Linters do exist for other types of languages (i.e., CSS). Linters are especially useful for web developers during the debugging phase, as that is when developers spend most of their time checking for errors in their code. Linters can be proprietary or open-source (**webhint**, **ESLint**, and **Radon**). The official documentation for Radon, a Python linter, can be found [here](https://radon.readthedocs.io/en/latest/). + +### 2. Deployment Tools +Deployment tools are a varierty of different tools that all serve the same purpose. These tools allow you to deploy a website, whether it is static or dynamic. For static sites, it is much easier to deploy them, since only one tool is needed to deploy them. Examples of these tools are **Netlify** (an all-in-one development platform for creating web apps with different languages), **GitHub Pages** (based on Jekyll, which is a static site generator built on the Ruby programming language), and **Nikola** (a static site generator built on the Python programming language). Dynamic sites, on the other hand, are much more complex to set up initially, but easier to manage after the setup. Dynamic sites tend to be better for larger sites, primarily because they are easier to manage and scale. Examples of these tools are **Wordpress** and **Drupal**, which are both content management systems (CMS) based on the PHP language. [Here](https://www.drupal.org/documentation) is the official documentation for Drupal. + +### 3. Bundlers/Packagers +These tools are used to optimize your code before it is ready for production. It is also used to package the code's assets before it is uploaded to the web server. Examples of bundling and packing tools are **Parcel** and **Webpack**. [Here](https://parceljs.org/docs/) is the official documentation for Parcel.