2. Some Perspective for Beginners
Before diving into the raw mechanics, here's a fundamental perspective that's helpful to understand:
Modern computers, operating systems and programs all do very basic things, in limited ways, with a limited scope of data types:
- They let users input various types of data: text, images, sounds, video, etc.
- They let users save, retrieve, organize, share/transfer, manipulate, alter, view and otherwise deal with that data in useful ways.
Everything that can be done with a modern computer basically involves manipulating text and non-text data (non-text data is called "binary" data). In the current state of modern computing, data of all types is typically input, manipulated, and returned via graphical user interfaces such as Windows program interfaces, web forms displayed in browsers, and other keyboard/mouse driven "GUI"s.
Data is saved on local hard drives and storage devices (CDs, thumb drives, etc.) and on remote web servers, and is typically transferred via local networks and Internet connections.
Knowing how to control those familiar computing elements to allow users to manipulate data, is the goal of learning to program. It doesn't matter whether you're interested in writing business applications to work with inventory and scheduling (text data), programs to alter Internet web pages or emails (text and image data), programs to organize or play music (binary data), programs to transfer files across networks (text and/or binary data), programs to broadcast video and sound across the Internet (rapidly transferred sequential frames of binary data), programs to control robotic equipment (binary data sent over a connected cable), programs to play games, etc... They all require learning to input, manipulate, and return data of some sort.
You can do all those things with Rebol, and once you've done it in one language, it's easier to do with other specialized languages and programming tools.
Rebol handles common user interfaces and data types easily and intuitively. It allows programmers to quickly build graphic interfaces to input and return all common types of data. It can easily manipulate text, graphics, and sounds in useful ways, and it provides simple methods to save, retrieve, and share data across all types of hardware, networks, and the Internet. That makes it a great way to begin learning how to program.
The rest of this tutorial is available from Nick Antonaccio at: