D — A Final Exploration
Due Thursday, September 19, midnight
Delivery
D, the executable for task 1.
Task 1 Implement a client for the TCP labyrinth server according to this protocol specification.
The client acts like the old client except that it accepts all well-formed JSON values that belong to StrJ. It does not check their validity, but if it cannot construct well-formed JSON values messages for the server from these inputs, it shuts down.
Parametrize D via command-line arguments over the IP address of the server and the destination port. If the command-line arguments are missing, use "localhost" and port 8000 as the respective defaults.
Note In addition to this last assignment concerning your TAHBPL, you
must also work out the first step of the semester project, see 1 —
Switching Languages for the Semester Project
Confirm on your own that you can easily use your new language to
deal with command-line arguments
STDIN
TCP sockets or ports
unit testing
JSON reading and writing
The above points are a minimum not a comprehensive set of concepts you will acquire on the side for software system construction. Over the course of the semester, your chosen language will have to support other essential concepts from software systems building. This aspect of our course simulates the real world and the need to work around it.
Write a memo that explains in one paragraph why you are abandoning your originally chosen language and in another how you have assured that you are familiar with the above concepts in your new language.
Please hand-deliver this short memo to the lead instructor during office hours. Add the sentence
We, the signers of this document, assure Matthias that we have explored our new language via active programming exploration.
and sign the memo with a pen (both partners).