Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DSL Lightning talk
Search
DAloG
September 17, 2014
Programming
0
85
DSL Lightning talk
Short intro into DSL in Objective-C
DAloG
September 17, 2014
Tweet
Share
More Decks by DAloG
See All by DAloG
State normalization (RU)
dalog
0
160
Redux + MQTT
dalog
1
750
От задач к проблемам
dalog
1
210
Unlimited power of Data-Driven UI
dalog
4
600
Data-Driven View Controllers. Tips and Tricks
dalog
5
1.8k
2 years of Redux in iOS. Lessons learned
dalog
0
330
Why unidirectional architecture matter for iOS.
dalog
1
260
Mobile backend without REST
dalog
2
83
Self managed teams 101
dalog
0
130
Other Decks in Programming
See All in Programming
as(型アサーション)を書く前にできること
marokanatani
10
2.6k
cmp.Or に感動した
otakakot
2
150
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
210
Outline View in SwiftUI
1024jp
1
330
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
120
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
860
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
CSC509 Lecture 11
javiergs
PRO
0
180
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
For a Future-Friendly Web
brad_frost
175
9.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
KATA
mclloyd
29
14k
Become a Pro
speakerdeck
PRO
25
5k
Agile that works and the tools we love
rasmusluckow
327
21k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
860
Designing for humans not robots
tammielis
250
25k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Music & Morning Musume
bryan
46
6.2k
Transcript
DSL Практика создания и использования Алексей Демедецкий - 2014
История вопроса • Языки низкого уровня (C, C++, Prolog) •
Появление платформ (Java, .NET) • Развитие возможностей языков (Scala, Ruby) • Развитие инструментария (Clang) • Новая волна языков (D, Rust)
Примеры и приемы
Nocilla https://github.com/luisobo/Nocilla
Transformer https://github.com/schwa/Transformer-DSL
CoreData https://github.com/kpbode/CoreDataDSL
Parus https://github.com/DAlOG/Parus
Sensus
NSPredicate builder
Основные приемы • Парсинг строк • «Цепные блоки» • Препроцессор
• Фальшивый суперкласс
Основные приемы
Преимущества • Выразительность • Раннее определение ошибок • Ограниченность языка
• Авто дополнение
Недостатки • Высокий порог входа • Узкий коридор изменений •
Сложность написания • Низкое КПД усилий.
Выводы
Вопросы? https://speakerdeck.com/dalog/dsl-lightning-talk Skype: nobidon Twitter: DAlooG