SlideShare ist ein Scribd-Unternehmen logo
1 von 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 !

Weitere ähnliche Inhalte

Ähnlich wie Coder dojo Limerick - introduction to programming languages

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 applicationsWekoslav Stefanovski
 
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"bincangteknologi
 
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
 
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 Choiceturingfan
 
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 Projectspchristensen
 
Web APIs: The future of software
Web APIs: The future of softwareWeb APIs: The future of software
Web APIs: The future of softwareReuven Lerner
 
Search-Driven Programming
Search-Driven ProgrammingSearch-Driven Programming
Search-Driven ProgrammingEthan Herdrick
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
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...Loadzen
 
eMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseeMusic: WordPress in the Enterprise
eMusic: WordPress in the EnterpriseScott Taylor
 
01Introsystem programming to study computer .pdf
01Introsystem programming to study computer .pdf01Introsystem programming to study computer .pdf
01Introsystem programming to study computer .pdfmojbar
 
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 keynoteSana Nasar
 
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 mobilePhilip Brechler
 
Emperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakkEmperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakkkevinjohngallagher
 
Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012kevinjohngallagher
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Gozhubert
 
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 Developmenttwopoint718
 
technology3-javascript-basics
technology3-javascript-basicstechnology3-javascript-basics
technology3-javascript-basicsDarren 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 MobilitySocialCrush
 

Ähnlich wie 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
 

Mehr von Bank of Ireland

SXSW - Limerick open coffee #LOCC
SXSW  - Limerick open coffee #LOCC SXSW  - Limerick open coffee #LOCC
SXSW - Limerick open coffee #LOCC Bank of Ireland
 
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...Bank of Ireland
 
Greening your business and social media
Greening your business and social mediaGreening your business and social media
Greening your business and social mediaBank of Ireland
 
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 MadeBank of Ireland
 
Eac Social Networks For Business
Eac Social Networks For BusinessEac Social Networks For Business
Eac Social Networks For BusinessBank of Ireland
 
Open Coffee Birr 27 Jan 2010
Open Coffee Birr 27 Jan 2010Open Coffee Birr 27 Jan 2010
Open Coffee Birr 27 Jan 2010Bank of Ireland
 

Mehr von 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
 

Kürzlich hochgeladen

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

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 !

Hinweis der Redaktion

  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