Tools and Practice / Programming Languages
Overview
This section will contain my collective observations about the strengths and challenges offered up by many of the different programming languages out there.
While I may have opinions on particular languages and strategic reasons for investing in some languages over others, I recognize that my clients will may make different choices for different reasons. As such, I should aim to be proficient in more than one language and able to get by with several.
Languages Martin is proficient in
Language Resources
Go
If you are new to Go, these are resources that can help you get started:
- A Tour of Go (in-browser interactive language tutorial)
- How to Write Go Code (info about the Go environment, testing, etc.)
- Effective Go (how to do things “the Go way”)
- Daily Dep documentation (common tasks you’ll encounter with my dependency manager)
- Exercism offers a series of exercises with gradually increasing complexity
Additional resources:
- GoDoc (where you can read the docs for nearly any Go package)
- Check out the Go wiki
- Advanced Testing with Go Video and Article (great overview of useful techniques, useful for all Go programmers)
- Book: The Go Programming Language
- Article: Copying data from S3 to EBS 30x faster using Golang
JavaScript
Important JS patterns and features to understand:
- Destructuring Assignment
- Fat Arrow Functions
- Higher Order Components
- Promises
- Spread Operator/Rest Params
- Template Literals
- React and Typescript