SlideShare a Scribd company logo
How do I build my 
language portfolio? 
Dhaval Dalal 
dhaval.dalal@software-artisan.com 
@softwareartisan
FP 
Paradigm 
Imperative 
Paradigm 
Static 
Java8 
Groovy/Ruby 
Dynamic 
Java7 
Scala 
JavaScript 
Haskell 
C# 
Clojure
Many Possible Paths 
• Pick a language in a paradigm and get good-enough 
grounding. 
• Use a bridge-language to go across differently typed 
language or across paradigm. 
• For example, Groovy is optionally typed and allows you to 
ease-in your transition from Java to a dynamic language 
• For example, Scala is statically typed and allows you to 
ease-in your transition from Imperative to Functional 
Programming paradigm
Be adventurous 
• Don’t use any bridge language, pick something 
quite different. 
• For example, if you have never tried any Lisp or 
Scheme family languages, try Clojure or Dr. Racket. 
• Find out how it shapes your thinking. 
• I am almost certain that each language bends 
your mind differently, allow it to improve your 
mind plasticity.
Programming-Language 
Skills Maturity Model 
• PLS0 => Apprentice => (ILR0 + ILR1) 
• writes code in the new language that reflects thinking 
from where they transitioned from 
• PLS1 => Journeyman => (ILR2 + ILR3) 
• writes idiomatic code and reflects native thinking 
• PLS2 => Master => (ILR4) 
http://en.wikipedia.org/wiki/ILR_scale
Caveat 
• These were few paths. 
• One that works for me, may not 
necessarily work for you.... 
• I’m sure there are many others, please 
explore and let me know.

More Related Content

PDF
Grooming with Groovy
PPTX
Programming Paradigm & Languages
PPT
Workin ontherailsroad
PPT
WorkinOnTheRailsRoad
PDF
Kotlin & arrow: the functional way
PDF
Backend roadmap
PDF
Kotlin & Arrow the functional way
PDF
Integrated Language Definition Testing: Enabling Test-Driven Language Develop...
Grooming with Groovy
Programming Paradigm & Languages
Workin ontherailsroad
WorkinOnTheRailsRoad
Kotlin & arrow: the functional way
Backend roadmap
Kotlin & Arrow the functional way
Integrated Language Definition Testing: Enabling Test-Driven Language Develop...

What's hot (20)

PPTX
Comparing Golang and understanding Java Value Types
KEY
Remix Your Language Tooling (JSConf.eu 2012)
KEY
Introduction to Ruby
PPTX
Ruby programming
KEY
Test-driven language development
PDF
From Java to Kotlin
PPT
Programming Paradigms
PPT
Intro To Ror
ODP
PPT
Jug dynamic languages_in_jvm
PPTX
TypeScript - Silver Bullet for the Full-stack Developers
PDF
TypeScript - An Introduction
PPTX
Whats New In C Sharp 4 And Vb 10
PDF
Understanding Typing. Understanding Ruby.
PPTX
TypeScript Overview
PDF
API Design
PDF
JavaScript Speech Recognition
PDF
Scala the-good-parts
PDF
New c sharp4_features_part_v
Comparing Golang and understanding Java Value Types
Remix Your Language Tooling (JSConf.eu 2012)
Introduction to Ruby
Ruby programming
Test-driven language development
From Java to Kotlin
Programming Paradigms
Intro To Ror
Jug dynamic languages_in_jvm
TypeScript - Silver Bullet for the Full-stack Developers
TypeScript - An Introduction
Whats New In C Sharp 4 And Vb 10
Understanding Typing. Understanding Ruby.
TypeScript Overview
API Design
JavaScript Speech Recognition
Scala the-good-parts
New c sharp4_features_part_v
Ad

Viewers also liked (15)

PDF
Panchangam_03_vandeep
PPT
Sacred Scriptures (1)
PPTX
Origin and Development of Sanskrit Letters With the special reference to Gran...
PPT
Are all religions equal hindutva
PPTX
Hinduism
PPT
Sanskrit great writers and poets...!!
PPTX
संस्कृत ( SANSKRIT GAME quiz type)
PPTX
The Vedas
PPTX
vedic architecture and buddhist architecture of asia
PPT
Vedas and Vedic Culture
PPTX
Sanskrit PPT for Class 9 and 10.
PDF
PPT
Word formation process
PPT
Panchangam_03_vandeep
Sacred Scriptures (1)
Origin and Development of Sanskrit Letters With the special reference to Gran...
Are all religions equal hindutva
Hinduism
Sanskrit great writers and poets...!!
संस्कृत ( SANSKRIT GAME quiz type)
The Vedas
vedic architecture and buddhist architecture of asia
Vedas and Vedic Culture
Sanskrit PPT for Class 9 and 10.
Word formation process
Ad

Similar to Language portfolio (9)

