SlideShare a Scribd company logo
1 of 55
Download to read offline
Evolution of
COMPUTING &
ProgramminG
languages
Dec 11, 2016
UPES, Dehradun
AGENDA
Historical Perspective
✣ Birth of computing
✣ History of languages
✣ High Level Languages
++++++++++++++++
Fun Quiz
Recent Trends in Languages
✣ TIOBE index
✣ In vogue - Go, Java, React, Python, C#
✣ Preparing for the future !!
++++++++++++++++
Demo Q&A
Slides will be uploaded at http://www.slideshare.net/dshevani
Hello everyone !
I am Deepak Shevani
Currently working at Flipkart, building next generation e-commerce
platforms. I like presenting & love to mingle with technology enthusiasts.
Contact me : aum2deepak@gmail.com
@deepak_shevani
1.
HISTORICAL PERSPECTIVE
Understand roots of computing &
birth of programming languages
this
CHAP ?
he started it all in 60 AD ...
Hero of Alexandria
✣ c. 10 AD – c. 70 AD
✣ greek mathematician & engineer
✣ Thomas Edison of the ancient world
✣ active in Alexandria, Roman Egypt (60-70 AD)
✣ prolific writer as well as inventor
✣ first vending machine
✣ first steam engine - Aeolipile
✣ mechanical puppet theater
could be rewired
first recorded programmable thing !!
Hero of Alexandria
Invented first “programmable puppet theater"
.... An upper bin is filled
with grain or sand, which gradually
filters through a small hole into the
lower chamber, causing the weight
resting above it to descend with it,
drawing up the cord that is wrapped
around the wheel’s axle to rotate.
1800 years ...... not much progress in the programming world
UNTIL
HE CAMEaround 1800 ...
Joseph Marie Jacquard
... invented Jacquard loom & demonstrated
in 1801, that created patterns on rugs and
mats. This simplified textile manufacturing
by introducing punched cards arranged in
a sequence to manifest into a pattern.
This played important role in invention of
other programmable machines !!
Joseph Marie Jacquard
✣ 7 July 1752 – 7 August 1834
✣ Jacquard power looms
✣ french weaver and merchant
✣ contributed to programmable loom
✣ called loom programmers
✣ patterns were punched and imprinted
THEN ...... comes the era of machines that could do calculations
1791
to
1871
Portrait from the Illustrated London News, Nov. 4, 1871
Charles Babbage (1840)
✣ asked parliament 1M pounds for business
✣ first person in computer business
✣ dreamed of calculation engine
✣ invented Analytical Engine
✣ philosopher, mathematician, engineer
✣ never finished both of them :)
At each increase of knowledge, as well as on the
contrivance of every new tool, human labour becomes
abridged.
Charles Babbage
SOMEONE... did write software for engine that was only on paper
WORLD's
FIRST
COMPUTER
PROGRAMMER
... Ada Lovelace, has been called the
world's first computer programmer.
Her notes on Babbage's analytical
engine include what is recognised as the
first algorithm intended to be carried
out by a machine. When such a machine
was actually built, her algorithm ran
on it !!
Note : She published her notes on analytical engine in 1842
FIRST ALGORITHM
!!
~100 years later
... the father is born
ALAN TURING
1912
to
1954
Alan Turing, was highly influential in
the development of theoretical computer
science. He formalized concepts of
algorithms and computation with Turing
Machine. He is widely considered as
FATHER OF COMPUTER SCIENCE
Colossus !!
A high level programming language,
is a coded language used by programmers
to communicate with the computer.
High Level LANGUAGES
1953, FORTRAN
(John Backus - IBM)
First really widespread
high level language
1958, ALGOL
Committee Based Language
(modern languages take lot
of ideas from ALGOL)
1969-1973, C
(Dennis Ritchie, Bell Labs)
most widely used programming
language till date
PICK YOURs !!
Which LanguAge
is more powerful ?
This is a meaningless question !!
- New Languages are influenced from
other languages, concepts & ideas
- Java is influenced from Eiffel, C++
SmallTalk, Objective C etc
- Sponsorship, Company Backing helps
- Programming is creative activity
and language must be treated as tool
OBSERVATIONS !!
GOOD SITES
to learn programming
This is a meaningless question !!
TO DO
Online Programming
Portals - CodeChef, ACM
ICPC, HackerRank,
HackerEarth
Choose college projects with
an opportunity of mixing
theory with practicals
Interact with industry experts to
learn exiting business problems
in various domains and trying
to solve it using tech
2.
TRENDS IN PROG. LANGUAGES
Fast Forward 2016 - let’s understand
trends around high level languages today
TIOBE INDEXPopularity of programming languages.
TIOBE stands for - The Importance Of Being Earnest
The TIOBE Programming Community
index is an indicator of the popularity of
programming languages. Updated once a
month. The ratings are based on the
number of skilled engineers world-wide,
courses and third party vendors. Popular
search engines such as Google, Bing,
Yahoo!, Wikipedia, Amazon, YouTube and
Baidu are used to calculate the ratings.
N
O
V
E
M
B
E
R
-
2
0
1
6
3.
CASE STUDY : JAVA
Let us deep dive into Java and new
features in Java 8 from the kitty
Birth OF JAVA [1995]
✣ 16 million internet users worldwide
✣ Birth of e-Commerce companies
■ __a___ and __a_
✣ Birth of internet companies
■ _a___
✣ Demo of WebRunner at TED conference
✣ Debut of
■ Java 1.0a2
■ Hotjava
H A P P Y B I R T H D A Y J A V A
Birth OF JAVA [1995]
✣ 16 million internet users worldwide
✣ Birth of e-Commerce companies
■ Amazon and eBay
✣ Birth of internet companies
■ Yahoo
✣ Demo of WebRunner demo at TED
✣ Debut of
■ Java 1.0a2
■ Hotjava
H A P P Y B I R T H D A Y J A V A
QUIZ TIME
1) When did Java go open-source ? (date-year)
QUIZ TIME
1) When did Java go open-source ? (date-year)
Oct 25, 2006
QUIZ TIME
1) When did Java go open-source ? (date-year)
Oct 25, 2006
2) When was internet first put on public domain ?
QUIZ TIME
1) When did Java go open-source ? (date-year)
Oct 25, 2006
2) When was internet first put on public domain ?
1993
QUIZ TIME
1) When did Java go open-source ? (date-year)
Oct 25, 2006
2) When was internet first put on public domain ?
1993
3) When was Java Coffee logo introduced ?
QUIZ TIME
1) When did Java go open-source ? (date-year)
Oct 25, 2006
2) When was internet first put on public domain ?
1993
3) When was Java Coffee logo introduced ?
2003
GREAT - Let’s move on :)
Java 8 : Parallel STREAMS
No more boilerplate code !!
Basic Jargon FIRST
Lambdas
A lambda is anonymous function. A function is a
computation that may take some arguments and
may return some value. Lambdas enable functions to
passed around and stored like values (smells like
functional programming, yeah)
Syntax of lambda expression
( [optional arguments] ) -> body
( Person p1, Person p2 ) -> p1.name() == p2.name()
**** Types can be inferred (parameters, return type)
Streams
A Stream is an abstract concept that represents
multiple values. It may or may not be collection.
It may or may not be a sequence. It may or may
not be an iterator. It is something that would
allow sequential as well as parallel processing :)
Stream<T> is opened using
Collections.stream(), Collection.parallelStream()
IntStream.range(), Stream.of(), Arrays.stream()
BufferedReader.lines(), CharSequence.chars()
E X A M P L E S H O U L D M A K E I T C L E A R
SomeList<Employee> employees = ….
double highestPaid =
employees.stream()
.filter(e -> e.getDepartment().equals(‘Search’)
.map(e -> e.getSalary())
.max();
I T E R A T I O N S
// EXTERNAL
for (Item items : items) {
process(item);
}
// INTERNAL
items.forEach(item -> process(item));
W I T H O U T S T R E A M S ( Java 7)
List mobileTransactions = new Arraylist<>();
for(Transaction t: transactions){
if(t.getType() == Transaction.MOBILE){
mobileTransactions.add(t);
}
}
Collections.sort(mobileTransactions, new MobilesComparator());
List transactionIds = new ArrayList<>();
for(Transaction t: mobileTransactions){
transactionsIds.add(t.getId());
}
U S I N G S T R E A M S ( Java 8)
List transactionsIds = transactions.stream()
.filter(t -> t.getType() == Transaction.MOBILE)
.sorted(comparing(Transaction::getValue)
.reversed())
.map(Transaction::getId)
.collect(toList());
U S I N G P A R A L L E L S T R E A M S
List transactionsIds = transactions.parallelStream()
.filter(t -> t.getType() == Transaction.MOBILE)
.sorted(comparing(Transaction::getValue)
.reversed())
.map(Transaction::getId)
.collect(toList());
Credits
Special thanks to all the people who made and
released these awesome resources for free:
✣ Presentation template by SlidesCarnival
✣ Photographs by Unsplash
✣ Paper texture by GraphicBurguer
THAT'S IT !!
Thank you all of you for being wonderful audience

More Related Content

Similar to EmergingTrendsInComputingAndProgrammingLanguages

I want to know more about compuerized text analysis
I want to know more about   compuerized text analysisI want to know more about   compuerized text analysis
I want to know more about compuerized text analysisLuke Czarnecki
 
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
 
Platforms and the Semantic Web
Platforms and the Semantic WebPlatforms and the Semantic Web
Platforms and the Semantic WebDanny Ayers
 
Safely Build, Publish & Maintain ES2015, ES2016 Packages Today
Safely Build, Publish & Maintain ES2015, ES2016 Packages TodaySafely Build, Publish & Maintain ES2015, ES2016 Packages Today
Safely Build, Publish & Maintain ES2015, ES2016 Packages TodayTorontoNodeJS
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)Jorge López-Lago
 
