http://www.statmt.org/moses/ http://code.google.com/p/giza-pp/
When using a statistical method, you also need training data. One good source is the EuroParl corpus, which is based on translations of texts of the European parliament:
http://www.statmt.org/europarl/
The programming language is not really important. Use whatever makes it the easiest to use one of the existing toolkits.
Note that this is a very active field of research in natural language processing, and open domain machine translation is hard to do correctly. Also, the more data, the merrier. Syntax-based systems also require a parser in the pipeline (and good-quality syntactic annotations for the training data).
Since (please do not feel offended) your question seems a bit naïve, let me advise you to do two things if possible: 1. follow a course in machine learning, 2. follow a course in natural language processing, covering at least parsing and MT.
My personal preference would be to use Python (it's available on Windows, Mac and Linux). There is a very nice natural language toolkit available for Python which will help you with parsing the input language. During the early stages you want to experiment with algorithms more than being worried about speed, optimization can come later.
As for how long it will take? You can have something capable of translating a couple of hundred words up and running in hours. To do it properly (at a quality approaching that of even a bad human translator) will take a lifetime.