Forgive me for a non-jquery related post, but I'm hoping someone on here might be knowledgeable enough with Javascript to answer it. I see lots of post on here regarding optimization for DOM traversing and think it's funny since most people gave up spending much time worrying about CPU & memory bottlenecks in compiled offline apps long ago.
I've been a web developer for about 4-5 years, and I remember thinking not even 3 years ago with projects I was working on that Javascript was icky, poorly supported (as people can turn it off), and slow when you try to do complex things. Well, the fact that I'm even on this list should tell you I changed my views a while ago (thanks google). Since falling in love with programming in Javascript, I've had more & more fun programming JS intensive sites, especially for use with touchscreens. JS sites on tablets are a load of fun because it allows anyone knowledgeable with JS to create intuitive interfaces. Sadly, my Treo only has limited JS support (with Opera installed), so I can't do anything cool yet on my phone, but hopefully soon I'll be able to. So my question is, what is preventing JS from being faster? What causes the bottleneck and not being able to do things that one much resort to Flash to do? Is it the browser? Bandwidth? Is it the CPU? Memory? I'm not a software engineer, so I'm not looking to solve the problem, I'm just looking to understand it more so I can satisfy my curiosity. I view JS as a language that is capable of so much, but is limited in much the same way that DOS programs were limited 15 years ago. With Firefox 3 having SQLite (rumored) embedded and Google releasing Gears, the capabilities are endless for developers using the browser as the platform/OS for on and offline applications. That is going to require much more power, but where is that going to come from?