(25 points)

Answer the following questions about Douglas Crockford's The Post JavaScript Apocalypse Talk. Some questions require more discussion than others, but you will most likely be unable to receive full marks for one-sentence answers.

You may collaborate with other students to come up with answers, but you must write the final responses on your own. Be sure to note anyone you collaborated with in the refrences file.

  1. What is Crockford's problem with POST, PUT, PATCH?
  2. Why does it make sense to Crockford to remove single quotes rather than double quotes?
  3. Why did ASCII characters get increased from 6-bits to 7-bits?
  4. What kind of scope does JS let provide?
  5. What is a "bottom" value?
  6. Which Computer Scientist introduced the idea of null? Why does he consider it a "billion dollar mistake"?
  7. What does a pure function do? What does use of pure functions improve?
  8. How can JavaScript be transformed into a pure functional language? Does making JavaScript pure make sense?
  9. Why does FORTRAN use parentheses to separate the condition from the "if" and the "consequence"?
  10. Why is there a problem with having optional curly braces around the "consequence" of an if-statement?
  11. What is the correct type for an addition of two int32 values?
  12. What is the purpose of a type system?
  13. Describe the DEC64 number format.
  14. What is an advantage of having only a single number type?
  15. Why do languages have reserved words? Why is this a hazard for programmers?
  16. What is programming by contract?

What to submit

In addition to the files required by the parts above (at least one txt file), submit a text file named references.txt. In this file, provide a citation for each resource you used (excluding class notes, and assigned readings, but including other students) to complete the assignment. For example, if you found a Stack Overflow answer helpful, provide a link to it. Additionally, provide a brief description of how the resource helped you. Your file should look something akin to:

uvaid: mst3k

http://www.w3schools.com/bootstrap/bootstrap_ref_comp_glyphs.asp
Helped me to use a glyphicon correctly.

Also provide a readme.txt file that includes your UVA computing ID and directions identifying which files are associated with each part of the assignment.

Your readme should have a format similar to:

uvaid: mst3k

Homework 3

answers.txt -> my answers

Make a zip archive named with your UVA computing ID and "hw3" that includes all of the required files (zip -r [zipfile.zip] [directory_to_zip]). Upload this to the submission website.

Remember, you may upload your submission multiple times. Try this before the deadline so that there is time to recover from any technical difficulties.