https://x.com/arpit_bhayani/status/1848931553281450419
One coding project that I recommend every engineer to build at least once is to write your own JSON parser that converts the given string into a language-native object like a dictionary. Given how common the format is, we take the JSON parsing for granted and never think how it would have been implemented. Here are broad steps and milestones for you to chase if you want to build one from scratch 1. understand the JSON specification 2. create a tokenizer to extract tokens from the given string, using Lex 3. define the JSON grammar as per the spec using Yacc 4. handle errors and pretty print and point them in the provided string 5. construct the language native object like a dictionary or hashmap 6. test your JSON implementation for correctness against a test suite like http://github.com/nst/JSONTestSuite… If you are adventurous enough, try not to use Lex and Yacc, but rather write your tokenizer and parser from scratch specific to just JSON, and not for general-purpose usage. By building this, you will not only understand how JSON works but also, - why JSON parsing is considered to be slow and expensive - the parsing phase of any compiler of any language - how interesting these things are under the hood The project will put your problem-solving things to the test. If you are planning to build this, all the very best! Hope this project makes you super curious about engineering, computer science, and compilers in general.
let’s fucking build this!!!!!!!