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
How learning Python/Dart/Clojure made me a bett...
Search
Sebastian
June 05, 2017
Technology
0
140
How learning Python/Dart/Clojure made me a better PHP Developer
Sebastian
June 05, 2017
Tweet
Share
More Decks by Sebastian
See All by Sebastian
LiveView goes k6
sgoettschkes
0
64
LiveBook all the things
sgoettschkes
0
78
Bullseye: An introduction to Dart
sgoettschkes
1
180
Reallife experience with Dart
sgoettschkes
0
100
Level up your Bot with Watson
sgoettschkes
0
110
Bullseye - An introduction to Dart
sgoettschkes
1
720
Let's automate stuff with Ansible
sgoettschkes
0
370
Let's automate stuff with Ansible
sgoettschkes
1
370
Building cllctr
sgoettschkes
0
140
Other Decks in Technology
See All in Technology
impressions-trying-lambda-web-adapter
junkishigaki
2
130
GoogleのAI Agent
shukob
0
190
コードの考古学 〜労務システムから発掘した成長の糧〜
kenta_smarthr
1
1.4k
データ戦略部門 紹介資料
sansan33
PRO
1
3.1k
CSS polyfill とその未来
ken7253
0
150
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
TypeScript をより型安全に扱うプラクティス #TSKaigi #TSKaigi2025_kataritai
bengo4com
0
2.1k
Java で学ぶ 代数的データ型
ysknsid25
2
1.1k
Javaアプリケーションの配布とパッケージング / Distribution and packaging of Java applications
hogelog
2
490
從開發到架構設計的可觀測性實踐
philipz
0
170
DevOpsDays Taipei 2025 -- Creating Awesome Change in SmartNews!
martin_lover
0
190
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
46
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
900
It's Worth the Effort
3n
184
28k
How to Think Like a Performance Engineer
csswizardry
24
1.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
What's in a price? How to price your products and services
michaelherold
245
12k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Designing for Performance
lara
608
69k
Building an army of robots
kneath
306
45k
Transcript
How learning Python/Dart/Clojure made me a better PHP Developer ViennaPHP
May 2017 @Sgoettschkes https://stocksnap.io/photo/LTB7BB80VH
CODE
CODE (Almost)
None
A developer is born
A developer is born 1. Write crappy PHP “webapp” 2.
Make every mistake possible, including wiping production data without a backup 3. Learn Java 4. Write better PHP
A developer is born <?php // login.php require_once(‘header.php’); // ...
some php ?> <!-- some HTML --> <?php require_once(footer.php’); ?>
A developer is born
A developer is born
A developer is born
Let’s talk languages
PHP from the outside • Javas little brother • Death
by boilerplate
JS from the outside • Callback hell • Many solutions
to one problem • So many small libraries
Python from the outside • Getting things done • BIG
libraries/frameworks
Dart from the outside • Modern (built from scratch) •
Async by default • Small ecosystem
Clojure from the outside • Done is better than perfect
• First “useable” functional language for me • Libraries, not frameworks
Learn from each other
Learn from Python Readability: if variable is not null: doSomething()
else: doSomethingElse()
Learn from Python Readability: with open(file.txt', 'w') as file: file.write(Hello
ViennaPHP!')
Make common tasks easy: // Constructor ClassName(this.var1, this.var2); Learn from
Dart
Make common tasks easy: // Implicit getters/setters print(obj.var1); //this is
not a public property Learn from Dart
Learn from Clojure Immutability: var1 = 15; var1++;
Learn from Clojure Composability: (defn function1 [var1 var2] (str var1
″ - ″ var2))
Learn from Clojure Composability: (defn function2 [var1] (println (function1 ″DEBUG″
var1)))
Learn from Clojure Syntax doesn’t matter: (defn function2 [var1] (println
(function [] {:var1 (function2)})))
Not only languages • Infrastructure (vagrant / docker) • Architecture
(Microservices) • Methodology (Agile/Scrum/Kanban) • ...
Let’s GO Start a pet project
Let’s GO Contribute to Open Source
Let’s GO Use something new for a small project
Let’s GO Small steps get you closer to your goal
None
https://www.dropbox.com/s/6z5aiwa8l09g2pa/86H.jpg