Documente Academic
Documente Profesional
Documente Cultură
KEY TRENDS
Alex Cowan
2015 COWAN+
2015 COWAN+
CLIENT
01
clients make
requests
SERVER
servers respond
to requests
02
2015 COWAN+
CREATING SOFTWARE
Writing Software Spending Money
Minimize Software Subject to User Experience
Corollary: If the software is really needed for any kind of scale,
its probably worth doing well
(since most cost accrues over the long run)
2015 COWAN+
SW Cost
Drivers
Amount of
Custom
Software
Ops.
Availability of documentation/notes
Quality of configuration and logging facilities
2015 COWAN+
SW Cost
Drivers
Amount of
Custom
Software
QA
Min(SW)
s.t. UX
Ops.
Availability of documentation/notes
Quality of configuration and logging facilities
2015 COWAN+
2015 COWAN+
ROLES
Inputs: User stories, wireframes, etc.
Outputs: Software design &
implementation
DEV
QA
Inputs: Validated software, notes
Outputs: Working systems, monitoring &
analytics thereof
OPS
2015 COWAN+
ROLES
DEVOPS
DEV
QA
OPS
2015 COWAN+
HELPER PACKAGES
{libraries with helper functions}
FOUNDATION PACKAGES
{Java, PHP, Ruby on Rails...}
OPERATING SYSTEM
{Linux, Unix, MSFT Server...}
HARDWARE
{Storage, CPU, Memory...}
2015 COWAN+
HELPER PACKAGES
{libraries with helper functions}
FOUNDATION PACKAGES
{Java, PHP, Ruby on Rails...}
OPERATING SYSTEM
{Linux, Unix, MSFT Server...}
HARDWARE
{Storage, CPU, Memory...}
2015 COWAN+
YOUR SOFTWARE
{technology you are developing}
HELPER PACKAGES
{libraries with helper functions}
FOUNDATION PACKAGES
{Java, PHP, Ruby on Rails...}
OPERATING SYSTEM
{Linux, Unix, MSFT Server...}
HARDWARE
{Storage, CPU, Memory...}
2015 COWAN+
(various plug-ins)
Wordpress
HELPER PACKAGES
{libraries with helper functions}
FOUNDATION PACKAGES
PHP
OPERATING SYSTEM
WP Engine
Platform
HARDWARE
{Storage, CPU, Memory...}
2015 COWAN+
2015 COWAN+
2015 COWAN+
JAVASCRIPT
Origin
Tool to enhance web pages introduced by Netscape Communications (1995).
Popular For
- Creating Dynamic Web Pages
- General programming (resurgence of server side JS: node.js, etc.)
Notable Catalysts
- Prevalence & importance of web applications
- Fungibility of resources and desire for full(er) stack developer roles
2015 COWAN+
2015 COWAN+
JAVA
Origin
General purpose language with write once, run anywhere feature introduced by Sun
Microsystems (1995).
Popular For
- Enterprise Applications + Lots of Other Misc. Apps
- Android Apps
Notable Catalysts
- Use in Android Development
2015 COWAN+
2015 COWAN+
Popular For
- Web Applications + Lots of Other Misc. Apps
Notable Catalysts
- Scaling Issues with Performance & Heuristics (see bit.ly/ohruby)
- Sponsorship
2015 COWAN+
2015 COWAN+
PHP
Origin
Set of tools created by Rasmus Lerdorf (1995).
"I dont know how to stop it, there was never any intent to write a programming
language [] I have absolutely no idea how to write a programming language, I just
kept adding the next logical step on the way."
Popular For
- Web Applications + Lots of Other Misc. Apps
Notable Catalysts
- Push for formal specification
2015 COWAN+
2015 COWAN+
Python
Origin
Guido van Rossum (1991).
I was looking for a "hobby" programming project that would keep me occupied during
the week around Christmas I decided to write an interpreter for the new scripting
language I had been thinking about lately
Popular For
- General Purpose (Popular for Integration Tasks)
2015 COWAN+
2015 COWAN+
C
Origin
Developed by Dennis Ritchie at Bell Labs and initially used to re-implement Unix
(1972).
Popular For
- High Performance Projects like Operating Systems & Embedded Systems
Notable Catalysts
- Use of C concepts by later languages (C++, C#, Objective C)
- Use as building block in higher-level languages (Python, Perl, PHP)
2015 COWAN+
2015 COWAN+
C++
Origin
Developed by Bjarne Stroustrup to create abstractions for C (1983).
Popular For
- High Performance Projects
2015 COWAN+
2015 COWAN+
C#
Origin
Developed by Microsoft as object-oriented language for the .NET framework (2000).
Popular For
- .NET programming
2015 COWAN+
2015 COWAN+
Popular For
- OSX and iOS programming
Notable Catalysts
- Introduction of Swift
2015 COWAN+
PAGE CONTEST!
Category 1: User Interaction
Be prepared to discuss: Persona, user stories, possibly storyboard
2015 COWAN+