Web development is a subset of software development that focuses on client and server programming for web applications. Likewise, a web developer is a software developer who specializes in the skills required for building web applications.
Web development can be complicated due to multiple server platforms, varying clients, and the web's stateless nature. Web development is simplified with open standards, multi-platform programming languages, and web application frameworks.
A variety of related programming languages, techniques, and software are utilized for web development. While it's possible for a programmer to focus exclusively on one language or narrow aspect of web development, more often multiple languages and techniques are studied and used. Focusing on one language or tier (e.g. back-end, front-end, middleware) lets a developer specialize and can be useful in large, robust systems. Learning the technologies at every tier of a web application gives a developer a better understanding of every aspect of the system and makes them much more versatile for a variety of projects.
Technically any programming language which supports streaming text input and output can be used for the server side of web development (e.g. through CGI). A subset of languages have grown particularly popular for building web applications:
- Java is especially popular in enterprise web development. It's well suited for organized disparate teams, multiple server environments, and integration with other enterprise systems.
- Perl is a scripting language which is very efficient at text processing. It was one of the first programming languages used to make web sites dynamic.
- PHP was specifically built for the web, originally for small scripting tasks. It now supports both functional and object-oriented development. A variety of frameworks are available.
- Python is a versatile dynamic language. It's modularity and speed are well suited for web development.
- SQL for relational database interaction
Other languages and document types are fundamental to the client side of web development:
- CSS for client site styles / design
- HTML in general, and more recently HTML5, for browser presentation
- JSON and XML for transmitting data
Web developers also benefit from a deep knowledge of a variety of other technologies:
- HTTP is the underlying protocol for all web applications.
- Web application frameworks
- Web application/Caching
- Web application/Security
- Web sockets
 Best Practices
In addition to basic programming best practices, web development has grown it's own set of commonly accepted preferred ways of doing things.
- Since web applications are available over a network, special security considerations must be made. Publicly accessible internet web applications, in particular, can be attacked from many different vectors.
- Users expect web pages to load in less than a few seconds. A variety of performance techniques can be used to keep page load time down.