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
190
0
Share
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
110
LiveBook all the things
sgoettschkes
0
130
Bullseye: An introduction to Dart
sgoettschkes
1
240
Reallife experience with Dart
sgoettschkes
0
130
Level up your Bot with Watson
sgoettschkes
0
160
Bullseye - An introduction to Dart
sgoettschkes
1
770
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
需要創出(Chatwork)×供給(BPaaS) フライホイールとMoat 実行能力の最適配置とAI戦略
kubell_hr
0
1.9k
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
5
3.5k
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
450
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
190
Shipping AI Agents — Lessons from Production
vvatanabe
0
320
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
240
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
3
700
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
280
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
210
AI活用時代の事業判断高度化を導くエンジニアリング基盤 / 20260424 Atsushi Funahashi
shift_evolve
PRO
2
130
ファインディの事業拡大を支える 拡張可能なデータ基盤へのリアーキテクチャ
hiracky16
0
820
Oracle Cloud Infrastructure:2026年4月度サービス・アップデート
oracle4engineer
PRO
0
290
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
130
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
160
Navigating Weather and Climate Data
rabernat
0
180
RailsConf 2023
tenderlove
30
1.4k
ラッコキーワード サービス紹介資料
rakko
1
3.2M
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
How to Ace a Technical Interview
jacobian
281
24k
Mobile First: as difficult as doing things right
swwweet
225
10k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
HDC tutorial
michielstock
2
650
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