SlideShare una empresa de Scribd logo
1 de 65
Programming Languages
 Coder Dojo - Limerick
  Mark Cahill – MBA, BEng
Problem: I need to cross a river
Bridge
Bridge
Possible solutions?
Possible solutions

•   Rocks
•   Swim
•   Boat
•   Bridge
Rocks
Rocks
• The River is too deep
Bridge
Swim
• There are Piranhas in the river
• The current is too strong
Bridge
Bridge
Bridge
Bridge
Boat
• I don’t know how to build a boat
• I need to get a car across
• The current is too strong & there is a
  dangerous waterfall.
Bridge
Helicopter
•   I don’t know how to build a helicopter
•   Where do I get the materials?
•   How long will it take to build?
•   How much will it cost?
Bridge
Bridge
Bridge
What kind of Bridge do I need?
•   What material?
•   How big?
•   How strong?
•   How wide?
•   How many times will be used?
•   How much will it cost to build?
•   Will I toll the bridge?
What kind of Bridge do I need?
•   How long will it take to build?
•   Does it need to be lift to let boats by?
•   What happens is the water rises?
•   Does it need maintenance?
•   Has someone built one that fits my needs?
•   What volume of traffic will pass over it?
•   How many people will be using it?
Q: Where is software used?
Q: Where is software used?
     A: Everywhere
Where I started
• Commodore 64 at the age of 9
Language was called BASIC
NEW
1 REM NUMBER GUESSING GAME
2 PRINT "(CLR/HOME)"
5 INPUT "ENTER UPPER LIMIT FOR GUESS "; LI
10 NM = INT(LIRND(1))+1
15 CN = 0
20 PRINT "I'VE GOT THE NUMBER.": PRINT
30 INPUT "WHAT'S YOUR GUESS "; GU
35 CN = CN + 1
40 IF GU > NM THEN PRINT "MY NUMBER IS LOWER." : PRINT : GOTO 30
50 IF GU < NM THEN PRINT "MY NUMBER IS HIGHER.": PRINT : GOTO 30
60 IF GU = NM THEN PRINT "GREAT! YOU GOT MY NUMBER"
65 PRINT "IN ONLY"; CN ;"GUESSES." : PRINT
70 PRINT "DO YOU WANT TO TRY ANOTHER (Y/N)?"
80 GET AN$ : IF AN$ = "" THEN 80
90 IF AN$ = "Y" THEN 2
100 IF AN$ <> "N" THEN 70
110 END
• Why do we need programming languages?
Think like a computer
Think like a computer
• Computers are from Venus, Humans are from
  Mars
• Computers “think” in a very different way to
  Humans.
• Computers are stupid, Humans are intelligent.
Think like a computer
• Computers will do exactly as you tell them to
  do.
• Computers are very good at executing
  instructions over and over again, and will not
  get bored.
Think like a computer
• Computers think in Binary.
• People think about ‘things’ and how they
  relate to each other
Think like a computer
• Computers view of Website address
  – 173.194.37.104



• Human view of Website address
  – Google.ie
Computer view of a photo
Human view of a photo
Think like a computer
• Computers view of Location




• Human view of Location
  – Next door to Starbucks, by the Luas, you can’t
    miss it.
High and Low Level Languages
• High Level languages – easy for a human to
  read. Examples are C++, Python, Java.
• Low level Languages – are designed to be easy
  for a computer to execute; also called
  machine language or assembly language
High Level Languages
Low Level Languages
Hello World – C++
Hello World – C#
Hello World – 8051 assembler
Hello World - Java
Hello World -JavaScript
Hello World - PHP
Hello World – POV-Ray
Hello World -Python
Web
•   PHP
•   Python
•   Java
•   Perl
•   HTML
•   Ruby on Rails
•   Javascript
•   Flash
Desktop
•   C
•   C++
•   Python
•   Perl
•   Java
Games
•   C
•   C++
•   Python
•   Perl
•   Java
Artificial intelligence
• Lisp
• Prolog
Smart Phones
•   iPhone, iPad, iPod -> Objective C
•   Android -> C, C++
•   Nokia -> Java ME, C++, Ruby
•   Window 7 -> C#
Low level hardware
• C
• Assembly
Programming languages

Different languages solve
    different problems
     in different ways
List of programming languages
• http://en.wikipedia.org/wiki/List_of_program
  ming_languages
What kind of Software Solution do I
                  need?
•   What material?
•   How big?
•   How strong?
•   How wide?
•   How many times will be used?
•   How much will it cost to build?
•   Will I toll the bridge?
What kind of Software solution do I
                  need?
•   How long will it take to build?
•   Does it need to be lift to let boats by?
•   What happens is the water rises?
•   Does it need maintenance?
•   Has someone built one that fits my needs?
•   What volume of traffic will pass over it?
•   How many people will be using it?
How do I cross a river?
•   There are many ways to solve a problem.
•   Every problem is different.
•   Ask the right questions.
•   Break the problem into smaller pieces
•   You choose the best Tool for the Job !

