SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
A presentation of programming languages
CODAPPS – last IBM Hall session
for beginners.
Clément Levallois. 17 November 2016
CAVEAT
â–Ș The following slides contain many simplifications, for the
sake of brevity.
em lyon business school course offering (2016)
â–Ș C# and C++ classes in finance
â–Ș VBA classes (programming in Excel)
â–Ș Java (CODAPPS: coding mobile apps)
â–Ș Python (1 open course and multiple courses in data science)
â–Ș Javascript (creating web apps from scratch)
CĂ©cile Abbadie, em lyon business school student, promo 2016:
https://play.google.com/store/apps/details?id=io.codapps.cecile&hl=en
Hamilton standing next to the navigation software that she and her MIT team
produced for the Apollo project.
https://en.wikipedia.org/wiki/Margaret_Hamilton_(scientist)
Desktops vs servers
Programming on desktops or servers: same methods
‱ Variables
‱ Functions (methods
)
‱ If then else

‱ Loops

C (1972!): mother of many languages.
The fastest. The hardest to code. Can run everywhere in
principle.
C++ (1980)
As fast as C but easier to code.
-> C and C++ have been used to create the fundamental
software which run the computers you use: Mac OS,
Windows, Linux.
Course by em lyon business school
“C++ programming”
Microsoft: the “.NET” framework: encompassing languages
such as VBA (1991) and C# (2001).
To create software running on Windows.
Apple: the “Objective C” programming language (1986)
To create software running on Mac OS.
Only for Apple computers, not servers
Objective C evolved to Swift in 2015
Course by em lyon business school
“C# programming”
The case of Java (1995)
“Write once, run everywhere”
-> a programming language to create software running on Mac,
Linux, and Windows, both on desktops and servers.
The most popular language to build professional applications
running on servers (banks, airlines, any big org).
Owned by Oracle.
So far

Use Swift for Apple desktop software. Does not run on servers.
Use C# or VBA or VB.net or ASP.net to build Windows desktop software or programs
running on Microsoft servers
Use Java to build software that works cross-platform (Mac, Windows, Linux), on
desktops and servers
Use C or C++ if you need ultra efficient software (games, video treatment, or things
that need the least memory possible
)
BUT
 INTERNET ?????
HTML: used to create and organize a web page (text, line breaks, tables
)
Not really a programming language, more like the way to write a web page.
CSS: used to add some design the web page (color, margins, font size
)
Not really a programming language, more like the way to design a web page.
Javascript: used to add functions to a web pages (graphics, movement,
buttons, 
)
So, javascript is a programming language which works in a web browser, to
control what happens on web pages!
PHP: used to manage the server side of web pages (so, PHP runs on the
server).
To connect the web page to a database on a server, to do calculations on the server, to
manage security, etc.
php: most
popular in its
category!
A web page is
always an HTML
document!
BUT
 MOBILE PHONES AND MOBILE APPS?????
Apple: uses Objective C or SWIFT to create apps for iPhones
Google: uses a version of Java to create apps for Android phones
Microsoft: uses C# to create mobile apps for Windows Phones
So far

FRAGMENTATION
We need to know many programming
languages!
A solution: translations!
Code in one language, then “translate” in the languages you
need
This is what we do in CODAPPS:
1. Create the project of an app in JAVA. Can’t run on mobile phones yet!
2. Send this JAVA project to Codename One.
3. On their servers, the developers at Codename One have created a software which
automatically translates our JAVA project into Android (for Android phones), Swift
(for iOS phones) and C# (for Windows phones). Done!
This solution saves time, and money, and complexity.
But the “translation” process raises two issues. 1) is the translation perfect? 2) with programming
languages evolving so fast, can the translating mechanism be maintained at a reasonable cost?
Course by em lyon business school
CODAPPS
Javascript:
eating the world!
A second solution: use one language across all
devices!
In 1995: Javascript is just a small programming language for web browsers to create
simple things like alerts on web pages

 since 2009: Javascript can be used on the server! It is called Nodejs.
in replacement of the PHP programming language for example

 since ~ 2013: Javascript can be used to create mobile apps!
check this name: “IONIC”
(so, why don’t we use IONIC to build apps in CODAPPS? Because the tools to use IONIC are very hard
to install, we would spend the semester on it. Want to try? http://ionicframework.com/getting-
started/)
Javascript in 1995!
Course by em lyon business school
on nodejs:
“Web Startup Toolkit”
I also heard about Python, Ruby and R
 ?
