What is a computer program?

Every computer program, from the browser you’re using to view this webpage to the Skype app you use on your phone to make video calls is essentially a set of instructions telling a computer what to do with data. Programs perform two functions on data: modifying it, or changing its location. For example, Skype receives audio and video data from your microphone and camera, translates it into a format that can be transported over the internet, and then sends it to the computer on the other side of the call.

Programmers write programs in high-level programming languages: languages that use natural language components and abstract away most of the complexity involved in interacting directly with computer hardware. These programs are passed through a number of intermediate steps by other programs in a process called compilation which eventually translates the original code into a binary form, just a series of zeroes and ones, that computers can understand but which is entirely nonsense to a human.

What is Ruby, and why are we using it?

The fundamental purpose of software is to improve efficiency by automating tasks that humans don’t want to do. This same principle is applied to programming languages themselves. Modern programming languages take many of the tasks that programmers had to do themselves with older programming languages and do them automatically.

Ruby is exactly this kind of language, and we chose to use it as the primary language at Destination: Dev for two main reasons. First, Ruby has a reputation as being one of the most beautiful and expressive programming languages out there. The design of the language is very logical and simple, and this makes it an ideal language for a beginner because it allows him or her to focus on the concepts rather than the intricacies of the language’s syntax. While Ruby is very approachable for beginners, it is also incredibly powerful and deep, making it popular with very experienced senior developers as well.

Second, Ruby is a language that has a great deal of demand in the job market, mainly due to the Ruby on Rails web development framework that uses it (you’ll learn a lot more about this later). Rails makes it incredibly easy to build web applications quickly, making it very popular amongst start ups. Rails’ ease-of-use allows it to also continue to be used by some of the largest companies on the internet, including Airbnb, Hulu, and Shopify.