really 
really 
really 
really 
really 
awesome 
application
#codemotion @liuggio 
really 
awesome 
application 
in 2014
I’m @liuggio 
a < ? p h p programmer 
awesome application #codemotion @liuggio
Language design is hard … 
the most famous computer scientists 
are also language designers. 
BUT none of them ever worked on PHP 
-- codinghorror 
awesome application #codemotion @liuggio
7L.A3N8G0U.0AG0E0 S UresCultKs S 
Java sucks 
6.030.000 results 
Ruby sucks 
3.400.000 
results 
Python sucks 
awesome application #codemotion @liuggio
PHP SUCKS 
61.526.124 
TIMES 
awesome application #codemotion @liuggio
big gap between the 
community and the 
un-polite core-team 
WHY PHP 
SUCKS 
inconsistency 
lot-ot-underscore 
stream_get_line 
disk_free_space 
is_object 
mcal_day_of_week 
set_error_handler 
snmp_get_quick_print 
get_browser 
base64_encode 
image_type_to_mime_type 
msql_num_fields 
php_uname 
strip_tags 
bind_textdomain_codeset 
cal_to_jd 
str_rot13 
not real objects 
no-underscore 
readline 
diskfreespace 
isset 
jddayofweek 
setlocale 
snmpget 
getallheaders 
urlencode 
imagetypes 
mysql_numfields 
phpversion 
stripslashes 
bindtextdomain 
gregoriantojd 
strpos 
awesome application #codemotion @liuggio
LOT OF GREAT COMPANIES USES IT 
Facebook Wordpress 
awesome application #codemotion @liuggio
IS NOT THE OLD PLAIN-PHP 
THE ECOSYSTEM IS GREAT 
GIT COMPOSER SYMFONY2 
DDD/TDD/BDD PHP-FIG BEST PRACTICES 
awesome application #codemotion @liuggio
The best programming language 
will not save you 
to write horrible code. 
awesome application #codemotion @liuggio
Sufficiently talented coders 
can write great applications 
in terrible languages 
awesome application #codemotion @liuggio
really 
really 
really 
really 
really 
f**king 
awesome 
application
welcometothebundle.com @liuggio
really 
really 
really 
really 
really 
f**king 
awesome 
application
Coding is 10% of the job 
Communication and 
understanding 
Coffee and 
related . 
Read/Study 
awesome application #codemotion @liuggio
developer 
= 
worker with knowledge 
awesome application #codemotion @liuggio
talented developers 
- Modular code 
- Version Control System (git) 
- Eager: conferences/books/code 
- Use frameworks 
- Contribute famous projects code 
- Live in the open-source ecosystem 
- Favourite the discussion 
- Study design trends (DDD  BDD…?) 
- Live in a community, local user group 
- Test Driven Development 
awesome application #codemotion @liuggio
TDD 
FAIL REFACTOR PASS 
awesome application #codemotion @liuggio
Not talented Talented 
- Modular code 
- Version Control System (git) 
- Eager: conferences/books/code 
- Use frameworks 
- Contribute famous projects code 
- Live in the open-source ecosystem 
- Favourite the discussion 
- Study design trends (DDD  BDD…?) 
- Live in a community, local user group 
- Test Driven Development
Innovation fuel growth
TALENTED CODERS 
= 
Have a passion driven mindset 
&& 
Satisfy business with the best technology 
awesome application #codemotion @liuggio
awesome application #codemotion @liuggio
YOU 
BLACK HOLE
awesome application #codemotion @liuggio
$$ function 
awesome application #codemotion @liuggio
Domain model 
Use Case A 
Application 
presentation 
REST 
adapter 
Use Case B 
WEB SCRIPT 
ADAPTER-y 
awesome application #codemotion @liuggio
interfaces 
awesome application #codemotion @liuggio
Domain model 
Use Case A 
Application 
presentation 
REST 
adapter 
Use Case B 
WEB SCRIPT 
ADAPTER-y 
awesome application #codemotion @liuggio
awesome application #codemotion @liuggio
1 a new cycle 
Describe the 
behaviours for each 
`verb` and ‘noun’ 
Create the class 
and the public 
methods 
Write a business 
example 
Explode the example in 
lines 
Given/When/Then 
Discover and visualize 
`verbs`, `nouns` and 
behaviours 
2 
3 
4 5 
awesome application #codemotion @liuggio
FAIL
FAIL
Describe the 
behaviours for each 
`verb` and ‘noun’ 4
Create the class 
and the public 
methods 5
PASS 
awesome application #codemotion @liuggio
Domain model 
Application 
presentation 
Class EmitBill 
WEB 
WWW
The best programming language 
will not save you 
to write horrible code. 
awesome application #codemotion @liuggio
BUSINESS 
awesome application #codemotion @liuggio
be a passionate developer 
awesome application #codemotion @liuggio
Questions? 
ps: see the references I didn’t write any books (yet). 
awesome application #codemotion @liuggio

