#### Overview of this book

A key problem of software development today is software bloat, where huge toolchains and development environments are needed in software coding and deployment. Red significantly reduces this bloat by offering a minimalist but complete toolchain. This is the first introductory book about it, and it will get you up and running with Red as quickly as possible. This book shows you how to write effective functions, reduce code redundancies, and improve code reuse. It will be helpful for new programmers who are starting out with Red to explore its wide and ever-growing package ecosystem and also for experienced developers who want to add Red to their skill set. The book presents the fundamentals of programming in Red and in-depth informative examples using a step-by-step approach. You will be taken through concepts and examples such as doing simple metaprogramming, functions, collections, GUI applications, and more. By the end of the book, you will be fully equipped to start your own projects in Red.
Preface
Free Chapter
Red's Mission
Setting Up for Development
Using Words, Values, and Types
Code-Controlling Structures
Working with Series and Blocks
Using Functions and Objects
Working with Files
Parsing Data
Composing Visual Interfaces
Assessments
Other Books You May Enjoy

# Datatypes for performance

We all love and know our trusted series, but certain apps need all the performance they can get, especially when dealing with large datasets. For that specific reason, the vector!, map!, and hash! datatypes were constructed.

# The vector! datatype

When your series contains values of one of the integer!,float!, char!, or percent! types and only one of these, and you need fast mathematical operations, then you want to use the vector! type, like this:

`;-- see Chapter10/perf-datatypes.red:v1: make vector! [7 13 42 108]vector? v1       ;== true`

In a vector!, all values need to be of the same type. You can perform simple arithmetic with vectors like so:

`v1 + 2       ;== make vector! [9 15 44 110]print...`