There are many operating systems and IDEs. I will cover my favorites briefly.
Installing Scala on Ubuntu (10.04 LTS)
sudo apt-get install scala
wget http://www.scala-lang.org/downloads/distrib/files/scala-2.8.1.final.tgz
sudo tar -C /opt/ -xvzf scala-2.8.1.final.tgz
PATH="$PATH:/opt/scala-2.8.1.final/bin"
Now re-start your shell.
scala -version
Reference:
http://tipstank.com/2010/11/26/install-scala-on-ubuntu/
Installing Scala on Mac (10.6.5)
First of all: Install MacPorts.
sudo port install scala28
and then
for n in $(ls /opt/local/bin/scala*); do sudo ln -s $n /usr/local/bin/$(echo $n | sed -n -e 's/.*\/\(.*\)-.*/\1/p'); done
Reference:
http://www.feastforeyes.com/2010/08/installing-scala-on-mac/
Installing the Eclipse Plug-in
Go to http://www.scala-ide.org/ and get the “Update Site” URL. Open your Eclipse IDE, click on the “Help” menu, select the “Install new Software” item and paste the URL. Then select the plug-in and install. (this process can look a bit different depending on the Eclipse IDE version that you use – I tried it with Eclipse for Java EE Helios). The Eclipse plug-in seems to be somewhat buggy, though…
Installing the TextMate Bundle and Plug-in
1. Download the Scala bundle and install it:
git clone git://github.com/mads379/scala.tmbundle.git
open scala.tmbundle
Add the SCALA_HOME variable in TextMate (Preferences > Advanced > Shell Variables).
Paste the following code into your ~/.ctags file
--langdef=scala
--langmap=scala:.scala
--regex-scala=/^[ \t]<em>class[ \t]+([a-zA-Z0-9_]+)/\1/c,classes/
--regex-scala=/^[ \t]</em>trait[ \t]+([a-zA-Z0-9<em>]+)/\1/t,traits/
--regex-scala=/^[ \t]*type[ \t]+([a-zA-Z0-9</em>]+)/\1/T,types/
--regex-scala=/^[ \t]<em>def[ \t]+([a-zA-Z0-9_\?]+)/\1/m,methods/
--regex-scala=/^[ \t]</em>val[ \t]+([a-zA-Z0-9<em>]+)/\1/C,constants/
--regex-scala=/^[ \t]*var[ \t]+([a-zA-Z0-9</em>]+)/\1/l,local variables/
--regex-scala=/^[ \t]<em>package[ \t]+([a-zA-Z0-9_.]+)/\1/p,packages/
--regex-scala=/^[ \t]</em>case class[ \t]+([a-zA-Z0-9<em>]+)/\1/c,case classes/
--regex-scala=/^[ \t]*final case class[ \t]+([a-zA-Z0-9</em>]+)/\1/c,case classes/
--regex-scala=/^[ \t]<em>object[ \t]+([a-zA-Z0-9_]+)/\1/o,objects/
--regex-scala=/^[ \t]</em>private def[ \t]+([a-zA-Z0-9_]+)/\1/pd,defs/
2. Download the SBT plugin and install it (apparenty assumes that you use SBT)
Create a shell script with the code posted below next to your sbt-launch-*.jar and create a shell variable SBT_PATH in TextMate (see part 1) that points to the script.
java -Xmx1512M -XX:+CMSClassUnloadingEnabled -Dsbt.log.noformat=true -XX:MaxPermSize=256m -jar dirname $0/sbt-launch-0.7.4.jar “$@”

Reference:
http://www.sidewayscoding.com/2010/08/using-textmate-for-scala-development.html
Playing with the Interactive Scala Interpreter
Open your shell, then type scala. Now you can do awesome things like this:
scala> val foo = "bar"
foo: java.lang.String = bar
scala> println(foo)
bar
Running a Toy Program
object Greeting {
def main(args: Array[String]) = println("Hello World")
}
That’s it for now. Stay tuned…