Ruby / Ruby on Rails: a
server side language to
build web apps, like PHP.
Less popular since nodejs
appeared.
ruby
nodejs
Python and R:
2 programming languages popular to do “data science” (statistics, machine learning,
text mining, network analysis, etc.)
R is really specialized in data science / statistics, can’t do much else.
Python is more versatile. It is becoming very widely used, by academic researchers
and businesses. We teach it at em lyon because we think it is a useful skill for future
managers.
Source: Google Trends
Course by em lyon business school
“Python bootcamp”
+ 5 courses in data science for business using
python
And many more!
Many languages have variants (“the simplified version of
”, “the better version of
”)
Many languages are popular in small communities, or are still very young!
Many languages have almost died but are still practiced by some enthusiasts
To continue the conversion or ask for advice, don’t hesitate to stay in touch
ClĂ©ment Levallois – levallois@em-lyon.com
(or preferably on Twitter: @seinecle)
Programming Languages for Beginners Presentation

Weitere Àhnliche Inhalte

Was ist angesagt?

Language Translator ( Compiler)
Language Translator ( Compiler)Language Translator ( Compiler)
Language Translator ( Compiler)Nazmul Hyder
 
Language translator
Language translatorLanguage translator
Language translatorasmakh89
 
Computer Language
Computer LanguageComputer Language
Computer LanguageDeepak Yadav
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programmingNeeru Mittal
 
Von Neumann Architecture
Von Neumann ArchitectureVon Neumann Architecture
Von Neumann ArchitectureJawad Farooqi
 
Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming LanguagesJuhi Bhoyar
 
History of Programming Language
History of Programming LanguageHistory of Programming Language
History of Programming Languagetahria123
 
Linux operating system ppt
Linux operating system pptLinux operating system ppt
Linux operating system pptAchyut Sinha
 
Windows V/S Linux OS - Comparison
Windows V/S Linux OS - ComparisonWindows V/S Linux OS - Comparison
Windows V/S Linux OS - ComparisonHariharan Ganesan
 
Types of computer
Types of computerTypes of computer
Types of computerFrya Lora
 
Operating system
Operating system Operating system
Operating system Talha Mahmood
 
Computer Languages.
Computer Languages.Computer Languages.
Computer Languages.Aditya Sheoran
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming conceptssalmankhan570
 
Presentation on computer language
Presentation on computer languagePresentation on computer language
Presentation on computer languageSwarnima Tiwari
 

Was ist angesagt? (20)

Types Of Operating Systems
Types Of Operating SystemsTypes Of Operating Systems
Types Of Operating Systems
 
Language Translator ( Compiler)
Language Translator ( Compiler)Language Translator ( Compiler)
Language Translator ( Compiler)
 
Language translator
Language translatorLanguage translator
Language translator
 
Programming
ProgrammingProgramming
Programming
 
Computer Language
Computer LanguageComputer Language
Computer Language
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
Von Neumann Architecture
Von Neumann ArchitectureVon Neumann Architecture
Von Neumann Architecture
 
Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming Languages
 
History of Programming Language
History of Programming LanguageHistory of Programming Language
History of Programming Language
 
Presentation on computer software
Presentation on computer softwarePresentation on computer software
Presentation on computer software
 
Single Pass Assembler
Single Pass AssemblerSingle Pass Assembler
Single Pass Assembler
 
Linux operating system ppt
Linux operating system pptLinux operating system ppt
Linux operating system ppt
 
Windows V/S Linux OS - Comparison
Windows V/S Linux OS - ComparisonWindows V/S Linux OS - Comparison
Windows V/S Linux OS - Comparison
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Types of computer
Types of computerTypes of computer
Types of computer
 
Operating system
Operating system Operating system
Operating system
 
Computer Languages.
Computer Languages.Computer Languages.
Computer Languages.
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
 
Computer programming
Computer programmingComputer programming
Computer programming
 
Presentation on computer language
Presentation on computer languagePresentation on computer language
Presentation on computer language
 

Ähnlich wie Programming Languages for Beginners Presentation

Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platformi4consulting.org
 
What is Codename One - Transcript.pdf
What is Codename One - Transcript.pdfWhat is Codename One - Transcript.pdf
What is Codename One - Transcript.pdfShaiAlmog1
 
The Javascript Ecosystem
The Javascript EcosystemThe Javascript Ecosystem
The Javascript EcosystemEmmanuel Akinde
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Dot net universal apps
Dot net universal appsDot net universal apps
Dot net universal appssonia merchant
 
Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Carmen Sanborn
 
