Type-related failures are common and can be very costly. Famously, in 1999, NASA's Mars Climate Orbiter burned up in the atmosphere because of an error that could have easily been prevented with typing. By taking advantage of the strong type systems available in most modern programming languages, you can eliminate whole classes of errors.
Programming with Types teaches you type system techniques for writing software that's safe, correct, easy to test and maintain, and that practically documents itself. Master these techniques, and you may even help prevent an interstellar catastrophe!
Key features
* Designing functions that don't return values
* An introduction to type systems and their benefits
* Encoding text
* Building data structures with arrays and references
* Type composition
* Function types
* Type safety
* Object-oriented programming with types
Audience
Readers need basic high school math skills as well as some programming experience in a mainstream programming language like Java, JavaScript, C#, or C++.
About the technology
As software grows in complexity, it's essential to adopt coding tools and strategies that enforce safety and correctness. A type system governs what types of data are allowable, requiring your code to accurately store, represent, and use its internal data.
Vlad Riscutia is a principal software engineer at Microsoft with over 10 years of experience in the software field. He has headed up several major software projects and mentored many up-and-coming software engineers.