RailsBrdige Seattle Workshop Intro
RailsBrdige Seattle Workshop IntroRailsBrdige Seattle Workshop Intro
RailsBrdige Seattle Workshop Introreneedv
 
Let's LISP like it's 1959
Let's LISP like it's 1959Let's LISP like it's 1959
Let's LISP like it's 1959Mohamed Essam
 
History of ICT @ DDVE
History of ICT @ DDVEHistory of ICT @ DDVE
History of ICT @ DDVEAlvar Lumberg
 
Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...
Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...
Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...CA API Management
 
Presentation of programming languages for beginners
Presentation of programming languages for beginnersPresentation of programming languages for beginners
Presentation of programming languages for beginnersClement Levallois
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
Introduction to Google's Go programming language
Introduction to Google's Go programming languageIntroduction to Google's Go programming language
Introduction to Google's Go programming languageMario Castro Contreras
 
A brief history of Lua - Roberto Ierusalimschy (PUC Rio)
A brief history of Lua - Roberto  Ierusalimschy (PUC Rio)A brief history of Lua - Roberto  Ierusalimschy (PUC Rio)
A brief history of Lua - Roberto Ierusalimschy (PUC Rio)Kore VM
 

Similar to EmergingTrendsInComputingAndProgrammingLanguages (20)

Programming
ProgrammingProgramming
Programming
 