LAP II - Lezione 01 Introduzione al corso
LAP II - Lezione 01   Introduzione al corsoLAP II - Lezione 01   Introduzione al corso
LAP II - Lezione 01 Introduzione al corsoUniversity of Catania
 
Ten compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkTen compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkJanBask Training
 
Write cross platform native apps in Ruby
Write cross platform native apps in RubyWrite cross platform native apps in Ruby
Write cross platform native apps in RubyGiedrius Rimkus
 
Intro1
Intro1Intro1
Intro1phanleson
 
Presentazione Corso LAP 2 A.A. 2016/2017
Presentazione Corso LAP 2 A.A. 2016/2017Presentazione Corso LAP 2 A.A. 2016/2017
Presentazione Corso LAP 2 A.A. 2016/2017University of Catania
 
Android | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentAndroid | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentKrishnaMildain
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPTDhivya T
 
Hybrid Application Development documentation report (MCA Project)
Hybrid Application Development documentation report (MCA Project)Hybrid Application Development documentation report (MCA Project)
Hybrid Application Development documentation report (MCA Project)vetri pandi
 
Java report by ravi raja
Java report by ravi rajaJava report by ravi raja
Java report by ravi rajaRaviRaja55
 
Comparison of Programming Platforms
Comparison of Programming PlatformsComparison of Programming Platforms
Comparison of Programming PlatformsAnup Hariharan Nair
 
Which programming language should you learn next?
Which programming language should you learn next? Which programming language should you learn next?
Which programming language should you learn next? Ganesh Samarthyam
 

Ähnlich wie Programming Languages for Beginners Presentation (20)

Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
What is Codename One - Transcript.pdf
What is Codename One - Transcript.pdfWhat is Codename One - Transcript.pdf
What is Codename One - Transcript.pdf
 
The Javascript Ecosystem
The Javascript EcosystemThe Javascript Ecosystem
The Javascript Ecosystem
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Dot net universal apps
Dot net universal appsDot net universal apps
Dot net universal apps
 
Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...Unit 4 Assignment 1 Comparative Study Of Programming...
Unit 4 Assignment 1 Comparative Study Of Programming...
 
LAP II - Lezione 01 Introduzione al corso
LAP II - Lezione 01   Introduzione al corsoLAP II - Lezione 01   Introduzione al corso
LAP II - Lezione 01 Introduzione al corso
 
Java
JavaJava
Java
 
Ten compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkTen compelling reasons to learn .net framework
Ten compelling reasons to learn .net framework
 
Write cross platform native apps in Ruby
Write cross platform native apps in RubyWrite cross platform native apps in Ruby
Write cross platform native apps in Ruby
 
Intro1
Intro1Intro1
Intro1
 
Presentazione Corso LAP 2 A.A. 2016/2017
Presentazione Corso LAP 2 A.A. 2016/2017Presentazione Corso LAP 2 A.A. 2016/2017
Presentazione Corso LAP 2 A.A. 2016/2017
 
Android | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentAndroid | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application development
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
 
Hybrid Application Development documentation report (MCA Project)
Hybrid Application Development documentation report (MCA Project)Hybrid Application Development documentation report (MCA Project)
Hybrid Application Development documentation report (MCA Project)
 
Expo - Zero to App.pptx
Expo - Zero to App.pptxExpo - Zero to App.pptx
Expo - Zero to App.pptx
 
Java report by ravi raja
Java report by ravi rajaJava report by ravi raja
Java report by ravi raja
 
Comparison of Programming Platforms
Comparison of Programming PlatformsComparison of Programming Platforms
Comparison of Programming Platforms
 
Which programming language should you learn next?
Which programming language should you learn next? Which programming language should you learn next?
Which programming language should you learn next?
 
Progamming Path.pptx
Progamming Path.pptxProgamming Path.pptx
Progamming Path.pptx
 

Mehr von Clement Levallois

Part 2: covid-19 on Twitter, with a focus on 3 new seed accounts
Part 2: covid-19 on Twitter, with a focus on 3 new seed accountsPart 2: covid-19 on Twitter, with a focus on 3 new seed accounts
Part 2: covid-19 on Twitter, with a focus on 3 new seed accountsClement Levallois
 
Education et intelligence artificielle
Education et intelligence artificielleEducation et intelligence artificielle
Education et intelligence artificielleClement Levallois
 
