SlideShare a Scribd company logo
1 of 15
Programming, Ruby,
Rails and more
Callum Jones
Programming
The ability to instruct the computer what to do

Instruct the computer how to behave when certain
events arise
Why program?
•

Solve a problem

•

Solve other people’s problems

•

Get a computer slave away on a laborious task,
while you focus on the more important things

•

Historically machines have replaced labour
intensive jobs

•

Perth’s next economy
A programmer
•

Isn’t just focused on one skill.
•

Employers want to hire programmers, not Rails
programmers

•

Should understand the depth of the tools they are
working with

•

Can extend and grow the tools they are working
with
A programmer
•

Works with logic/decisions
•

•

Works with repetition/iteration
•

•

IF is_night_time? DO lights_on ELSE lights_off

WHILE is_really_dark? DO lights_on ELSE
lights_off

Can talk to other computers and services
•

IF bom_per th_sunset? DO lights_on ELSE
lights_off
Tools
•

Develop code in an editor
•
•

•

Lightweight: Sublime Text, Notepad++
Heavy/extensive: RubyMine, Aptana RadRails

A computer. Any will do
•

Cloud9 allows for programming in a browser
Ruby
•

Ruby is the language powering Rails, we need
appreciate what’s happening underneath and go
beyond Rails.

•

Developed in the mid 90s by Yukihiro Matsumoto (Matz)

•

Built for productivity and for fun
•

•

Reads as it is written (story like)

Tryruby!
tryruby.org
Rails
•

Rails bring Ruby to the web.

•

Developed by David Heinemeier Hansson (DHH) for
37signals. Now 13 core team members.

•

We write programs that output stuff that is sent to a web
browser
•

•

Our browsers can send stuff back to Rails and we can
react

Rails marries Ruby as a language with good web principles
Websites
Static

Dynamic
•
•

•

Always changing
Computer programs can react
to events and update the
website.

Can’t react to change without a
human rewriting it

•
•

•
•

Human input
Time of day

Simple
A restaurant site with with no
booking, just a fixed menu.

•

The website can be
personalised for each user

•

facebook.com, News sites,
Blogs

More Related Content

Viewers also liked

4 variabel konstanta-tipe-data
4 variabel konstanta-tipe-data4 variabel konstanta-tipe-data
4 variabel konstanta-tipe-dataIcha Dicaprio
 
Projects plan 2014/ Yaroslavl
Projects plan 2014/ YaroslavlProjects plan 2014/ Yaroslavl
Projects plan 2014/ YaroslavlYulia Krivtsova
 
Children participation in urban planning/ Yaroslavl, Krasnyi Perekop
Children participation in urban planning/ Yaroslavl, Krasnyi Perekop Children participation in urban planning/ Yaroslavl, Krasnyi Perekop
Children participation in urban planning/ Yaroslavl, Krasnyi Perekop Yulia Krivtsova
 
резинотехника территория изменений
резинотехника территория изменений резинотехника территория изменений
резинотехника территория изменений Yulia Krivtsova
 
TEXTIL/ Новый год своими руками
TEXTIL/ Новый год своими рукамиTEXTIL/ Новый год своими руками
TEXTIL/ Новый год своими рукамиYulia Krivtsova
 
Fungsi rekursif, queue, stack
Fungsi rekursif, queue, stackFungsi rekursif, queue, stack
Fungsi rekursif, queue, stackIcha Dicaprio
 
Solarux Yoğunlaştırılmış Güneş Enerjisi Sistemi GES
Solarux Yoğunlaştırılmış Güneş Enerjisi  Sistemi GESSolarux Yoğunlaştırılmış Güneş Enerjisi  Sistemi GES
Solarux Yoğunlaştırılmış Güneş Enerjisi Sistemi GESBağımsız çalışan
 
Social media past vs. present ppt
Social media past vs. present pptSocial media past vs. present ppt
Social media past vs. present pptvluo
 
