Emacs, thanks to major and minor modes, can be transformed into a powerful specific development environment.
According to the kind of files you are editing (or a command you type), it can change and give you specific features that fit the need of a programming language (or a task like debugging, launching unit tests, …)
There are many Ruby developers who describe their setup around the web. Here are the most popular:
- The Emacs reboot series, by Avdi Grimm (Avdi is a famous ruby programmer and a great Emacs hacker)
- Setting up Emacs as Ruby development environment on OSX (even if it is for OSX, the packages remain the same on all OSes)
- Configuring Emacs as a productive development environment for Rails development
- The EmacsWiki on Ruby and RoR
Here are some resources about configuring Emacs for developing in Python:
C languages are very well handled by Emacs and it allows you to edit, debug and run programs with Emacs very easily, with all the control you want.
- C/C++ Development Environment for Emacs is a very complete article about this
- A various tips and packages for C language(s) on StackOverflow
- Setting up perfect environment for C/C++ Programming (according to its author. Good resource, though)
- Debugging with Emacs
- CEDET - Collection of Emacs Development Environment Tools An amazing collection of tools for developing in many programming languages, especially for C/C++
- How to configure CEDET
- If you develop in Go, you really should refer to the great Emacs for Go article, written by Yousef Ourabi.
- Another one, with videos, is written by Dominik Honnef: Writing Go in Emacs
PHP, along with all the web technologies (HTML/JS/CSS) are very well supported in Emacs. The PHP mode does almost all the work by itself.
- The EmacsWiki page about php-mode and other associated packages
- A list of useful packages for PHP - on StackOverflow
- An example setup for working on Drupal (but can be used for PHP in general)
- GEBEN - remote debugging environment for Emacs
- Web Mode - focused on web templates (HTML/JS/CSS)
Java development is held by Eclipse. But it is not the only editor/environment that allows you to develop in Java!
- JDEE - the Java Development Environment for Emacs
- The EmacsWiki article on JDEE
- A video demo of a full Java environment on Emacs
Emacs is very useful for scientists and people dealing with data. Statistics, analysis, plotting, … everything can be done within Emacs.
- An amazing paper on working with Emacs, OrgMode and R
- Emacs Speaks Statistics is a great project that adds a full statistics environment to your Emacs
- A tutorial on using ESS