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
·
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
150
Bullseye: An introduction to Dart
sgoettschkes
1
260
Reallife experience with Dart
sgoettschkes
0
140
Level up your Bot with Watson
sgoettschkes
0
180
Bullseye - An introduction to Dart
sgoettschkes
1
790
Let's automate stuff with Ansible
sgoettschkes
0
480
Let's automate stuff with Ansible
sgoettschkes
1
490
Building cllctr
sgoettschkes
0
210
Other Decks in Technology
See All in Technology
AIに狂うスタートアップが、あえて「人との協働」に全振りした新卒エンジニア研修 / New Graduate Engineer Training at a Startup Accelerating AI Adoption
ohnoeight
0
180
:syncing_time:
sksat
2
330
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
170
FDEの心得
noriakioji
5
6.4k
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
240
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
140
My broken English still works: speaking at global OSS events
naruoga
0
120
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
230
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
480
フィジカルAIの知識ゼロの僕でも AIを使えばここまでできた
tatsuya1970
0
130
AIで変わるエンジニアの働き方(仮)
naoinaoi
0
380
RelayerというPHPのフレームワークを作った
polidog
PRO
0
110
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
520
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
280
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
A Soul's Torment
seathinner
6
3.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Speed Design
sergeychernyshev
33
2k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
800
A better future with KSS
kneath
240
18k
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