3 familles d'intelligence artificielle et leurs applications business
3 familles d'intelligence artificielle et leurs applications business3 familles d'intelligence artificielle et leurs applications business
3 familles d'intelligence artificielle et leurs applications businessClement Levallois
 
Présentation FrenchWeb: Qu'est-ce que la visualisation des données?
Présentation FrenchWeb: Qu'est-ce que la visualisation des données?Présentation FrenchWeb: Qu'est-ce que la visualisation des données?
Présentation FrenchWeb: Qu'est-ce que la visualisation des données?Clement Levallois
 
Umigon: crowdsourcing in the classroom
Umigon: crowdsourcing in the classroomUmigon: crowdsourcing in the classroom
Umigon: crowdsourcing in the classroomClement Levallois
 
Data visualization: enjeux pour le business
Data visualization: enjeux pour le businessData visualization: enjeux pour le business
Data visualization: enjeux pour le businessClement Levallois
 
An explanation of machine learning for business
An explanation of machine learning for businessAn explanation of machine learning for business
An explanation of machine learning for businessClement Levallois
 
Data and personalization
Data and personalizationData and personalization
Data and personalizationClement Levallois
 
A Primer on Text Mining for Business
A Primer on Text Mining for BusinessA Primer on Text Mining for Business
A Primer on Text Mining for BusinessClement Levallois
 
The business stakes of data integration
The business stakes of data integrationThe business stakes of data integration
The business stakes of data integrationClement Levallois
 

Mehr von Clement Levallois (13)

Part 2: covid-19 on Twitter, with a focus on 3 new seed accounts
Part 2: covid-19 on Twitter, with a focus on 3 new seed accountsPart 2: covid-19 on Twitter, with a focus on 3 new seed accounts
Part 2: covid-19 on Twitter, with a focus on 3 new seed accounts
 
Education et intelligence artificielle
Education et intelligence artificielleEducation et intelligence artificielle
Education et intelligence artificielle
 
3 familles d'intelligence artificielle et leurs applications business
3 familles d'intelligence artificielle et leurs applications business3 familles d'intelligence artificielle et leurs applications business
3 familles d'intelligence artificielle et leurs applications business
 
Présentation FrenchWeb: Qu'est-ce que la visualisation des données?
Présentation FrenchWeb: Qu'est-ce que la visualisation des données?Présentation FrenchWeb: Qu'est-ce que la visualisation des données?
Présentation FrenchWeb: Qu'est-ce que la visualisation des données?
 
Umigon: crowdsourcing in the classroom
Umigon: crowdsourcing in the classroomUmigon: crowdsourcing in the classroom
Umigon: crowdsourcing in the classroom
 
Data visualization: enjeux pour le business
Data visualization: enjeux pour le businessData visualization: enjeux pour le business
Data visualization: enjeux pour le business
 
Twitter for beginners
Twitter for beginnersTwitter for beginners
Twitter for beginners
 
An explanation of machine learning for business
An explanation of machine learning for businessAn explanation of machine learning for business
An explanation of machine learning for business
 
Data and personalization
Data and personalizationData and personalization
Data and personalization
 
A Primer on Text Mining for Business
A Primer on Text Mining for BusinessA Primer on Text Mining for Business
A Primer on Text Mining for Business
 
The business stakes of data integration
The business stakes of data integrationThe business stakes of data integration
The business stakes of data integration
 
What is big data?
What is big data?What is big data?
What is big data?
 
What is "data"?
What is "data"?What is "data"?
What is "data"?
 

KĂŒrzlich hochgeladen

General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 

KĂŒrzlich hochgeladen (20)

Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 

