Latest Tech News - Google debuts Dart, a JavaScript alternative

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • vis~as
    • Sep 2006
    • 8928

    Latest Tech News - Google debuts Dart, a JavaScript alternative

    Google debuted an "early preview" version of a programming language called Dart today for building Web applications in the way JavaScript is used right now.

    Programmer Lars Bak detailed the project in a talk today at the Goto conference conference today in Denmark and in a blog post. In it, he said Dart is geared for everything from small, unstructured projects to large, complicated efforts.

    Google also unveiled a Dart language site including open-source tools for writing Dart programs, code samples and tutorials, supporting libraries of supporting software, the Dart language specification, and forums for discussion.

    Other details about Dart raised some hackles about Google's Web technology tactics when an 2010 internal memo about it, then called Dash, surfaced on a mailing list. One tidbit from that memo is that Dart's goal is "to replace JavaScript as the lingua franca of Web development."

    Google is a big company, though, and others within the company remain strong JavaScript adherants. Bak's blog post was careful not to make any pronouncements that it was time for JavaScript to be retired, though.

    Here's Bak's quick description:
    Dart's design goals are:

    • Create a structured yet flexible language for web programming.

    • Make Dart feel familiar and natural to programmers and thus easy to learn.

    • Ensure that Dart delivers high performance on all modern Web browsers and environments ranging from small handheld devices to server-side execution.

    Dart targets a wide range of development scenarios: from a one-person project without much structure to a large-scale project needing formal types in the code to state programmer intent. To support this wide range of projects, Dart has optional types; this means you can start coding without types and add them later as needed. We believe Dart will be great for writing large web applications.

    Dart programs will be able to run within a Dart virtual machine--essentially a layer of software that acts as a computer to execute programs. They'll also be able to run using a compiler that translates Dart code into JavaScript code for browsers that don't support Dart, Bak said.

    Google's Chrome browser has served as a vehicle to get the company's technology installed in the Web. Though the 2010 memo said Google planned build Dart support into Chrome, Bak stopped a step short of that: "The Dart virtual machine is not currently integrated in Chrome, but we plan to explore this option," he said.

    Building Dart into Chrome could let Google build Dart versions of its advanced Web apps that--if the language lives up to its billing--could be better than those Web apps today. Gmail and Google Apps, for example, are highly complex JavaScript programs that presumably are well suited to Dart's adaptations for large-scale projects.

    Introducing new programming languages is tough. Though many hope that computing can improve by reforming or replacing languages, the incumbent power of existing languages is strong. Educating thousands or millions of programmers, building developer tools, and creating supporting libraries of code all can take years. As newer languages such as Java, JavaScript, and C# attest, though, it is possible.

    Google also is trying to gain a foothold for Go, a programming language geared more for native software that today would most likely be written with C or C++.

    Dart is designed to address several shortcomings Google sees with Web programming today, according to the Dart technical overview:
    • Small scripts often evolve into large web applications with no apparent structure--they're hard to debug and difficult to maintain. In addition, these monolithic apps can't be split up so that different teams can work on them independently. It's difficult to be productive when a Web application gets large.

    • Scripting languages are popular because their lightweight nature makes it easy to write code quickly. Generally, the contracts with other parts of an application are conveyed in comments rather than in the language structure itself. As a result, it's difficult for someone other than the author to read and maintain a particular piece of code.

    • With existing languages, the developer is forced to make a choice between static and dynamic languages. Traditional static languages require heavyweight toolchains and a coding style that can feel inflexible and overly constrained.

    • Developers have not been able to create homogeneous systems that encompass both client and server, except for a few cases such as Node.js and Google Web Toolkit (GWT).

    • Different languages and formats entail context switches that are cumbersome and add complexity to the coding process.




    Powered By WizardRSS.com | Full Text RSS Feed | Amazon Plugin | Settlement Statement
Working...
X