Ruby Lecture Intro What Is A Program


  • Describe a program.
  • Distinguish between interpreted and compiled programs.
  • How to run a Ruby program in your terminal.
  • List and describe the words that compose code: keywords, barewords, and data.
  • Identify when and why errors occur in programming.

What's a Program?

All programs are just files on your computer filled with text. That text has a special syntax we call code. The programming language you're using defines the syntax of the code you are allowed to write. Programs are converted to machine code so that the computer can understand it.

Interpreted vs Compiled

Depending on the programming language you're using, it will either be a compiled language or an interpreted language. Compiled programs will first be converted to machine code and then you will be able to run the program. Interpreted languages will be interpreted and converted to machine code at run time.

Running a Ruby Program

Once you have a Ruby program as a file, you can run it through the Ruby interpreter to execute it. Your Ruby interpreter is accessible via the ruby command in your command line (assuming you have ruby installed correctly).

When you type in ruby -v you should see the version of Ruby you are currently running.

ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]

As an example, to run a Ruby program that was stored in some-program.rb you would simply type: ruby some-program.rb.

Words in a Program

Every word and character in a program has to be valid code for the Ruby language. Basically, every word can be one of three possible things:

  1. A Ruby keyword, something that's part of the ruby language.
  2. Literal data, things like "Strings" and numbers like 1 or 2.
  3. Barewords you define and create, things like variables and methods.

Anything that isn't one of those is invalid and the Ruby interpreter will throw an error.

Let's say you ran a program, and saw the following output (pay attention to the last line):

Programs are composed of basically three things:
A language's keywords, like 'if' or 'end' (approximately 43).
Literal pieces of data like this very sentence (or String).
Finally, barewords, or variables, that are set equal to things.
Anything that isn't one of those will cause an error.
lib/a_ruby_program.rb:23:in `<main>': undefined local variable or method `see' for main:Object (NameError)

That last line, lib/a_ruby_program.rb:23:in '<main>': undefined local variable or method 'see' for main:Object (NameError) is telling you that there was an error caused by an unrecognized word in the source of our program, more specifically on line 23.

We'll soon learn all about reading error messages.

Unlock your future in tech
Learn to code.

Learn about Flatiron School's Mission

With a new take on education that falls somewhere between self-taught prodigy and four-year computer science degree, the Flatiron School promises to turn students with little programming experience into developers.

In the six months since the Manhattan coding school was acquired by WeWork, it has spawned locations in Washington, D.C., Brooklyn, and London. Now, WeWork is opening a fourth Flatiron School location, this time in Houston.

Adam Enbar, Flatiron School's cofounder, believes now is the time to grow. "How the world is changing has impacted working and learning in very similar ways. We think education fundamentally is about one thing: enabling people to pursue a better life."

Learn. Love. Code.
Students come to Flatiron School to change their lives. Join our driven community of career-changers and master the skills you need to become a software engineer or a data scientist.
Find Us