As a programmer, I have my goldilocks zone (python).
In order to reach for a different language, I’ll expect to get comfortable doing the following things in a new language:
- string manipulation - split, join etc
- string formatting and printing
- string templating
- reading and writing to files
- iterating over the contents of a file
- json parsing and generation
- reading and writing csv files
- regular expressions
- command line arguments and parsing them
- http client operations - GET, POST
- reading configurations from a file - toml, yaml, ini
- processing xml files
- generating HTML files
- dealing with unicode encoding
- unit testing
- connecting to and querying sql databases
- shelling out and calling external processes
- threads
- multiprocessing
- asynchronous programming
- using third party code and library
- packaging code for reuse
- packaging binaries for deployment
- cross-platform compilation
Update 2020-05-30: Read The Hard Part of Learning a Language • Hillel Wayne