I want to know more about compuerized text analysis
I want to know more about   compuerized text analysisI want to know more about   compuerized text analysis
I want to know more about compuerized text analysis
 
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...
 
History of programming
History of programmingHistory of programming
History of programming
 
OpenSource
OpenSourceOpenSource
OpenSource
 
Platforms and the Semantic Web
Platforms and the Semantic WebPlatforms and the Semantic Web
Platforms and the Semantic Web
 
Scala Introduction
Scala IntroductionScala Introduction
Scala Introduction
 
Evolution of Programming Languages.pdf
Evolution of Programming Languages.pdfEvolution of Programming Languages.pdf
Evolution of Programming Languages.pdf
 
Evolution of Programming Languages.pdf
Evolution of Programming Languages.pdfEvolution of Programming Languages.pdf
Evolution of Programming Languages.pdf
 
Safely Build, Publish & Maintain ES2015, ES2016 Packages Today
Safely Build, Publish & Maintain ES2015, ES2016 Packages TodaySafely Build, Publish & Maintain ES2015, ES2016 Packages Today
Safely Build, Publish & Maintain ES2015, ES2016 Packages Today
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
 
RailsBrdige Seattle Workshop Intro
RailsBrdige Seattle Workshop IntroRailsBrdige Seattle Workshop Intro
RailsBrdige Seattle Workshop Intro
 
