Hi, My this mail is directed more at the Gear developers. Gears is good, but in my opinion is a roundabout way to solve a problem and I therefore wanted to bring up the idea about what would be a better approach. Let me elaborate that statement in detail.
- Why was Gears deemed necessary? To add more capabilities to the browser, because the existing capabilities exposed by JavaScript + DOM is not powerful enough. - As a specific example, browser side applications needed caching and local database accesses. Therefore, using the excellent Sqlite3 was the obvious choice. The question is: What is the better way to use it? By writing a JavaScript wrapper for SqLite, or by enabling the browser to run a more powerful scripting language? - The first approach involves un-necessary engineering to expose bindings to a language that, IMHO is inferior in more than one ways to a lot of much better alternatives, such as Python, Ruby and Lua, etc. - It also only gets you just that functionality. For exposing some other functionlity, you have to do that engineering again. - On the other hand, trying to implement a plug-in model for exposing other programming languages in the browsers will truly transform the browsers into a more powerful programming platform. - The argument that nobody would learn a new programming language is incorrect. They learned JavaScript and VBScript, which are far uglier than, say, Python. They continue to learn Flash, which is proprietary. They continue to invest in .Net, which is never-stable platform. So the argument that will win here is that if you expose a better solution, it will get used. - The very realization that people are demanding powerful programming support on the client side, in the shape of the Gears project or the polarity of the Flash based websites, should be clear-enough indication that there is a huge demand, need and potential for better and more programming languages' support on the browser side. And after all, we are doing this on the server side anyway! - The very existence of projects which compile Ruby, Python code to Java Script should be an eye opener that we are solving a bottleneck by patch-work!. Just remove the very bottleneck. Make browser free of the crippling dependency on JavaScript. A lot web programming paradigms will suddenly become obvious, easy and straigh-forward to implement. - In regards to the Gears example, assuming Python was supported, not only would sqlite bindings become available by default, but a whole lot of other capabilities will too. - Infact, personally for me, this is indeed the most puzzling and perplexing situation that knowing we need more powerful applications on the client-side, we are ignoring the very core Computer Science principle; which is; provide better languages for programming! Sincerely AQ
