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
Past, Present, and Future: The Evolution of PHP Development. Nate Abele
Search
fwdays
November 18, 2014
Programming
0
670
Past, Present, and Future: The Evolution of PHP Development. Nate Abele
fwdays
November 18, 2014
Tweet
Share
More Decks by fwdays
See All by fwdays
Symfony best practices и не только Олег Зинченко
fwdays
0
1.9k
Beyond Testing Михаил Боднарчук
fwdays
0
660
Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун
fwdays
0
1.7k
Laravel 4: простота во всем. Евгений Косинский
fwdays
0
870
Маленькая библиотека для большой компании. Антон Шевчук
fwdays
0
3.7k
Phalcon. Что нового? Александр Торош
fwdays
0
970
Выбираем поисковик умом головы. Андрей Аксенов
fwdays
0
1.2k
Функциональный тулчейн Nix
fwdays
1
380
N2O самый мощный Erlang Web Framework
fwdays
0
4.2k
Other Decks in Programming
See All in Programming
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
980
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
910
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
hacarus
0
340
Micro Frontends for Java Microservices - Utah JUG 2024
mraible
PRO
1
110
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
890
WebGLで始める コンピュータグラフィックス入門
heller77
0
270
Hanami and htmx
bkuhlmann
0
230
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
200
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
520
使ってみよう Azure AI Document Intelligence
kosmosebi
2
360
Documentation for users with AsciiDoc and Antora
ahus1
0
370
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Why Our Code Smells
bkeepers
PRO
331
56k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Designing the Hi-DPI Web
ddemaree
276
33k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
Into the Great Unknown - MozCon
thekraken
15
1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
A Tale of Four Properties
chriscoyier
152
22k
RailsConf 2023
tenderlove
9
560
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.4k
Transcript
Past, Present, and Future The Evolution of PHP Development November
15th — Kyiv, Ukraine Nate Abele Radify, Inc @nateabele
[email protected]
The Vanity Slide • Former lead developer, CakePHP • Founder,
Li3 (a.k.a. Lithium) • Member, AngularUI team • Lead Developer, AngularUI Router • Architect-in-Chief, Radify • Highly opinionated, sometimes right • @nateabele /
[email protected]
Consulting · Training · Development http://radify.io
“It’s difficult to make predictions, especially about the future.” —
Niels Bohr
“Americans have no past and no future. They live in
an extended present.” — Alexis de Tocqueville
“Americans have no past and no future. They live in
an extended present.” — Alexis de Tocqueville Programmers
Why study the past?
2000 — 2004 • Smarty • PEAR • Web Application
Component Toolkit
2005 — 2008 • CakePHP • …etc.
2009 — 2012 • Li3 (Lithium) • Symfony 2 /
Symfony Components • Composer / Packagist
2011 — 2013 • AngularJS • EmberJS • BackboneJS •
etc.
2013 — 2014 • HackLang • ReactPHP / Ratchet
Trends • Real-time • Mobile • Apps: mobile + web
+ desktop • More all the things
Back to basics
Back to basics • What makes PHP great? • How
do we do our jobs?
PHP • Simple, get moving quickly • Large community /
talent pool • Mature, good resources • Many high-quality tools
Our Jobs http://blog.ircmaxell.com/search/label/Beyond
Our Jobs Data Data Data Data Data UI UI UI
UI UI
Our Jobs Data Data Data Data Data UI UI UI
UI UI PHP
Our Jobs Data Data Data Data Data UI UI UI
UI UI PHP
Our Jobs Data Data Data Data Data UI UI UI
UI UI PHP
Architecture vs. Engineering
How should we code? • One part of one problem
How should we code? • One part of one problem
• Composable • Clean boundaries
https://destroyallsoftware.com/talks/boundaries
Frameworks?
https://www.youtube.com/watch?v=WpkDN78P884
• Libraries • Design conventions Frameworks?
• Libraries • Design conventions Frameworks?
Where to go from here? • Better tools for working
efficiently with large datasets • Better tools for designing hypermedia systems • Functional programming concepts
Thanks! •
[email protected]
• @nateabele
Bonus
Programming is not math!?!?
x2 + 10x = 39 vs. http://worrydream.com/MediaForThinkingTheUnthinkable/ Programming is not
math!?!?
“Language is a user interface for ideas.”
Writing unit tests sucks
Set Theory: Domains { Set } => f(x) => {
Domain }
Set Theory: Domains { Internet } => OpenSSL(x) => {
… … }
Set Theory: Domains { Internet } => Bash(x) => {
… … }
Thanks! •
[email protected]
• @nateabele