Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How learning Python/Dart/Clojure made me a bett...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Sebastian
June 05, 2017
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How learning Python/Dart/Clojure made me a better PHP Developer
Sebastian
June 05, 2017
More Decks by Sebastian
See All by Sebastian
LiveView goes k6
sgoettschkes
0
120
LiveBook all the things
sgoettschkes
0
160
Bullseye: An introduction to Dart
sgoettschkes
1
270
Reallife experience with Dart
sgoettschkes
0
140
Level up your Bot with Watson
sgoettschkes
0
190
Bullseye - An introduction to Dart
sgoettschkes
1
800
Let's automate stuff with Ansible
sgoettschkes
0
490
Let's automate stuff with Ansible
sgoettschkes
1
500
Building cllctr
sgoettschkes
0
210
Other Decks in Technology
See All in Technology
sue445's proposals 2026
sue445
0
130
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
170
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
130
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
190
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
200
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
140
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
150
データエンジニアの次の戦場は "プロセスエンジニアリング"
sansantech
PRO
1
150
What Is JetBrains Air
x5gtrn
PRO
0
140
DevelopersIO 2026 Tokyo 現時点の衛星通信サービスの現状を整理してみる
maroon1st
0
170
LLM Content Moderationを支える評価・改善ループの実践
suikabar
2
300
freeeにおけるSoftware Factory
freee
PRO
0
280
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
How to Think Like a Performance Engineer
csswizardry
28
2.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Invisible Side of Design
smashingmag
301
52k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Building AI with AI
inesmontani
PRO
1
1.3k
We Have a Design System, Now What?
morganepeng
55
8.4k
Leo the Paperboy
mayatellez
10
2.4k
Statistics for Hackers
jakevdp
799
230k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
First, design no harm
axbom
PRO
2
1.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
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