PPTX
Polyglot
PPTX
The-World-of-Java.pptx
PDF
Master Java Programming in Chennai.Your Pathway to Java Mastery in Chennai
PDF
Which programming language should you learn next?
ODP
Scala Presentation Work
PDF
Venkat Subramaniam Blending Java With Dynamic Languages
PDF
Learn Advanced Java Programming With Beginners Md Pulok
PDF
Scala Sjug 09
PPTX
Java-Development-A-Comprehensive-Guide.pptx
Polyglot
The-World-of-Java.pptx
Master Java Programming in Chennai.Your Pathway to Java Mastery in Chennai
Which programming language should you learn next?
Scala Presentation Work
Venkat Subramaniam Blending Java With Dynamic Languages
Learn Advanced Java Programming With Beginners Md Pulok
Scala Sjug 09
Java-Development-A-Comprehensive-Guide.pptx

More from Dhaval Dalal (20)

PDF
Sri-Aurobindos-Integral-Education-Principles.pdf
PDF
Test Pyramid in Microservices Context
PDF
Code Retreat
PDF
Booting into functional programming
PDF
Currying and Partial Function Application (PFA)
PDF
Creating Lazy stream in CSharp
PDF
Json Viewer Stories
PDF
Value Objects
PDF
Mars rover-extension
PDF
How Is Homeopathy Near To Yoga?
PDF
Approaching ATDD/BDD
PDF
Paradigms Code jugalbandi
PDF
Data Reconciliation
PDF
DRYing to Monad in Java8
PDF
CodeRetreat
PDF
4-Code-Jugalbandi-destructuring-patternmatching-healthycode#apr2015
PDF
Jumping-with-java8
PDF
3-CodeJugalbandi-currying-pfa-healthycodemagazine#mar2015
PDF
CodeJugalbandi-Sequencing-HealthyCode-Magazine-Feb-2015
PDF
CodeJugalbandi-Expression-Problem-HealthyCode-Magazine#Jan-2015-Issue
Sri-Aurobindos-Integral-Education-Principles.pdf
Test Pyramid in Microservices Context
Code Retreat
Booting into functional programming
Currying and Partial Function Application (PFA)
Creating Lazy stream in CSharp
Json Viewer Stories
Value Objects
Mars rover-extension
How Is Homeopathy Near To Yoga?
Approaching ATDD/BDD
Paradigms Code jugalbandi
Data Reconciliation
DRYing to Monad in Java8
CodeRetreat
4-Code-Jugalbandi-destructuring-patternmatching-healthycode#apr2015
Jumping-with-java8
3-CodeJugalbandi-currying-pfa-healthycodemagazine#mar2015
CodeJugalbandi-Sequencing-HealthyCode-Magazine-Feb-2015
CodeJugalbandi-Expression-Problem-HealthyCode-Magazine#Jan-2015-Issue

Recently uploaded (20)

PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
1. Introduction to Computer Programming.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Chapter 5: Probability Theory and Statistics
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Mushroom cultivation and it's methods.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
A novel scalable deep ensemble learning framework for big data classification...
Assigned Numbers - 2025 - Bluetooth® Document
cloud_computing_Infrastucture_as_cloud_p
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
1. Introduction to Computer Programming.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Chapter 5: Probability Theory and Statistics
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
A Presentation on Artificial Intelligence
MIND Revenue Release Quarter 2 2025 Press Release
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Zenith AI: Advanced Artificial Intelligence
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mushroom cultivation and it's methods.pdf
Programs and apps: productivity, graphics, security and other tools
OMC Textile Division Presentation 2021.pptx
A novel scalable deep ensemble learning framework for big data classification...

Language portfolio

  • 1. How do I build my language portfolio? Dhaval Dalal dhaval.dalal@software-artisan.com @softwareartisan
  • 2. FP Paradigm Imperative Paradigm Static Java8 Groovy/Ruby Dynamic Java7 Scala JavaScript Haskell C# Clojure
  • 3. Many Possible Paths • Pick a language in a paradigm and get good-enough grounding. • Use a bridge-language to go across differently typed language or across paradigm. • For example, Groovy is optionally typed and allows you to ease-in your transition from Java to a dynamic language • For example, Scala is statically typed and allows you to ease-in your transition from Imperative to Functional Programming paradigm
  • 4. Be adventurous • Don’t use any bridge language, pick something quite different. • For example, if you have never tried any Lisp or Scheme family languages, try Clojure or Dr. Racket. • Find out how it shapes your thinking. • I am almost certain that each language bends your mind differently, allow it to improve your mind plasticity.
  • 5. Programming-Language Skills Maturity Model • PLS0 => Apprentice => (ILR0 + ILR1) • writes code in the new language that reflects thinking from where they transitioned from • PLS1 => Journeyman => (ILR2 + ILR3) • writes idiomatic code and reflects native thinking • PLS2 => Master => (ILR4) http://en.wikipedia.org/wiki/ILR_scale
  • 6. Caveat • These were few paths. • One that works for me, may not necessarily work for you.... • I’m sure there are many others, please explore and let me know.