SlideShare a Scribd company logo
Using PowerShell as DSL
in .Net applications
Joy George K
Jr.Architect, Orion India Systems
www.joymononline.in , joymon@gmail.com
PowerShell as DSL in .Net– What is
DSL?
A computer language that's targeted to A
particular kind of problem, rather than A general
purpose language that's aimed at any kind of
software problem. Domain specific languages
have been talked about, and used for almost as
long as computing has been done.
Martin fowler
DSL
• Excel macros
• SQL
• CSS
• RegEx
• .Bat files
needed?
• Make the users as programmers.
• Tackle ever changing requirements
• Easy maintainability
• Extensibility ?
• …
External
• Internal
• Uses existing special language constructs to achieve
• Fluid API
• eg : Linq (entries.Where(e => e.Approved)
.OrderBy(e => e.Rating)
.FirstOrDefault())
• External
• Uses different language
• Special parsers
Arch
DSL EngineCore app
Files
Objects and DSL script
Return objects
Alter objects,
prepare result
DSL
my DSL
• Internal v/s external
• If External
• Creating custom parser, compilers
• Leverage existing scripting languages
Demo
• External DSL
• PowerShell as DSL scripting language
• Inbuilt in Windows vista onwards
• Pipeling support which helps to write less
Cons
• Pros
• Easy customization / extensibility.
• Relief from frequent requirement changes.
• Cons
• Performance
• Maintenance overhead, if its external own DSL
• No auto completion
PowerShell as DSL in .Net – References
http://martinfowler.com/books/dsl.html
http://joymonscode.blogspot.in/2013/01/what-is-
domain-specific-language-dsl-in.html
http://joymonscode.blogspot.in/2013/01/dsl-demo-
first-c-application-which-uses.html
DSLs in Action by Debasish Ghosh
Are you ready to try DSL in your
project ?
& A
Thank You
Joy George K
Jr.Architect, Orion India Systems
www.joymononline.in
joymon@gmail.com

More Related Content

What's hot (19)

PPTX
Translating software with SDL Passolo
SDL Trados
 
PPT
dot net final year project in jalandhar
deepikakaler1
 
PPTX
Translating software with SDL Passolo?
Loctimize GmbH
 
PPT
Linq presentation by vaidhesh
Vaidheswaran CS
 
PPT
Net Framework overview
MohitKumar1985
 
PPT
.Net framework
sanya6900
 
PPT
.Net overview
madydud
 
PPT
Evalution about programming language part 1
Synapseindiappsdevelopment
 
KEY
Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Dr. Jan Köhnlein
 
PDF
The Spoofax Language Workbench (SPLASH 2010)
lennartkats
 
PPT
Modified.net overview
Faisal Aziz
 
PPTX
What is dotnet (.NET) ?
Talha Shahzad
 
PPTX
Microsoft for developers open source and cross platform
Julie Lerman
 
PPTX
Translate word press to your language
mbigul
 
PPTX
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
NETFest
 
PPT
.Net overview
teach4uin
 
KEY
Language Engineering in the Cloud
lennartkats
 
PPTX
What's DSL and what isn't
Leandro Parazito
 
Translating software with SDL Passolo
SDL Trados
 
dot net final year project in jalandhar
deepikakaler1
 
Translating software with SDL Passolo?
Loctimize GmbH
 
Linq presentation by vaidhesh
Vaidheswaran CS
 
Net Framework overview
MohitKumar1985
 
.Net framework
sanya6900
 
.Net overview
madydud
 
Evalution about programming language part 1
Synapseindiappsdevelopment
 
Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Dr. Jan Köhnlein
 
The Spoofax Language Workbench (SPLASH 2010)
lennartkats
 
Modified.net overview
Faisal Aziz
 
What is dotnet (.NET) ?
Talha Shahzad
 
Microsoft for developers open source and cross platform
Julie Lerman
 
Translate word press to your language
mbigul
 
.NET Fest 2019. Алексей Голуб. Монадные парсер-комбинаторы в C# (простой спос...
NETFest
 
.Net overview
teach4uin
 