Pascal programming language
Pascal programming languagePascal programming language
Pascal programming language
 
Let's LISP like it's 1959
Let's LISP like it's 1959Let's LISP like it's 1959
Let's LISP like it's 1959
 
History of ICT @ DDVE
History of ICT @ DDVEHistory of ICT @ DDVE
History of ICT @ DDVE
 
Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...
Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...
Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...
 
Presentation of programming languages for beginners
Presentation of programming languages for beginnersPresentation of programming languages for beginners
Presentation of programming languages for beginners
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
Introduction to Google's Go programming language
Introduction to Google's Go programming languageIntroduction to Google's Go programming language
Introduction to Google's Go programming language
 
A brief history of Lua - Roberto Ierusalimschy (PUC Rio)
A brief history of Lua - Roberto  Ierusalimschy (PUC Rio)A brief history of Lua - Roberto  Ierusalimschy (PUC Rio)
A brief history of Lua - Roberto Ierusalimschy (PUC Rio)
 

More from Deepak Shevani

Intro to Azure Machine Learning
Intro to Azure Machine LearningIntro to Azure Machine Learning
Intro to Azure Machine LearningDeepak Shevani
 
Enterprise build tool gradle
Enterprise build tool gradleEnterprise build tool gradle
Enterprise build tool gradleDeepak Shevani
 
Moving towards Reactive Programming
Moving towards Reactive ProgrammingMoving towards Reactive Programming
Moving towards Reactive ProgrammingDeepak Shevani
 
Deepak semantic web_iitd
Deepak semantic web_iitdDeepak semantic web_iitd
Deepak semantic web_iitdDeepak Shevani
 

More from Deepak Shevani (6)

GraphQL
GraphQLGraphQL
GraphQL
 
Intro to Azure Machine Learning
Intro to Azure Machine LearningIntro to Azure Machine Learning
Intro to Azure Machine Learning
 
Enterprise build tool gradle
Enterprise build tool gradleEnterprise build tool gradle
Enterprise build tool gradle
 
Moving towards Reactive Programming
Moving towards Reactive ProgrammingMoving towards Reactive Programming
Moving towards Reactive Programming
 
Deepak semantic web_iitd
Deepak semantic web_iitdDeepak semantic web_iitd
Deepak semantic web_iitd
 
Yahoo! Time Traveler
Yahoo! Time TravelerYahoo! Time Traveler
Yahoo! Time Traveler
 

Recently uploaded

Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoordharasingh5698
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfrs7054576148
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 

Recently uploaded (20)

Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 

