SlideShare a Scribd company logo
Evolution
or
Stagnation
of
Programming
languages
Daniele Esposti
Data Platform Lead
Daily playing with:
Python, JavaScript & Java
@expobrain
github.com/expobrain
Daniele Esposti
I’ll not talking about the history of
programming languages...
I’ll talk about
modern programming languages
What’s a language?
“The method of communication,
either spoken or written,
consisting of the use of words
in a structured and conventional way”
https://en.oxforddictionaries.com/definition/language
Does it apply
to programming languages as well?
Yes!
Languages evolves
by the requirements
of whom spoke them
If a language is not useful anymore
or become stagnant
fewer and fewer people will use it
Let consider two very popular
programming languages
Python
JavaScript
&
Python 3.x
Python
● print() as a function
● All strings are unicode
● Renaming of standard libs
(six.moves on the rescue)
Python
● async / await
● f-strings
● Delegating to a Subgenerator ( yield from
)
Python
● very few additions in the 2.x series
● core language is still the same
● changes in the 3.x series
are backward incompatible
Python
Some features are backward compatible,
must be activated with:
from __future__ import <feature>
Python
However a huge amount of improvements:
new packages, better performance
and lower memory usage
JavaScript ES5 &
ES6
JavaScript
● Setter / getters
● New methods on Object and Array
● const / let
● Block scoped variables and functions
JavaScript
● Arrow functions
● Lexical this
● Default parameters in functions
● Spread / rest operator
JavaScript
● Template literals
● Property shorthand
● Computed property names
● Method properties in objects
JavaScript
Destructuring:
● Array matching
● Object matching
● ...with default values and deep traversal
JavaScript
● import and export
● Classes
● Iterators and generators
● Map / Set and WeakMap / WeakSet
JavaScript
● Typed and shared arrays
● Promise and async / await
● Proxying and reflection
● Collation
JavaScript
A lot of new addition to the language
No backward incompatible changes*
Code can be run on any browser*
*more on this later
Compared to Python JavaScript’s
evolution in the same timescale
has been more successful
What happened?
From Guido van Rossum: BDFL Python 3 retrospective:
● We didn't build any runtime compatibility features
● We didn't know how to create fully-automated
conversion tools
● We didn't make enough compatibility allowances
● We did a few things half-heartedly (i.e. the stdlib
cleanup)
Python
JavaScript
● The TC39 committee is careful to not break the Web
● ES5 code is still valid in ES6, ES7, etc.
● Features are provided by polyfills
● Babel transpile any version of JavaScript down to ES5
Which means:
● Old code is still working
● New code works on older interpreters via transpiling
● Can mix new and old code
● Can write code in ES.next via transpiling
JavaScript
Lessons learned:
Developers are more productive when
upgrading the programming language
is painless and seamless
Tooling is important:
2to3 failed
where
Babel succeeded
Old and new language
must coexist
Explore how other languages
approached the same problem
The language should be ergonomic
end evolve fast to be close
to the developer’s needs
Python
is one of the most successful language
but it’s evolution is restrained
We don’t want to see it stagnant
We want so see it thrive!
github.com/expobrain@expobrain
Thank you !

More Related Content

PDF
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
PDF
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
PDF
Lets Go - An introduction to Google's Go Programming Language
PPT
A First Look at Google's Go Programming Language
PDF
Adopting language server for apache camel feedback from a java/Eclipse plugi...
PDF
Growing up new PostgreSQL developers (pgcon.org 2018)
PPT
Google Go! language
PDF
A Shallow Survey of Alternative Languages on the JVM
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
Lets Go - An introduction to Google's Go Programming Language
A First Look at Google's Go Programming Language
Adopting language server for apache camel feedback from a java/Eclipse plugi...
Growing up new PostgreSQL developers (pgcon.org 2018)
Google Go! language
A Shallow Survey of Alternative Languages on the JVM

What's hot (20)

PDF
An Introduction to Go
PDF
Quality Assurance in PostgreSQL
PPT
Introduction to Go-Lang
PDF
An introduction to go programming language
PPTX
ATO 2014 - So You Think You Know 'Go'? The Go Programming Language
PDF
PDF
Go language presentation
PPTX
Go Programming language, golang
PPTX
Advantages of Python Learning | Why Python
PPTX
Go Language presentation
PDF
Python debuggers slides
PDF
Groovy as a Dynamic Language
PPTX
Boosting python web apps with protocol buffers &amp; grpc
PDF
Monorepo at Pinterest
PDF
Why you should care about Go (Golang)
PDF
Go Programming Language by Google
PDF
The Go programming language - Intro by MyLittleAdventure
PPTX
Introduction to go lang
PDF
Building Command Line Tools with Golang
An Introduction to Go
Quality Assurance in PostgreSQL
Introduction to Go-Lang
An introduction to go programming language
ATO 2014 - So You Think You Know 'Go'? The Go Programming Language
Go language presentation
Go Programming language, golang
Advantages of Python Learning | Why Python
Go Language presentation
Python debuggers slides
Groovy as a Dynamic Language
Boosting python web apps with protocol buffers &amp; grpc
Monorepo at Pinterest
Why you should care about Go (Golang)
Go Programming Language by Google
The Go programming language - Intro by MyLittleAdventure
Introduction to go lang
Building Command Line Tools with Golang
Ad

Similar to Evolution or stagnation programming languages (20)

PDF
ES2015 / ES6: Basics of modern Javascript
PDF
Making ES6 available to all with ChakraCore
PDF
Programming languages converted
PPTX
Python vs JavaScript: Choose the Right Programming Language for Your Project
PPTX
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
PDF
Which programming language should you learn next?
PDF
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
PDF
Ruby is dying. What languages are cool now?
PPTX
Js slideshare
PDF
JavaScript for impatient programmers.pdf
PDF
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
PDF
Making ES6 available to all with ChakraCore and Typescript
PPTX
Programming Languages: Trends for 2021
PPTX
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
PDF
Hcplphx920
PPTX
Programming Languages Trends for 2023
PPTX
Programming-Languages.pptx
PDF
What Java Can Learn From JavaScript
PDF
JavaScript Miller Columns
PDF
High quality Front-End
ES2015 / ES6: Basics of modern Javascript
Making ES6 available to all with ChakraCore
Programming languages converted
Python vs JavaScript: Choose the Right Programming Language for Your Project
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
Which programming language should you learn next?
pdx893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-26-112
Ruby is dying. What languages are cool now?
Js slideshare
JavaScript for impatient programmers.pdf
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Making ES6 available to all with ChakraCore and Typescript
Programming Languages: Trends for 2021
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
Hcplphx920
Programming Languages Trends for 2023
Programming-Languages.pptx
What Java Can Learn From JavaScript
JavaScript Miller Columns
High quality Front-End
Ad

Recently uploaded (20)

PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
ai tools demonstartion for schools and inter college
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
top salesforce developer skills in 2025.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
System and Network Administraation Chapter 3
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
System and Network Administration Chapter 2
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
history of c programming in notes for students .pptx
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Operating system designcfffgfgggggggvggggggggg
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
VVF-Customer-Presentation2025-Ver1.9.pptx
ai tools demonstartion for schools and inter college
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Navsoft: AI-Powered Business Solutions & Custom Software Development
Design an Analysis of Algorithms II-SECS-1021-03
top salesforce developer skills in 2025.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
System and Network Administraation Chapter 3
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Softaken Excel to vCard Converter Software.pdf
Nekopoi APK 2025 free lastest update
System and Network Administration Chapter 2
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
history of c programming in notes for students .pptx
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Operating system designcfffgfgggggggvggggggggg

Evolution or stagnation programming languages