, , ,

For one of my internal private pet research projects pertaining to natural language processing, I ended up in implementing it with JavaScript. The factors that contributed to this was the fact that I needed someone non-programmer to review the process and validate. My choices were being platform independence. I wished to built it as a Ruby on Rails application but setting up and running a Rails application for a naive user is not an easy task.

The second choice was Java and building it as a desktop applicaiton. That too was ruled out as running a Java application requires JRE to be installed and the potentail users might not be even capable of that.

I knew it to be a web application. I came accross Google Apps Engine. So the choice turned out to be Python. But looking at that platform, I thought that an appliation with a long future, it would not be wise to setup there as its future is yet not known. Moreover, its very restrictive in its data model. It would be pain to port it somewhere else later. I wanted to use CherryPy or Django for the web framework but again dropped the idea.

PHP is again not what I wanted. I had written few very small PHP scripts back in 2004 or earlier but never returned to it reason being that I wanted to be a Desktop application developer so keep investing myself into C/C++, Win32, MFC and .NET

But eventually, as I was learning advanced JavaScript, and I was also delivering a course in my company, I simply started to write it in JavaScript as it gives true platform independence with 0 installation overhead! Other reason was that I came accross some Japaneese projects that implemented whole Java and Ruby Virtual Machines in pure JavaScript. So I settled with implementing it in JavaScript.

I’m though enjoying writing it, but one of my concerns is obfuscation. For sometime, unless I am fully done with my idea, I do not want it to be stolen or worked out elsewhere and yet I am not able to find any free and perfect tool. May be I have to write that too. Let’s see. Let me know if you know any good one for compacting multiple JS files into one with obfuscation in place.