Pengenalan algoritma
Pengenalan algoritmaPengenalan algoritma
Pengenalan algoritmaIcha Dicaprio
 
Bordetella pertussis
Bordetella pertussisBordetella pertussis
Bordetella pertussisKhusni Chan
 

Viewers also liked (17)

19
1919
19
 
Struktur Kontrol
Struktur KontrolStruktur Kontrol
Struktur Kontrol
 
4 variabel konstanta-tipe-data
4 variabel konstanta-tipe-data4 variabel konstanta-tipe-data
4 variabel konstanta-tipe-data
 
Projects plan 2014/ Yaroslavl
Projects plan 2014/ YaroslavlProjects plan 2014/ Yaroslavl
Projects plan 2014/ Yaroslavl
 
Children participation in urban planning/ Yaroslavl, Krasnyi Perekop
Children participation in urban planning/ Yaroslavl, Krasnyi Perekop Children participation in urban planning/ Yaroslavl, Krasnyi Perekop
Children participation in urban planning/ Yaroslavl, Krasnyi Perekop
 
резинотехника территория изменений
резинотехника территория изменений резинотехника территория изменений
резинотехника территория изменений
 
TEXTIL/ Новый год своими руками
TEXTIL/ Новый год своими рукамиTEXTIL/ Новый год своими руками
TEXTIL/ Новый год своими руками
 
Array satu-dimensi
Array satu-dimensiArray satu-dimensi
Array satu-dimensi
 
Algoritma Matriks
Algoritma MatriksAlgoritma Matriks
Algoritma Matriks
 
Fungsi rekursif, queue, stack
Fungsi rekursif, queue, stackFungsi rekursif, queue, stack
Fungsi rekursif, queue, stack
 
Solarux Yoğunlaştırılmış Güneş Enerjisi Sistemi GES
Solarux Yoğunlaştırılmış Güneş Enerjisi  Sistemi GESSolarux Yoğunlaştırılmış Güneş Enerjisi  Sistemi GES
Solarux Yoğunlaştırılmış Güneş Enerjisi Sistemi GES
 
Oop
OopOop
Oop
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
 
Array
ArrayArray
Array
 
Social media past vs. present ppt
Social media past vs. present pptSocial media past vs. present ppt
Social media past vs. present ppt
 
Pengenalan algoritma
Pengenalan algoritmaPengenalan algoritma
Pengenalan algoritma
 
Bordetella pertussis
Bordetella pertussisBordetella pertussis
Bordetella pertussis
 

Similar to Railsgirls

Computer programming
Computer programmingComputer programming
Computer programmingSujay Raj
 
APU RoR Workshop Series #1 - Introduction to Programming
APU RoR Workshop Series #1 - Introduction to ProgrammingAPU RoR Workshop Series #1 - Introduction to Programming
APU RoR Workshop Series #1 - Introduction to ProgrammingJimmy Ngu
 
Introduction to Programming.pptx
Introduction to Programming.pptxIntroduction to Programming.pptx
Introduction to Programming.pptxMelbornGatmaitan
 
Julia Computing - an alternative to Hadoop
Julia Computing - an alternative to HadoopJulia Computing - an alternative to Hadoop
Julia Computing - an alternative to HadoopShaurya Shekhar
 
CPP01 - Introduction to C++
CPP01 - Introduction to C++CPP01 - Introduction to C++
CPP01 - Introduction to C++Michael Heron
 
Computer Programming
Computer ProgrammingComputer Programming
Computer Programmingjosernova
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair ProgrammingSteven Smith
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production Matthew Reynolds
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP120bi
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsAchievers Tech
 
Gearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleGearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleMike Willbanks
 
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer RoadmapEpisode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer RoadmapAnant Corporation
 
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...VMware Tanzu
 
How to code in the XXI century without losing your head
How to code in the XXI century without losing your headHow to code in the XXI century without losing your head
How to code in the XXI century without losing your headRené Olivo
 