Language Engineering in the Cloud
lennartkats
 
What's DSL and what isn't
Leandro Parazito
 

Viewers also liked (14)

PPTX
Trignano, linda 2013 apics 093013
Linda Trignano
 
PPT
恬淡淳樸的黔婁
chen
 
PDF
APICS_FullMag Trignano 02 2014
Linda Trignano
 
PPTX
Trignano communicate with impact for pmp 3 24_10
Linda Trignano
 
PPT
Christina Brian Chloe Global08
guest6e03e4
 
PPT
Christina-Chloe-Brian-period5
guest6e03e4
 
PPTX
Trignano communicate with impact for pmp 3 24_10
Linda Trignano
 
PPTX
API Design - developing for developers
Joy George
 
PPT
Enterprise2.0 and Collaborative Intranet Portals
Joseph A. Bayer
 
PPTX
Programming for daily life - introduction
Joy George
 
PPT
Kh Web2 Pres
Joseph A. Bayer
 
PPT
Union Web2.0 adoption in insurance
Joseph A. Bayer
 
PDF
Pf Salesv5
Joseph A. Bayer
 
PPTX
Business opportunities in social media
Joseph A. Bayer
 
Trignano, linda 2013 apics 093013
Linda Trignano
 
恬淡淳樸的黔婁
chen
 
APICS_FullMag Trignano 02 2014
Linda Trignano
 
Trignano communicate with impact for pmp 3 24_10
Linda Trignano
 
Christina Brian Chloe Global08
guest6e03e4
 
Christina-Chloe-Brian-period5
guest6e03e4
 
Trignano communicate with impact for pmp 3 24_10
Linda Trignano
 
API Design - developing for developers
Joy George
 
Enterprise2.0 and Collaborative Intranet Portals
Joseph A. Bayer
 
Programming for daily life - introduction
Joy George
 
Kh Web2 Pres
Joseph A. Bayer
 
Union Web2.0 adoption in insurance
Joseph A. Bayer
 
Pf Salesv5
Joseph A. Bayer
 
Business opportunities in social media
Joseph A. Bayer
 
Ad

Recently uploaded (20)

PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Ad

Using PowerShell as DSL in .Net applications

  • 1. Using PowerShell as DSL in .Net applications Joy George K Jr.Architect, Orion India Systems www.joymononline.in , [email protected]
  • 2. PowerShell as DSL in .Net– What is DSL? A computer language that's targeted to A particular kind of problem, rather than A general purpose language that's aimed at any kind of software problem. Domain specific languages have been talked about, and used for almost as long as computing has been done. Martin fowler
  • 3. DSL • Excel macros • SQL • CSS • RegEx • .Bat files
  • 4. needed? • Make the users as programmers. • Tackle ever changing requirements • Easy maintainability • Extensibility ? • …
  • 5. External • Internal • Uses existing special language constructs to achieve • Fluid API • eg : Linq (entries.Where(e => e.Approved) .OrderBy(e => e.Rating) .FirstOrDefault()) • External • Uses different language • Special parsers
  • 6. Arch DSL EngineCore app Files Objects and DSL script Return objects Alter objects, prepare result DSL
  • 7. my DSL • Internal v/s external • If External • Creating custom parser, compilers • Leverage existing scripting languages
  • 8. Demo • External DSL • PowerShell as DSL scripting language • Inbuilt in Windows vista onwards • Pipeling support which helps to write less
  • 9. Cons • Pros • Easy customization / extensibility. • Relief from frequent requirement changes. • Cons • Performance • Maintenance overhead, if its external own DSL • No auto completion
  • 10. PowerShell as DSL in .Net – References http://martinfowler.com/books/dsl.html http://joymonscode.blogspot.in/2013/01/what-is- domain-specific-language-dsl-in.html http://joymonscode.blogspot.in/2013/01/dsl-demo- first-c-application-which-uses.html DSLs in Action by Debasish Ghosh
  • 11. Are you ready to try DSL in your project ? & A
  • 12. Thank You Joy George K Jr.Architect, Orion India Systems www.joymononline.in [email protected]