Más contenido relacionado

Similar a Coder dojo Limerick - introduction to programming languages

Watch Your Language! - What my Mother Taught Me about Being an Engineer.
Watch Your Language! - What my Mother Taught Me about Being an Engineer.Watch Your Language! - What my Mother Taught Me about Being an Engineer.
Watch Your Language! - What my Mother Taught Me about Being an Engineer.
Neal Richardson Sr
 
Search-Driven Programming
Search-Driven ProgrammingSearch-Driven Programming
Search-Driven Programming
Ethan Herdrick
 
Emperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakkEmperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakk
kevinjohngallagher
 
Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012
kevinjohngallagher
 
technology3-javascript-basics
technology3-javascript-basicstechnology3-javascript-basics
technology3-javascript-basics
Darren Woodiwiss
 
David Leininger - Capturing Your Audience with Mobility
David Leininger - Capturing Your Audience with MobilityDavid Leininger - Capturing Your Audience with Mobility
David Leininger - Capturing Your Audience with Mobility
SocialCrush
 

Similar a Coder dojo Limerick - introduction to programming languages (20)

Coding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsCoding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applications
 
Domain-Driven Design: The "What" and the "Why"
Domain-Driven Design: The "What" and the "Why"Domain-Driven Design: The "What" and the "Why"
Domain-Driven Design: The "What" and the "Why"
 
Watch Your Language! - What my Mother Taught Me about Being an Engineer.
Watch Your Language! - What my Mother Taught Me about Being an Engineer.Watch Your Language! - What my Mother Taught Me about Being an Engineer.
Watch Your Language! - What my Mother Taught Me about Being an Engineer.
 
Why Computer Science is a Great Choice
Why Computer Science is a Great ChoiceWhy Computer Science is a Great Choice
Why Computer Science is a Great Choice
 
UI Beyond the Browser - Software for Hardware Projects
UI Beyond the Browser - Software for Hardware ProjectsUI Beyond the Browser - Software for Hardware Projects
UI Beyond the Browser - Software for Hardware Projects
 
Web APIs: The future of software
Web APIs: The future of softwareWeb APIs: The future of software
Web APIs: The future of software
 
Search-Driven Programming
Search-Driven ProgrammingSearch-Driven Programming
Search-Driven Programming
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...
Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...
Load testing, Lessons learnt and Loadzen - Martin Buhr at DevTank - 31st Janu...
 
eMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the Enterprise
 
Introduction to Coding
Introduction to CodingIntroduction to Coding
Introduction to Coding
 
01Introsystem programming to study computer .pdf
01Introsystem programming to study computer .pdf01Introsystem programming to study computer .pdf
01Introsystem programming to study computer .pdf
 
Things You Need to Know Before Starting An App-Openair2015 keynote
Things You Need to Know Before Starting An App-Openair2015 keynoteThings You Need to Know Before Starting An App-Openair2015 keynote
Things You Need to Know Before Starting An App-Openair2015 keynote
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobile
 
Emperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakkEmperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakk
 
Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
The Transparent Web: Bridging the Chasm in Web Development
The Transparent Web: Bridging the Chasm in Web DevelopmentThe Transparent Web: Bridging the Chasm in Web Development
The Transparent Web: Bridging the Chasm in Web Development
 
technology3-javascript-basics
technology3-javascript-basicstechnology3-javascript-basics
technology3-javascript-basics
 
David Leininger - Capturing Your Audience with Mobility
David Leininger - Capturing Your Audience with MobilityDavid Leininger - Capturing Your Audience with Mobility
David Leininger - Capturing Your Audience with Mobility
 

Más de Bank of Ireland (7)

SXSW - Limerick open coffee #LOCC
SXSW  - Limerick open coffee #LOCC SXSW  - Limerick open coffee #LOCC
SXSW - Limerick open coffee #LOCC
 
Mark Cahill MBA thesis - To what extent have Online Social Networks Changed B...
Mark Cahill MBA thesis - To what extent have Online Social Networks Changed B...Mark Cahill MBA thesis - To what extent have Online Social Networks Changed B...
Mark Cahill MBA thesis - To what extent have Online Social Networks Changed B...
 
Greening your business and social media
Greening your business and social mediaGreening your business and social media
Greening your business and social media
 
Mark Cahill Mba Entrepreneurs Born Or Made
Mark Cahill Mba Entrepreneurs Born Or MadeMark Cahill Mba Entrepreneurs Born Or Made
Mark Cahill Mba Entrepreneurs Born Or Made
 
Eac Social Networks For Business
Eac Social Networks For BusinessEac Social Networks For Business
Eac Social Networks For Business
 
Open Coffee Birr 27 Jan 2010
Open Coffee Birr 27 Jan 2010Open Coffee Birr 27 Jan 2010
Open Coffee Birr 27 Jan 2010
 