Untangling - fall2017 - week 7
Untangling - fall2017 - week 7Untangling - fall2017 - week 7
Untangling - fall2017 - week 7Derek Jacoby
 

Similar to Railsgirls (20)

Computer programming
Computer programmingComputer programming
Computer programming
 
APU RoR Workshop Series #1 - Introduction to Programming
APU RoR Workshop Series #1 - Introduction to ProgrammingAPU RoR Workshop Series #1 - Introduction to Programming
APU RoR Workshop Series #1 - Introduction to Programming
 
Introduction to Programming.pptx
Introduction to Programming.pptxIntroduction to Programming.pptx
Introduction to Programming.pptx
 
Introduction to Programming.pptx
Introduction to Programming.pptxIntroduction to Programming.pptx
Introduction to Programming.pptx
 
Julia Computing - an alternative to Hadoop
Julia Computing - an alternative to HadoopJulia Computing - an alternative to Hadoop
Julia Computing - an alternative to Hadoop
 
CPP01 - Introduction to C++
CPP01 - Introduction to C++CPP01 - Introduction to C++
CPP01 - Introduction to C++
 
Go fundamentals
Go fundamentalsGo fundamentals
Go fundamentals
 
Computer Programming
Computer ProgrammingComputer Programming
Computer Programming
 
ACM Init() lesson 1
ACM Init() lesson 1ACM Init() lesson 1
ACM Init() lesson 1
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP
 
Scaling High Traffic Web Applications
Scaling High Traffic Web ApplicationsScaling High Traffic Web Applications
Scaling High Traffic Web Applications
 
Gearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleGearman: A Job Server made for Scale
Gearman: A Job Server made for Scale
 
It's XP, Stupid
It's XP, StupidIt's XP, Stupid
It's XP, Stupid
 
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer RoadmapEpisode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
 
Learning to code in 2020
Learning to code in 2020Learning to code in 2020
Learning to code in 2020
 
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
 
How to code in the XXI century without losing your head
How to code in the XXI century without losing your headHow to code in the XXI century without losing your head
How to code in the XXI century without losing your head
 
Untangling - fall2017 - week 7
Untangling - fall2017 - week 7Untangling - fall2017 - week 7
Untangling - fall2017 - week 7
 

Recently uploaded

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Railsgirls

  • 1. Programming, Ruby, Rails and more Callum Jones
  • 2. Programming The ability to instruct the computer what to do Instruct the computer how to behave when certain events arise
  • 3. Why program? • Solve a problem • Solve other people’s problems • Get a computer slave away on a laborious task, while you focus on the more important things • Historically machines have replaced labour intensive jobs • Perth’s next economy
  • 4.
  • 5.
  • 6.
  • 7. A programmer • Isn’t just focused on one skill. • Employers want to hire programmers, not Rails programmers • Should understand the depth of the tools they are working with • Can extend and grow the tools they are working with
  • 8. A programmer • Works with logic/decisions • • Works with repetition/iteration • • IF is_night_time? DO lights_on ELSE lights_off WHILE is_really_dark? DO lights_on ELSE lights_off Can talk to other computers and services • IF bom_per th_sunset? DO lights_on ELSE lights_off
  • 9. Tools • Develop code in an editor • • • Lightweight: Sublime Text, Notepad++ Heavy/extensive: RubyMine, Aptana RadRails A computer. Any will do • Cloud9 allows for programming in a browser
  • 10.
  • 11.
  • 12. Ruby • Ruby is the language powering Rails, we need appreciate what’s happening underneath and go beyond Rails. • Developed in the mid 90s by Yukihiro Matsumoto (Matz) • Built for productivity and for fun • • Reads as it is written (story like) Tryruby!
  • 14. Rails • Rails bring Ruby to the web. • Developed by David Heinemeier Hansson (DHH) for 37signals. Now 13 core team members. • We write programs that output stuff that is sent to a web browser • • Our browsers can send stuff back to Rails and we can react Rails marries Ruby as a language with good web principles
  • 15. Websites Static Dynamic • • • Always changing Computer programs can react to events and update the website. Can’t react to change without a human rewriting it • • • • Human input Time of day Simple A restaurant site with with no booking, just a fixed menu. • The website can be personalised for each user • facebook.com, News sites, Blogs

