Why Python's deepcopy Can Be So Slow copy.deepcopy() creates a fully independent clone of an object, traversing every nested element of the object graph." That can be expensive. Learn what it is doing and how you can sometimes avoid the cost.
That gives us the following useful features: We can start a JavaScript console from a shell. We can run files with JavaScript code from a shell. That is useful for automatically testing if our code is correct - a topic that we'll explore in a future chapter. We can write web servers in Node.js - which is another topic that we'll explore in the future. Node.js lets us install shell commands that help with web development.