Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Home Applications
    • Applications
    • Development
    • IT Management
    • Networking

    Is It Time for JavaScript to Step Aside for the Next Big ‘Web’ Thing?

    Written by

    Darryl K. Taft
    Published April 3, 2012
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      REDMOND, Wash. €” What do you get when you put a group of computer language geeks in one room and ask them about programming? Well, it seems one thing is a general complaint about one of the most popular languages in use today: JavaScript.

      At the Lang.Next conference here, a panel of experts discussed everything programming and while they disagreed on several things, they seemed to come to agreement that JavaScript is a gnarly, unforgiving language that is a necessity in today€™s world.

      The panelists included Microsoft€™s Anders Hejlsberg, best known as the creator of Turbo Pascal, Borland€™s Delphi and Microsoft€™s C#. Martin Odersky, founder, chairman and chief architect at Typesafe and creator of the Scala language was also a part of the panel. Gilad Bracha, creator of the Newspeak programming language and a member of the team building the new Dart language at Google also sat on the panel. And rounding out the panel was Peter Alvaro, a fourth-year computer science Ph.D. student at the University of California at Berkeley and a member of the team building the Bloom programming language for the cloud and other distributed computing systems. Microsoft software architect and language geek Eric Meijer moderated the panel.

      Hejlsberg said his goal in building languages and tools is and always has been to make programmers more productive. He noted that while concurrency has been a big thing in the minds of developers for some time, he believes the next big thing is machine learning.

      However, Hejlsberg added; €œJava used to be cross-platform but is no longer cross-platform; the new cross-platform language in town is JavaScript.€

      Goaded by Meijer as to whether it is possible to write big programs in JavaScript, Hejlsberg replied, €œYes, you can, but you can€™t maintain them,” much to the delight of the crowd that featured several prominent language and tools designers. €œI think there are some unmet needs there,€ Hejlsberg added.

      Bracha immediately piped in saying, €œThat€™s part of why we€™re doing Dart. You can write them [large programs in JavaScript]; it€™s terribly hard and afterward you€™ll be punished.€

      Google introduced an early preview of Dart, which the company refers to as a class-based optionally typed programming language for building Web applications, in October 2011. Google announced the Dart preview at the Goto Conference in Aarhus, Denmark, where Google engineers Lars Bak and Bracha presented an opening keynote for the event Oct. 10.

      In an Oct. 10 blog post, Bak said Dart€™s design goals are to create a structured yet flexible language for Web programming, make Dart feel familiar and natural to programmers and thus easy to learn, and to ensure that Dart delivers high performance on all modern Web browsers and environments ranging from small handheld devices to server-side execution.

      €œThat€™s why we€™re doing Dart,€ Bracha said. €œWe feel in some ways we should get back to 1995€”we want libraries and abstractions and to not have to worry about the quirks of this document format that€™s taken over the world.€

      The Programming Gurus Playfully Dissed JavaScript

      Ironically, the programming gurus€™ playful dissing of JavaScript came at the same time as the JSConf 2012 JavaScript conference was taking place in Scottsdale, Ariz.

      Meanwhile, the discussion also broke down to the benefits of functional programming versus imperative programming. Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state. The difference between a mathematical function and the notion of a “function” used in imperative programming is that imperative functions can have side effects, changing the value of program state. A key tenet of functional programming is the concept of immutability. In functional programming, an immutable object is an object whose state cannot be modified after it is created.

      €œThe challenge we try to solve is, we have to move from sequential programming to parallel programming, and we have to shift from imperative programming to functional programming€ to do so, Odersky said.

      Yet, Hejlsberg said, €œI think the trick is getting there and having any semblance of performance left.€ He lamented the performance of functional programming languages while acknowledging the use of functional technology.

      €Functional data structures are very useful,€ Hejlsberg said. He noted that Microsoft€™s “Roslyn,” which is a set of APIs for exposing the Microsoft C# and Visual Basic .NET compilers as services available at runtime, is based on functional data structures.

      However, he said: €œThe whole trick is making these new data structures performant enough. You can go further and further with functional, but there€™s always going to be that ultimate imperative nirvana.€

      For his part, Alvaro said he believes the hard problems in programming continue to be in distributed computing, and they have become more urgent with the advent of the cloud. But, he said, €œIt€™s the same hard problem we€™ve been trying to solve.€

      Alvaro recommends maximizing monotonicity. The Bloom programming language is based on the CALM principle. CALM is Consistency as Logical Monotonicity. A block of code is logically monotonic if it satisfies a simple property: Adding things to the input can only increase the output, according to a description of Bloom. By contrast, non-monotonic code may need to €œretract€ a previous output if more is added to its input.

      As the discussion wound down, Alvaro noted that he believed adding support for certain complex functions in languages was a good way to go because €œverification€ can be achieved through the language.

      However, Odersky said, €œWe are way past the point where we can verify against language.€

      Darryl K. Taft
      Darryl K. Taft
      Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.

      ×