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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Sebastian
June 05, 2017
Technology
0
180
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
100
LiveBook all the things
sgoettschkes
0
120
Bullseye: An introduction to Dart
sgoettschkes
1
230
Reallife experience with Dart
sgoettschkes
0
130
Level up your Bot with Watson
sgoettschkes
0
150
Bullseye - An introduction to Dart
sgoettschkes
1
760
Let's automate stuff with Ansible
sgoettschkes
0
470
Let's automate stuff with Ansible
sgoettschkes
1
470
Building cllctr
sgoettschkes
0
190
Other Decks in Technology
See All in Technology
Phase07_実務適用
overflowinc
0
1.6k
スピンアウト講座02_ファイル管理
overflowinc
0
1.1k
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
750
君はジョシュアツリーを知っているか?名前をつけて事象を正しく認識しよう / Do you know Joshua Tree?
ykanoh
3
110
Phase06_ClaudeCode実践
overflowinc
0
1.7k
めちゃくちゃ開発するQAエンジニアになって感じたメリットとこれからの課題感
ryuhei0000yamamoto
0
270
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
2
1.2k
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.2k
Kiro Meetup #7 Kiro アップデート (2025/12/15〜2026/3/20)
katzueno
2
240
大規模ECサイトのあるバッチのパフォーマンスを改善するために僕たちのチームがしてきたこと
panda_program
1
370
AIエージェント×GitHubで実現するQAナレッジの資産化と業務活用 / QA Knowledge as Assets with AI Agents & GitHub
tknw_hitsuji
0
180
Goのerror型がシンプルであることの恩恵について理解する
yamatai1212
1
300
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
650
Navigating Weather and Climate Data
rabernat
0
140
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Music & Morning Musume
bryan
47
7.1k
Paper Plane
katiecoart
PRO
0
48k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
52k
New Earth Scene 8
popppiees
1
1.8k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
460
Git: the NoSQL Database
bkeepers
PRO
432
67k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
300
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