

Ask HN: what programming language is most suitable for building a translator? - wonjun

How long do you think this will take? Is there a good tutorial out there to get started? 
Thank you!
======
kevinstubbs
It's also necessary for us to know a.) What platform (phone, Windows, Linux,
Mac...) and/or b.) On the web or desktop?

With the answer to these questions you should be able to easily find out for
yourself what language to use, as it seems you have no preference. How fast
you want the translations to happen matters because it will tell you how low
level of a language you're going to want.

If you're doing it on the web I would give PHP a shot as your main weapon,
with the regular open web technologies for client side (JavaScript, HTML,
CSS... just building the page).

If you're going for a Windows desktop application, I would use C# because I
consider it relatively easy to get into and will probably be powerful enough.
Some extra programming 'oomph' is going to be put in to get into lower
languages for better performance.

If you're going for the phone you have to think about what kind of phone. If
you want the application to be accessed through the web, then well, there's
your answer :). For the Windows Phone 7 you can use C# with Silverlight and/or
XNA to create your translation application.

So, with C# you can create a C# desktop app and port a -lite version to the
Windows Phone 7 with little hassle ;).

------
CyberFonic
You might need to be more specific: to translate from what to what? Human
languages, computer languages, etc??

------
wonjun
It is a human language translator in general, English to French, for example.

~~~
CyberFonic
That is a massive project. Have you looked at Google Translate? Hundreds of
computer scientists have worked on it for decades and it still is not very
good. But if you are motivated ....

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.

~~~
radicalbyte
A large proportion of the academic Natural Language Processing / Computational
Linguistics community use Python, so it really is the natural choice for a
project in those fields.

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.

