Update: JavaScript to take cues from Python

Eich reflects on JavaScript's beginnings and its future during keynote presentation at the AJAX Experience conference

As it evolves, JavaScript will take its cues from the Python language, Brendan Eich, the creator of JavaScript, said at The AJAX Experience conference on Friday afternoon.

JavaScript is a lynchpin of the popular AJAX (Asynchronous JavaScript and XML) technology for Web development. During his keynote presentation, Eich reflected on JavaScript's beginnings as well as its future. The language was designed to get a lot of mileage out of a few ideas and has not always been such a hot topic, Eich said.

"It's been over ten years, hard to believe. It was the Rodney Dangerfield of languages," said Eich, CTO of Mozilla.

For the future, JavaScript will follow Python. "We're going to learn from Python. JavaScript is pretty close to Python," Eich said. Python 2.5 is being tracked, he said.

JavaScript is borrowing iteration, generators and array comprehensions, with changes in syntax, from Python, Eich later clarified. Not all of the new features planned for JavaScript, however, are part of Python.

An attendee at the conference applauded the Python bent. "Python's a great language and seeing them pattern it after Python is really exciting," said Thabo Fletcher, a software engineer with Front Page, which provides online ad services.

Fletcher noted the impacts of Eich's JavaScript. "He's invented something that pushed Microsoft to do things," Fletcher said.

Improvements to JavaScript are eyed in areas such as type systems, name spaces, block statements, and structural types. Object types will be nullible by default.

"We're adding a lot of fun features," said Eich.

Backward compatibility is critical, Eich stressed. "Any evolution of JavaScript has to be backward-compatible. It can't force you to change the way you write code," he said.

Developers of JavaScript 2 seek scalability and extensibility. "We definitely want it to be extensible because I don't plan on doing this amount of work again," Eich said.

Thread support is not planned, however. Threads are less common in browser implementations and "it's very hard to program with threads," Eich said.

New competition in browsers, from Mozilla's Firefox specifically, has prompted efforts to improve JavaScript. Macromedia's work on ActionScript also was a factor, Eich said.

"Why the long freeze in JavaScript development? A lot of it had to do with the long freeze on browsers due to the IE [Internet Explorer] takeover," Eich said.

Eich noted JavaScript's ability to program browsers. "The way you program things that weren't hardwired into browsers like HTML is with JavaScript."

"More and more people are just using JavaScript because it's certainly fast enough and it's powerful enough now with help from all the surrounding APIs that are in browsers," said Eich.

"I think there is an important point to make here and that is that you can argue stagnation was good on the browser side," Eich said. This enabled work on the server side and development of good frameworks for server content. But that time is past.

"It's time to get back to innovating in the browser space," Eich said.

"Browsers are going to be more and more important because they're going to be on cell phones in great numbers," he said.

He laid out a road map for releases of JavaScript.

"If it all holds, we'll end up in the middle of next year with JavaScript 2 implemented," said Eich.

Prior to JavaScript 2, JavaScript 1.7 is set for implementation in the Firefox 2 browser this fall. JavaScript 1.9 is planned for Firefox 3 in early 2007.

JavaScript 2 is likely to fully displace JavaScript 1 in approximately four years, Eich said.

From CIO: 8 Free Online Courses to Grow Your Tech Skills
Join the discussion
Be the first to comment on this article. Our Commenting Policies