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 better PHP Developer
Search
Sebastian
June 05, 2017
Technology
0
76
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
8
LiveBook all the things
sgoettschkes
0
22
Bullseye: An introduction to Dart
sgoettschkes
1
120
Reallife experience with Dart
sgoettschkes
0
86
Level up your Bot with Watson
sgoettschkes
0
74
Bullseye - An introduction to Dart
sgoettschkes
1
660
Let's automate stuff with Ansible
sgoettschkes
0
230
Let's automate stuff with Ansible
sgoettschkes
1
230
Building cllctr
sgoettschkes
0
82
Other Decks in Technology
See All in Technology
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
4
440
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
2.8k
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
170
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
310
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.5k
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
270
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
360
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
810
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
780
VS CodeでAWSを操作しよう
smt7174
8
1.7k
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
In The Pink: A Labor of Love
frogandcode
138
21k
Building an army of robots
kneath
300
41k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
121
39k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
Atom: Resistance is Futile
akmur
259
25k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
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