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
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
180
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
VS Code × GitHub Copilot での Fabric 開発
ryomaru0825
1
220
サーバーフルコンピューティング?AWS Lambda
iwatatomoya
0
130
GitHub Agentic Workflows を触ってみる
htkym
2
920
[2026 Oracle Technical Deep Dive] オンプレミスDBのCloud移行アプローチ:移行計画に基づくメソッドとツールの選択 (2026年9月17日開催)
oracle4engineer
PRO
0
110
20260930_Gemma4_Hands-on
tsho
0
210
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
110
企業の現実世界をグラフで写し取る
sansantech
PRO
0
240
Meet AgentCore Identity Consent Portal
hironobuiga
3
160
The kernel report
ennael
PRO
1
200
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
190
Incremental HTTP
kazuho
5
2k
「とりあえず動く」の先へ。 AI時代のチーム開発と内部設計/2026-slsdays
slsops
0
110
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
340
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Mind Mapping
helmedeiros
1
390
Code Reviewing Like a Champion
maltzj
528
40k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
350
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
520
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
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