Awesome application in 2014

  • 1.
    really really really really really awesome application
  • 2.
    #codemotion @liuggio really awesome application in 2014
  • 3.
    I’m @liuggio a< ? p h p programmer awesome application #codemotion @liuggio
  • 4.
    Language design ishard … the most famous computer scientists are also language designers. BUT none of them ever worked on PHP -- codinghorror awesome application #codemotion @liuggio
  • 5.
    7L.A3N8G0U.0AG0E0 S UresCultKsS Java sucks 6.030.000 results Ruby sucks 3.400.000 results Python sucks awesome application #codemotion @liuggio
  • 6.
    PHP SUCKS 61.526.124 TIMES awesome application #codemotion @liuggio
  • 7.
    big gap betweenthe community and the un-polite core-team WHY PHP SUCKS inconsistency lot-ot-underscore stream_get_line disk_free_space is_object mcal_day_of_week set_error_handler snmp_get_quick_print get_browser base64_encode image_type_to_mime_type msql_num_fields php_uname strip_tags bind_textdomain_codeset cal_to_jd str_rot13 not real objects no-underscore readline diskfreespace isset jddayofweek setlocale snmpget getallheaders urlencode imagetypes mysql_numfields phpversion stripslashes bindtextdomain gregoriantojd strpos awesome application #codemotion @liuggio
  • 8.
    LOT OF GREATCOMPANIES USES IT Facebook Wordpress awesome application #codemotion @liuggio
  • 9.
    IS NOT THEOLD PLAIN-PHP THE ECOSYSTEM IS GREAT GIT COMPOSER SYMFONY2 DDD/TDD/BDD PHP-FIG BEST PRACTICES awesome application #codemotion @liuggio
  • 10.
    The best programminglanguage will not save you to write horrible code. awesome application #codemotion @liuggio
  • 11.
    Sufficiently talented coders can write great applications in terrible languages awesome application #codemotion @liuggio
  • 12.
    really really really really really f**king awesome application
  • 13.
  • 14.
    really really really really really f**king awesome application
  • 15.
    Coding is 10%of the job Communication and understanding Coffee and related . Read/Study awesome application #codemotion @liuggio
  • 16.
    developer = workerwith knowledge awesome application #codemotion @liuggio
  • 17.
    talented developers -Modular code - Version Control System (git) - Eager: conferences/books/code - Use frameworks - Contribute famous projects code - Live in the open-source ecosystem - Favourite the discussion - Study design trends (DDD BDD…?) - Live in a community, local user group - Test Driven Development awesome application #codemotion @liuggio
  • 18.
    TDD FAIL REFACTORPASS awesome application #codemotion @liuggio
  • 19.
    Not talented Talented - Modular code - Version Control System (git) - Eager: conferences/books/code - Use frameworks - Contribute famous projects code - Live in the open-source ecosystem - Favourite the discussion - Study design trends (DDD BDD…?) - Live in a community, local user group - Test Driven Development
  • 20.
  • 21.
    TALENTED CODERS = Have a passion driven mindset && Satisfy business with the best technology awesome application #codemotion @liuggio
  • 22.
  • 23.
  • 24.
  • 25.
    $$ function awesomeapplication #codemotion @liuggio
  • 26.
    Domain model UseCase A Application presentation REST adapter Use Case B WEB SCRIPT ADAPTER-y awesome application #codemotion @liuggio
  • 27.
    interfaces awesome application#codemotion @liuggio
  • 28.
    Domain model UseCase A Application presentation REST adapter Use Case B WEB SCRIPT ADAPTER-y awesome application #codemotion @liuggio
  • 29.
  • 30.
    1 a newcycle Describe the behaviours for each `verb` and ‘noun’ Create the class and the public methods Write a business example Explode the example in lines Given/When/Then Discover and visualize `verbs`, `nouns` and behaviours 2 3 4 5 awesome application #codemotion @liuggio
  • 31.
  • 32.
  • 33.
    Describe the behavioursfor each `verb` and ‘noun’ 4
  • 34.
    Create the class and the public methods 5
  • 35.
    PASS awesome application#codemotion @liuggio
  • 36.
    Domain model Application presentation Class EmitBill WEB WWW
  • 37.
    The best programminglanguage will not save you to write horrible code. awesome application #codemotion @liuggio
  • 38.
    BUSINESS awesome application#codemotion @liuggio
  • 39.
    be a passionatedeveloper awesome application #codemotion @liuggio
  • 40.
    Questions? ps: seethe references I didn’t write any books (yet). awesome application #codemotion @liuggio