EmergingTrendsInComputingAndProgrammingLanguages

  • 2. AGENDA Historical Perspective ✣ Birth of computing ✣ History of languages ✣ High Level Languages ++++++++++++++++ Fun Quiz Recent Trends in Languages ✣ TIOBE index ✣ In vogue - Go, Java, React, Python, C# ✣ Preparing for the future !! ++++++++++++++++ Demo Q&A Slides will be uploaded at http://www.slideshare.net/dshevani
  • 3. Hello everyone ! I am Deepak Shevani Currently working at Flipkart, building next generation e-commerce platforms. I like presenting & love to mingle with technology enthusiasts. Contact me : aum2deepak@gmail.com @deepak_shevani
  • 4. 1. HISTORICAL PERSPECTIVE Understand roots of computing & birth of programming languages
  • 5. this CHAP ? he started it all in 60 AD ...
  • 6. Hero of Alexandria ✣ c. 10 AD – c. 70 AD ✣ greek mathematician & engineer ✣ Thomas Edison of the ancient world ✣ active in Alexandria, Roman Egypt (60-70 AD) ✣ prolific writer as well as inventor ✣ first vending machine ✣ first steam engine - Aeolipile ✣ mechanical puppet theater could be rewired first recorded programmable thing !!
  • 7. Hero of Alexandria Invented first “programmable puppet theater" .... An upper bin is filled with grain or sand, which gradually filters through a small hole into the lower chamber, causing the weight resting above it to descend with it, drawing up the cord that is wrapped around the wheel’s axle to rotate.
  • 8. 1800 years ...... not much progress in the programming world
  • 10. Joseph Marie Jacquard ... invented Jacquard loom & demonstrated in 1801, that created patterns on rugs and mats. This simplified textile manufacturing by introducing punched cards arranged in a sequence to manifest into a pattern. This played important role in invention of other programmable machines !!
  • 11. Joseph Marie Jacquard ✣ 7 July 1752 – 7 August 1834 ✣ Jacquard power looms ✣ french weaver and merchant ✣ contributed to programmable loom ✣ called loom programmers ✣ patterns were punched and imprinted
  • 12. THEN ...... comes the era of machines that could do calculations
  • 13. 1791 to 1871 Portrait from the Illustrated London News, Nov. 4, 1871
  • 14. Charles Babbage (1840) ✣ asked parliament 1M pounds for business ✣ first person in computer business ✣ dreamed of calculation engine ✣ invented Analytical Engine ✣ philosopher, mathematician, engineer ✣ never finished both of them :) At each increase of knowledge, as well as on the contrivance of every new tool, human labour becomes abridged. Charles Babbage
  • 15. SOMEONE... did write software for engine that was only on paper
  • 17. ... Ada Lovelace, has been called the world's first computer programmer. Her notes on Babbage's analytical engine include what is recognised as the first algorithm intended to be carried out by a machine. When such a machine was actually built, her algorithm ran on it !! Note : She published her notes on analytical engine in 1842
  • 19. ~100 years later ... the father is born
  • 21.
  • 22. Alan Turing, was highly influential in the development of theoretical computer science. He formalized concepts of algorithms and computation with Turing Machine. He is widely considered as FATHER OF COMPUTER SCIENCE
  • 23.
  • 25. A high level programming language, is a coded language used by programmers to communicate with the computer.
  • 26. High Level LANGUAGES 1953, FORTRAN (John Backus - IBM) First really widespread high level language 1958, ALGOL Committee Based Language (modern languages take lot of ideas from ALGOL) 1969-1973, C (Dennis Ritchie, Bell Labs) most widely used programming language till date
  • 28. Which LanguAge is more powerful ? This is a meaningless question !!
  • 29. - New Languages are influenced from other languages, concepts & ideas - Java is influenced from Eiffel, C++ SmallTalk, Objective C etc - Sponsorship, Company Backing helps - Programming is creative activity and language must be treated as tool OBSERVATIONS !!
  • 30. GOOD SITES to learn programming This is a meaningless question !!
  • 31. TO DO Online Programming Portals - CodeChef, ACM ICPC, HackerRank, HackerEarth Choose college projects with an opportunity of mixing theory with practicals Interact with industry experts to learn exiting business problems in various domains and trying to solve it using tech
  • 32.
  • 33.
  • 34. 2. TRENDS IN PROG. LANGUAGES Fast Forward 2016 - let’s understand trends around high level languages today
  • 35. TIOBE INDEXPopularity of programming languages. TIOBE stands for - The Importance Of Being Earnest
  • 36. The TIOBE Programming Community index is an indicator of the popularity of programming languages. Updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings.
  • 38. 3. CASE STUDY : JAVA Let us deep dive into Java and new features in Java 8 from the kitty
  • 39. Birth OF JAVA [1995] ✣ 16 million internet users worldwide ✣ Birth of e-Commerce companies ■ __a___ and __a_ ✣ Birth of internet companies ■ _a___ ✣ Demo of WebRunner at TED conference ✣ Debut of ■ Java 1.0a2 ■ Hotjava H A P P Y B I R T H D A Y J A V A
  • 40. Birth OF JAVA [1995] ✣ 16 million internet users worldwide ✣ Birth of e-Commerce companies ■ Amazon and eBay ✣ Birth of internet companies ■ Yahoo ✣ Demo of WebRunner demo at TED ✣ Debut of ■ Java 1.0a2 ■ Hotjava H A P P Y B I R T H D A Y J A V A
  • 41. QUIZ TIME 1) When did Java go open-source ? (date-year)
  • 42. QUIZ TIME 1) When did Java go open-source ? (date-year) Oct 25, 2006
  • 43. QUIZ TIME 1) When did Java go open-source ? (date-year) Oct 25, 2006 2) When was internet first put on public domain ?
  • 44. QUIZ TIME 1) When did Java go open-source ? (date-year) Oct 25, 2006 2) When was internet first put on public domain ? 1993
  • 45. QUIZ TIME 1) When did Java go open-source ? (date-year) Oct 25, 2006 2) When was internet first put on public domain ? 1993 3) When was Java Coffee logo introduced ?
  • 46. QUIZ TIME 1) When did Java go open-source ? (date-year) Oct 25, 2006 2) When was internet first put on public domain ? 1993 3) When was Java Coffee logo introduced ? 2003 GREAT - Let’s move on :)
  • 47. Java 8 : Parallel STREAMS No more boilerplate code !!
  • 48. Basic Jargon FIRST Lambdas A lambda is anonymous function. A function is a computation that may take some arguments and may return some value. Lambdas enable functions to passed around and stored like values (smells like functional programming, yeah) Syntax of lambda expression ( [optional arguments] ) -> body ( Person p1, Person p2 ) -> p1.name() == p2.name() **** Types can be inferred (parameters, return type) Streams A Stream is an abstract concept that represents multiple values. It may or may not be collection. It may or may not be a sequence. It may or may not be an iterator. It is something that would allow sequential as well as parallel processing :) Stream<T> is opened using Collections.stream(), Collection.parallelStream() IntStream.range(), Stream.of(), Arrays.stream() BufferedReader.lines(), CharSequence.chars()
  • 49. E X A M P L E S H O U L D M A K E I T C L E A R SomeList<Employee> employees = …. double highestPaid = employees.stream() .filter(e -> e.getDepartment().equals(‘Search’) .map(e -> e.getSalary()) .max();
  • 50. I T E R A T I O N S // EXTERNAL for (Item items : items) { process(item); } // INTERNAL items.forEach(item -> process(item));
  • 51. W I T H O U T S T R E A M S ( Java 7) List mobileTransactions = new Arraylist<>(); for(Transaction t: transactions){ if(t.getType() == Transaction.MOBILE){ mobileTransactions.add(t); } } Collections.sort(mobileTransactions, new MobilesComparator()); List transactionIds = new ArrayList<>(); for(Transaction t: mobileTransactions){ transactionsIds.add(t.getId()); }
  • 52. U S I N G S T R E A M S ( Java 8) List transactionsIds = transactions.stream() .filter(t -> t.getType() == Transaction.MOBILE) .sorted(comparing(Transaction::getValue) .reversed()) .map(Transaction::getId) .collect(toList());
  • 53. U S I N G P A R A L L E L S T R E A M S List transactionsIds = transactions.parallelStream() .filter(t -> t.getType() == Transaction.MOBILE) .sorted(comparing(Transaction::getValue) .reversed()) .map(Transaction::getId) .collect(toList());
  • 54. Credits Special thanks to all the people who made and released these awesome resources for free: ✣ Presentation template by SlidesCarnival ✣ Photographs by Unsplash ✣ Paper texture by GraphicBurguer
  • 55. THAT'S IT !! Thank you all of you for being wonderful audience