Programming Languages for Beginners Presentation

  • 1. A presentation of programming languages CODAPPS – last IBM Hall session for beginners. ClĂ©ment Levallois. 17 November 2016
  • 2. CAVEAT â–Ș The following slides contain many simplifications, for the sake of brevity.
  • 3. em lyon business school course offering (2016) â–Ș C# and C++ classes in finance â–Ș VBA classes (programming in Excel) â–Ș Java (CODAPPS: coding mobile apps) â–Ș Python (1 open course and multiple courses in data science) â–Ș Javascript (creating web apps from scratch)
  • 4. CĂ©cile Abbadie, em lyon business school student, promo 2016: https://play.google.com/store/apps/details?id=io.codapps.cecile&hl=en Hamilton standing next to the navigation software that she and her MIT team produced for the Apollo project. https://en.wikipedia.org/wiki/Margaret_Hamilton_(scientist)
  • 6. Programming on desktops or servers: same methods ‱ Variables ‱ Functions (methods
) ‱ If then else
 ‱ Loops

  • 7. C (1972!): mother of many languages. The fastest. The hardest to code. Can run everywhere in principle. C++ (1980) As fast as C but easier to code. -> C and C++ have been used to create the fundamental software which run the computers you use: Mac OS, Windows, Linux. Course by em lyon business school “C++ programming”
  • 8. Microsoft: the “.NET” framework: encompassing languages such as VBA (1991) and C# (2001). To create software running on Windows. Apple: the “Objective C” programming language (1986) To create software running on Mac OS. Only for Apple computers, not servers Objective C evolved to Swift in 2015 Course by em lyon business school “C# programming”
  • 9. The case of Java (1995) “Write once, run everywhere” -> a programming language to create software running on Mac, Linux, and Windows, both on desktops and servers. The most popular language to build professional applications running on servers (banks, airlines, any big org). Owned by Oracle.
  • 10. So far
 Use Swift for Apple desktop software. Does not run on servers. Use C# or VBA or VB.net or ASP.net to build Windows desktop software or programs running on Microsoft servers Use Java to build software that works cross-platform (Mac, Windows, Linux), on desktops and servers Use C or C++ if you need ultra efficient software (games, video treatment, or things that need the least memory possible
)
  • 11. BUT
 INTERNET ????? HTML: used to create and organize a web page (text, line breaks, tables
) Not really a programming language, more like the way to write a web page. CSS: used to add some design the web page (color, margins, font size
) Not really a programming language, more like the way to design a web page. Javascript: used to add functions to a web pages (graphics, movement, buttons, 
) So, javascript is a programming language which works in a web browser, to control what happens on web pages! PHP: used to manage the server side of web pages (so, PHP runs on the server). To connect the web page to a database on a server, to do calculations on the server, to manage security, etc. php: most popular in its category! A web page is always an HTML document!
  • 12. BUT
 MOBILE PHONES AND MOBILE APPS????? Apple: uses Objective C or SWIFT to create apps for iPhones Google: uses a version of Java to create apps for Android phones Microsoft: uses C# to create mobile apps for Windows Phones
  • 13. So far
 FRAGMENTATION We need to know many programming languages!
  • 14. A solution: translations! Code in one language, then “translate” in the languages you need This is what we do in CODAPPS: 1. Create the project of an app in JAVA. Can’t run on mobile phones yet! 2. Send this JAVA project to Codename One. 3. On their servers, the developers at Codename One have created a software which automatically translates our JAVA project into Android (for Android phones), Swift (for iOS phones) and C# (for Windows phones). Done! This solution saves time, and money, and complexity. But the “translation” process raises two issues. 1) is the translation perfect? 2) with programming languages evolving so fast, can the translating mechanism be maintained at a reasonable cost? Course by em lyon business school CODAPPS
  • 15. Javascript: eating the world! A second solution: use one language across all devices!
  • 16. In 1995: Javascript is just a small programming language for web browsers to create simple things like alerts on web pages 
 since 2009: Javascript can be used on the server! It is called Nodejs. in replacement of the PHP programming language for example 
 since ~ 2013: Javascript can be used to create mobile apps! check this name: “IONIC” (so, why don’t we use IONIC to build apps in CODAPPS? Because the tools to use IONIC are very hard to install, we would spend the semester on it. Want to try? http://ionicframework.com/getting- started/) Javascript in 1995! Course by em lyon business school on nodejs: “Web Startup Toolkit”
  • 17. I also heard about Python, Ruby and R
 ? Ruby / Ruby on Rails: a server side language to build web apps, like PHP. Less popular since nodejs appeared. ruby nodejs Python and R: 2 programming languages popular to do “data science” (statistics, machine learning, text mining, network analysis, etc.) R is really specialized in data science / statistics, can’t do much else. Python is more versatile. It is becoming very widely used, by academic researchers and businesses. We teach it at em lyon because we think it is a useful skill for future managers. Source: Google Trends Course by em lyon business school “Python bootcamp” + 5 courses in data science for business using python
  • 18. And many more! Many languages have variants (“the simplified version of
”, “the better version of
”) Many languages are popular in small communities, or are still very young! Many languages have almost died but are still practiced by some enthusiasts To continue the conversion or ask for advice, don’t hesitate to stay in touch ClĂ©ment Levallois – levallois@em-lyon.com (or preferably on Twitter: @seinecle)