How learning
Python/Dart/Clojure made me a
better PHP Developer
ViennaPHP May 2017
@Sgoettschkes
https://stocksnap.io/photo/LTB7BB80VH
Slide 2
Slide 2 text
CODE
Slide 3
Slide 3 text
CODE
(Almost)
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
A developer is born
Slide 6
Slide 6 text
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
Slide 7
Slide 7 text
A developer is born
Slide 8
Slide 8 text
A developer is born
Slide 9
Slide 9 text
A developer is born
Slide 10
Slide 10 text
A developer is born
Slide 11
Slide 11 text
Let’s talk languages
Slide 12
Slide 12 text
PHP from the outside
● Javas little brother
● Death by boilerplate
Slide 13
Slide 13 text
JS from the outside
● Callback hell
● Many solutions to one problem
● So many small
libraries
Slide 14
Slide 14 text
Python from the outside
● Getting things done
● BIG libraries/frameworks
Slide 15
Slide 15 text
Dart from the outside
● Modern (built from scratch)
● Async by default
● Small ecosystem
Slide 16
Slide 16 text
Clojure from the outside
● Done is better than perfect
● First “useable” functional language for me
● Libraries, not frameworks
Slide 17
Slide 17 text
Learn from each other
Slide 18
Slide 18 text
Learn from Python
Readability:
if variable is not null:
doSomething()
else:
doSomethingElse()
Slide 19
Slide 19 text
Learn from Python
Readability:
with open(file.txt', 'w') as file:
file.write(Hello ViennaPHP!')
Slide 20
Slide 20 text
Make common tasks easy:
// Constructor
ClassName(this.var1, this.var2);
Learn from Dart
Slide 21
Slide 21 text
Make common tasks easy:
// Implicit getters/setters
print(obj.var1); //this is not a public
property
Learn from Dart
Slide 22
Slide 22 text
Learn from Clojure
Immutability:
var1 = 15;
var1++;