Editor's Notes

  1. The computer is a pretty dumb machine, it needs to be told what to do to perform any useful tasks. We build rich and powerful instructions for the computer so we can get it to perform a variety of tasks. A computer is very fast, so we can have it react pretty quickly to events arising internally or externally.
  2. You may want to program, just to solve your own problem. For example I have a listing of shares locked in some crummy website, with some programming I can sync it with Google Docs and build some nice graphs. You may want to work on solving other people’s problems, maybe a product in the consumer or enterprise space? You may have some intensive tasks that you would usually repeat manually on a computer, we can program a computer to repeat those tasks. Machines have historically replaced labour intensive tasks, machines need programming to perform their robotic tasks. Do you want to be the human that’s next in line to be replaced, or be the human in charge of the machines? You can build a business out of programming, whether you are consulting or building your own product solutions. Where will be Perth be at the end of the mining boom?
  3. The best kind of programmers are those that can move between skills, Mercedes mechanics know how to service Mercedes-Benz vehicles but also know how to basically service any modern car. Employers are looking for people who can grow, what happens if Rails isn’t meeting your demands but you don’t know how to push Rails further?
  4. A programmer can task the computer to evaluate a situation and make a decision, these flows can help your program react to certain events and make the best decision. We also might want to keep the computer constantly checking our inputs and react to change in the event. So a while loop will help us continually check if it is dark and react accordingly. Computers have been networked for a number of years, we can take advantage of that and have programs that talk to other computers. I could have a program that asks BoM for the sunset time and reacts accordingly.
  5. Much like a word document or a image project we need to write our programs somewhere. We call this an editor. Editors range from the level of interference you want. If you want minimal interference only when you truly need it you can opt for a editor like Sublime, but if you want something that is able to help you out further you may want an Integrated Development Environment (IDE). IDEs allow you to write your code and also understand how it's running, working through any issues with you. You will want a computer to run your code, but we have services like Cloud9 that allow you to write code in a browser and have a remote computer run your program.
  6. Rails runs on Ruby, so we write Ruby to interact with Rails. Rails was developed by Matz in the mid 90s, influenced by some important languages Ruby brings a more human aspect to programming. It has been described as fun to write allowing for a programs to be written that read back very well. Ruby has a thriving community, with a large number of people working on helpful additions to Ruby.
  7. Rails is known as a framework, comprising of a number of pieces to help write Ruby programs that talk to web browsers. It was developed by David Heinemeier Hansson (DHH) while working at 37signals as a way to develop powerful web applications for the company. Rails was used as a key part of developing Basecamp, a project management tool for the web. In Rails we write Ruby programs that can send stuff to the browser, we can also receive information back from the user’s browser and react to this. This is the powerful of “dynamic” websites, they can constantly change and evolve depending on the context and events around the current user. Rails is a combination on small programs running on Ruby and good web principles for how we should build powerful and maintainable web applications.
  8. We can classify websites into two areas. Static websites and Dynamic websites. Static websites are fixed in time, they can’t react to events without a human going in a rewriting the website. They are simple, much like a billboard they are fixed and involve some work to change if needed. If you’ve visited a basic restaurant site that usually just lists a menu without any booking facilities it is usually a static website. Dynamic websites are interactive, they are always changing. Reacting to events they will change their appearance and information displayed, they can receive human interaction and handle these changes. Or they can react to changes in environment, time of day etc. Because the website is built by a computer program it can personalise itself for each user, meaning we can display different information depending on who, where and when the user is.