Life After Dell
Life After DellLife After Dell
Life After Dell
 

Último

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Último (20)

Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 

Coder dojo Limerick - introduction to programming languages

  • 1. Programming Languages Coder Dojo - Limerick Mark Cahill – MBA, BEng
  • 2. Problem: I need to cross a river
  • 6. Possible solutions • Rocks • Swim • Boat • Bridge
  • 8. Rocks • The River is too deep
  • 10. Swim • There are Piranhas in the river • The current is too strong
  • 15. Boat • I don’t know how to build a boat • I need to get a car across • The current is too strong & there is a dangerous waterfall.
  • 17. Helicopter • I don’t know how to build a helicopter • Where do I get the materials? • How long will it take to build? • How much will it cost?
  • 21. What kind of Bridge do I need? • What material? • How big? • How strong? • How wide? • How many times will be used? • How much will it cost to build? • Will I toll the bridge?
  • 22. What kind of Bridge do I need? • How long will it take to build? • Does it need to be lift to let boats by? • What happens is the water rises? • Does it need maintenance? • Has someone built one that fits my needs? • What volume of traffic will pass over it? • How many people will be using it?
  • 23. Q: Where is software used?
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Q: Where is software used? A: Everywhere
  • 33. Where I started • Commodore 64 at the age of 9
  • 34. Language was called BASIC NEW 1 REM NUMBER GUESSING GAME 2 PRINT "(CLR/HOME)" 5 INPUT "ENTER UPPER LIMIT FOR GUESS "; LI 10 NM = INT(LIRND(1))+1 15 CN = 0 20 PRINT "I'VE GOT THE NUMBER.": PRINT 30 INPUT "WHAT'S YOUR GUESS "; GU 35 CN = CN + 1 40 IF GU > NM THEN PRINT "MY NUMBER IS LOWER." : PRINT : GOTO 30 50 IF GU < NM THEN PRINT "MY NUMBER IS HIGHER.": PRINT : GOTO 30 60 IF GU = NM THEN PRINT "GREAT! YOU GOT MY NUMBER" 65 PRINT "IN ONLY"; CN ;"GUESSES." : PRINT 70 PRINT "DO YOU WANT TO TRY ANOTHER (Y/N)?" 80 GET AN$ : IF AN$ = "" THEN 80 90 IF AN$ = "Y" THEN 2 100 IF AN$ <> "N" THEN 70 110 END
  • 35. • Why do we need programming languages?
  • 36. Think like a computer
  • 37. Think like a computer • Computers are from Venus, Humans are from Mars • Computers “think” in a very different way to Humans. • Computers are stupid, Humans are intelligent.
  • 38. Think like a computer • Computers will do exactly as you tell them to do. • Computers are very good at executing instructions over and over again, and will not get bored.
  • 39. Think like a computer • Computers think in Binary. • People think about ‘things’ and how they relate to each other
  • 40. Think like a computer • Computers view of Website address – 173.194.37.104 • Human view of Website address – Google.ie
  • 41. Computer view of a photo
  • 42. Human view of a photo
  • 43. Think like a computer • Computers view of Location • Human view of Location – Next door to Starbucks, by the Luas, you can’t miss it.
  • 44. High and Low Level Languages • High Level languages – easy for a human to read. Examples are C++, Python, Java. • Low level Languages – are designed to be easy for a computer to execute; also called machine language or assembly language
  • 49. Hello World – 8051 assembler
  • 53. Hello World – POV-Ray
  • 55. Web • PHP • Python • Java • Perl • HTML • Ruby on Rails • Javascript • Flash
  • 56. Desktop • C • C++ • Python • Perl • Java
  • 57. Games • C • C++ • Python • Perl • Java
  • 59. Smart Phones • iPhone, iPad, iPod -> Objective C • Android -> C, C++ • Nokia -> Java ME, C++, Ruby • Window 7 -> C#
  • 60. Low level hardware • C • Assembly
  • 61. Programming languages Different languages solve different problems in different ways
  • 62. List of programming languages • http://en.wikipedia.org/wiki/List_of_program ming_languages
  • 63. What kind of Software Solution do I need? • What material? • How big? • How strong? • How wide? • How many times will be used? • How much will it cost to build? • Will I toll the bridge?
  • 64. What kind of Software solution do I need? • How long will it take to build? • Does it need to be lift to let boats by? • What happens is the water rises? • Does it need maintenance? • Has someone built one that fits my needs? • What volume of traffic will pass over it? • How many people will be using it?
  • 65. How do I cross a river? • There are many ways to solve a problem. • Every problem is different. • Ask the right questions. • Break the problem into smaller pieces • You choose the best Tool for the Job !

Notas del editor

  1. Objective to : Get a level for the class and to start interaction
  2. You can start at any age.I started by typing in code, then changing it to see what happened.
  3. BASIC was anything but basic