SlideShare a Scribd company logo
Trends in Programming 
Languages 
Anton Moldovan 
@AntyaDev
Trends in programming languages
Trends in programming languages
• Horse-power of many-core… 
• …but how to program those? Concurrent 
• Schematized, static, dynamic… 
• …so, what’s the sweet spot? Dynamic 
• New level of expressiveness… 
• …how about the essence? Functional
Trends in programming languages
Dynamic 
Languages 
Simple and succinct 
Implicitly typed 
Meta-programming 
No compilation 
Static 
Languages 
Robust 
Performant 
Intelligent tools 
Better scaling
• non-schematized data 
• 
• 
• 
• Metaprogramming 
• 
•
Trends in programming languages
Theory of Computation 
(Lambda Calculus, Alonzo Church) 
LISP Heritage 
Reality of Hardware 
Fortran Heritage (Memory, John Von Neumann) 
ML 
SmallTalk 
C 
Java 
C++ 
C# 
Scheme 
Haskell
var res = xs.Where(C# x => x % 2 == 0); 
Visual Basic Dim res = xs.Where(Function(x) x Mod 2 = 0) 
F# let res = xs |> Seq.filter (fun x -> x % 2 = 0); 
var res = xs.filter(function(x) { 
return x % 2 == 0; 
}); 
JavaScript 
auto res = find_if(xs.begin(), xs.end(), [] (int i) { 
return x % 2 == 0; 
}); 
C++11
First class functions 
FP 
Immutable 
data 
Referential 
transparency 
Algebraic data types 
Type 
inference 
Pattern 
matching 
Essence 
Niceties
Visual 
Studio 
.NET 
Functional 
F#
Type Inference
“Local” Inference 
• Confine your focus to a single 
declaration 
• Compute the type directly 
• Move on to the next one… 
• Can't infer parameter types…
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Pros 
• Mostly intuitive behavior 
• Very simple to implement 
• (the compiler does this work anyway)
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
“Global” Inference 
• Look at the literals 
• Look at the functions and other values 
something interacts with 
• Look at any explicit type constraints 
• If there are no constraints anywhere, 
automatically generalize to generic types
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
Trends in programming languages
function printLabel(labelledObj: {label: string}) { 
console.log(labelledObj.label); 
} 
var myObj = {size: 10, label: "Size 10 Object"}; 
printLabel(myObj);
Trends in programming languages
Trends in programming languages
//start an instance of the firefox browser 
start firefox 
//go to url 
url "http://lefthandedgoat.github.io/canopy/testpages/" 
//assert that the element with an id of 'welcome' has 
//the text 'Welcome‘ 
"#welcome" == "Welcome"
project "F# DSL Article" starts "01/01/2009" 
resource "Dmitri" isa "Writer" with_rate 140 
resource "Computer" isa "Dumb Machine" with_rate 0 
group "DSL Popularization" done_by "Dmitri" 
task "Create basic estimation DSL" takes 1 day 
task "Write article" takes 1 day 
task "Post article and wait for comments" takes 1 week 
group "Infrastructure Support" done_by "Computer" 
task "Provide VS2010 and MS Project" takes 1 day 
task "Download and deploy TypograFix" takes 1 day 
task "Sit idly while owner waits for comments" takes 1 week 
prepare my_project
Trends in programming languages

More Related Content

PPTX
F# type providers
PPT
Trends in Programming Technology you might want to keep an eye on af Bent Tho...
PPTX
Scala - the good, the bad and the very ugly
PDF
Perl5 VS JSON
PPTX
JS 4 U
PPTX
PPTX
PPTX
F# type providers
Trends in Programming Technology you might want to keep an eye on af Bent Tho...
Scala - the good, the bad and the very ugly
Perl5 VS JSON
JS 4 U

What's hot (20)

PDF
Reference Semantics with C# and .NET Core
PPTX
C++ in object oriented programming
PDF
C# 9 and 10 - What's cool?
PPTX
Js slideshare
PDF
Medepia ABAP JSON Library ZCL_MDP_JSON
PPTX
TypeScript Overview
PDF
Writing High Peformance C# 7 Code
PDF
Getting Started with TypeScript
PPTX
PPTX
Go: What's Different ?
PPT
Web development basics (Part-2)
PDF
Kevin Whinnery: Write Better JavaScript
PDF
Dallas Functional - Homoiconcity
PDF
Dart: Another Tool in the Toolbox
ODP
Getting started with typescript and angular 2
PDF
Thinkful - Intro to JavaScript
PPTX
Typescript in 30mins
PDF
PDF
Gourmet Service Object
ODP
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Reference Semantics with C# and .NET Core
C++ in object oriented programming
C# 9 and 10 - What's cool?
Js slideshare
Medepia ABAP JSON Library ZCL_MDP_JSON
TypeScript Overview
Writing High Peformance C# 7 Code
Getting Started with TypeScript
Go: What's Different ?
Web development basics (Part-2)
Kevin Whinnery: Write Better JavaScript
Dallas Functional - Homoiconcity
Dart: Another Tool in the Toolbox
Getting started with typescript and angular 2
Thinkful - Intro to JavaScript
Typescript in 30mins
Gourmet Service Object
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Ad

Similar to Trends in programming languages (20)

PDF
The Future of JavaScript (Ajax Exp '07)
PDF
Tamarin and ECMAScript 4
PDF
Back to the Future with TypeScript
PDF
Programming Languages: some news for the last N years
PPT
Javascript
PDF
JavaScript 1.5 to 2.0 (TomTom)
PDF
Tamarin And Ecmascript 4
PPTX
ES6: Features + Rails
PDF
Intro to React
PPTX
Academy PRO: ES2015
KEY
Exciting JavaScript - Part I
PPTX
C# Today and Tomorrow
PDF
DEVCON1 - BooJs
PPTX
Should i Go there
KEY
Exciting JavaScript - Part II
PDF
Javascript
PDF
Functional Programming in F#
PPTX
Advanced JavaScript
PPTX
Next .NET and C#
PDF
Whats new in ES2019
The Future of JavaScript (Ajax Exp '07)
Tamarin and ECMAScript 4
Back to the Future with TypeScript
Programming Languages: some news for the last N years
Javascript
JavaScript 1.5 to 2.0 (TomTom)
Tamarin And Ecmascript 4
ES6: Features + Rails
Intro to React
Academy PRO: ES2015
Exciting JavaScript - Part I
C# Today and Tomorrow
DEVCON1 - BooJs
Should i Go there
Exciting JavaScript - Part II
Javascript
Functional Programming in F#
Advanced JavaScript
Next .NET and C#
Whats new in ES2019
Ad

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
1. Introduction to Computer Programming.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
A Presentation on Artificial Intelligence
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
Teaching material agriculture food technology
PDF
Approach and Philosophy of On baking technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
1. Introduction to Computer Programming.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
A Presentation on Artificial Intelligence
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Group 1 Presentation -Planning and Decision Making .pptx
NewMind AI Weekly Chronicles - August'25-Week II
Reach Out and Touch Someone: Haptics and Empathic Computing
Teaching material agriculture food technology
Approach and Philosophy of On baking technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
A comparative analysis of optical character recognition models for extracting...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Encapsulation theory and applications.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Big Data Technologies - Introduction.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

Trends in programming languages

  • 1. Trends in Programming Languages Anton Moldovan @AntyaDev
  • 4. • Horse-power of many-core… • …but how to program those? Concurrent • Schematized, static, dynamic… • …so, what’s the sweet spot? Dynamic • New level of expressiveness… • …how about the essence? Functional
  • 6. Dynamic Languages Simple and succinct Implicitly typed Meta-programming No compilation Static Languages Robust Performant Intelligent tools Better scaling
  • 7. • non-schematized data • • • • Metaprogramming • •
  • 9. Theory of Computation (Lambda Calculus, Alonzo Church) LISP Heritage Reality of Hardware Fortran Heritage (Memory, John Von Neumann) ML SmallTalk C Java C++ C# Scheme Haskell
  • 10. var res = xs.Where(C# x => x % 2 == 0); Visual Basic Dim res = xs.Where(Function(x) x Mod 2 = 0) F# let res = xs |> Seq.filter (fun x -> x % 2 = 0); var res = xs.filter(function(x) { return x % 2 == 0; }); JavaScript auto res = find_if(xs.begin(), xs.end(), [] (int i) { return x % 2 == 0; }); C++11
  • 11. First class functions FP Immutable data Referential transparency Algebraic data types Type inference Pattern matching Essence Niceties
  • 12. Visual Studio .NET Functional F#
  • 14. “Local” Inference • Confine your focus to a single declaration • Compute the type directly • Move on to the next one… • Can't infer parameter types…
  • 22. Pros • Mostly intuitive behavior • Very simple to implement • (the compiler does this work anyway)
  • 31. “Global” Inference • Look at the literals • Look at the functions and other values something interacts with • Look at any explicit type constraints • If there are no constraints anywhere, automatically generalize to generic types
  • 43. function printLabel(labelledObj: {label: string}) { console.log(labelledObj.label); } var myObj = {size: 10, label: "Size 10 Object"}; printLabel(myObj);
  • 46. //start an instance of the firefox browser start firefox //go to url url "http://lefthandedgoat.github.io/canopy/testpages/" //assert that the element with an id of 'welcome' has //the text 'Welcome‘ "#welcome" == "Welcome"
  • 47. project "F# DSL Article" starts "01/01/2009" resource "Dmitri" isa "Writer" with_rate 140 resource "Computer" isa "Dumb Machine" with_rate 0 group "DSL Popularization" done_by "Dmitri" task "Create basic estimation DSL" takes 1 day task "Write article" takes 1 day task "Post article and wait for comments" takes 1 week group "Infrastructure Support" done_by "Computer" task "Provide VS2010 and MS Project" takes 1 day task "Download and deploy TypograFix" takes 1 day task "Sit idly while owner waits for comments" takes 1 week prepare my_project