Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
How learning Python/Dart/Clojure made me a better PHP Developer
Sebastian
June 05, 2017
Technology
0
61
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
LiveBook all the things
sgoettschkes
0
2
Bullseye: An introduction to Dart
sgoettschkes
1
100
Reallife experience with Dart
sgoettschkes
0
71
Level up your Bot with Watson
sgoettschkes
0
56
Bullseye - An introduction to Dart
sgoettschkes
1
620
Let's automate stuff with Ansible
sgoettschkes
0
180
Let's automate stuff with Ansible
sgoettschkes
1
200
Building cllctr
sgoettschkes
0
38
Vagrant and Ansible: A love story
sgoettschkes
3
1.4k
Other Decks in Technology
See All in Technology
MySQL v5.7 勉強会/study-mysql-ver-5-7
andpad
0
2k
2022 COSCUP - GKE Backend Cluster 除雷分享
brentchang
0
120
Amplifyで Webアプリケーションの 堅固な土台をサクッと構築する方法
kawasakiteruo
0
220
ECS Exec を使った ECS の トラブルシューティング
dohara
0
110
CityGMLとFBXの連携で地理空間のエンタメ化
soh_mitian
0
720
JAWS-UG 朝会 #36 登壇資料
takakuni
1
550
Goで実装するブランドネットワークとの接続ポイント
pongzu
2
270
Step-by-Step MLOps and Microsoft Products
shisyu_gaku
1
550
ぼくらが選んだ次のMySQL 8.0 / MySQL80 Which We Choose
line_developers
PRO
7
2.9k
Continuous Architecture Design for Modernization
humank
0
300
CloudWatchアラームによるサービス継続のための監視入門 / Introduction to Monitoring for Service Continuity with CloudWatch Alarms
inomasosan
1
420
ここが好きだよAWS管理ポリシー_devio2022/i_am_iam_lover
yukihirochiba
0
3.1k
Featured
See All Featured
Six Lessons from altMBA
skipperchong
14
1.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_i
25
15k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
237
19k
Writing Fast Ruby
sferik
612
57k
Building a Scalable Design System with Sketch
lauravandoore
448
30k
YesSQL, Process and Tooling at Scale
rocio
157
12k
Embracing the Ebb and Flow
colly
73
3.4k
Bootstrapping a Software Product
garrettdimon
296
110k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
For a Future-Friendly Web
brad_frost
166
7.5k
GraphQLとの向き合い方2022年版
quramy
16
8.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
980
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