The intelligence of machines and the branch of computer science which aims to create it

Artificial Intelligence Journal

Subscribe to Artificial Intelligence Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Artificial Intelligence Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Artificial Intelligence Authors: Progress Blog, Pat Romanski, Kevin Benedict, Elizabeth White, William Schmarzo

Related Topics: Artificial Intelligence Journal, Game Developer, JavaScript, Internet of Things Journal

Blog Feed Post

JavaScript: Beyond Just Web Apps | @ThingsExpo #IoT #M2M #API #ArtificialIntelligence

The age of computers is over. You are now living in the age of intelligent processing by just about everything else

JavaScript: Beyond Just Web Apps
By Omed Habib

The age of computers is over. You are now living in the age of intelligent processing by just about everything else. Like vacuum tubes and tape drives, desktops and laptops are on their way to becoming odd relics of a distant age, if people remember them at all. That may sound a bit extreme, but the fact is that applications are not married to any technological substrate, not even the most advanced mobile devices. That is why smart developers have already turned their attention to using JavaScript for building out next-generation technology like drone controllers, big data management tools, and connectors for the Internet of Things (IoT).

The World After Web Apps
In Fabio Nelli’s “Beginning JavaScript Charts: With jqPlot, d3, and Highcharts,” he starts off by saying “JavaScript is experiencing a rebirth as a result of the new libraries developed precisely to take advantage of the innovation introduced by HTML5.” He is referring to the way JavaScript makes full use of the next-gen browsers with their new rendering engines. This rebirth is also true in the larger sense that JavaScript is being used to control a wide variety of innovative technologies, such as:

  • Drones – The Parrot AR drone quadcopters are recreational, but they point the way to the future. You can operate it with an app on your Android or iOS phone using Wi-Fi, and you can go further with Node.js. GitHub houses code repositories for controlling the camera or setting off a series of commands.

  • Data modeling – Most people you ask would describe Angular.js as a structural framework to enhance HTML for web apps. It specifies guidelines for directives, controllers, and services, but can also simplify data modeling in the way it binds JavaScript objects to properties. Look over this approach to building rich object models using Restangular for nested models.

  • Health care applications – The need for better data management is driving more healthcare organizations to look for full stack JavaScript developers. They want JavaScript specifically due to its facility with carving out original reports based on data modeling, data aggregation, data export and manipulating data in various ways.

  • Finance and statistics applications – By all accounts, R is the preferred language for statistics and financial applications these days, but there are several good reasons why some developers have decided to stick with JavaScript. It is easy to share code; it is easy to create output in an aesthetic format that’s simple to understand. Statistics blogger Matt Asher tested the time it took to create 10 million standard Normal variates in R vs. JS on Chrome. He found that “In Chrome, it took about half-a-second, same as in R (in Firefox it took about three times as long). Got that? No speed difference between R and JS running in Chrome.”

  • Self-driving cars – Programmable autonomous vehicles and connected cars are closely related developments. Many are already connected, but when there is nothing to do but ride along, connectivity will need to offer more value. According to Analysys Mason, nearly 90 percent of new cars will have embedded connectivity. By that point, there should be more than 10 million self-driving cars on the road as well. Fortunately, JavaScript already knows how to drive cars, based on millions of simulated events in driving games. Take a look at this AI car simulator that was built on the Unity 3D game engine using Node.js.

  • IoT devices – IoT is all about “connecting the unconnected.” It just makes sense to use the language with the most options for making those connections. JavaScript’s extensive connective tissue includes libraries, plugins, APIs and various other tools to connect random devices into the wider networks. There is a growing repository of npm modules for client-side, server-side and edge of network applications. This may be the primary reason why JavaScript developers cannot put it down.

The Versatility of JavaScript
Over two decades, JavaScript has been stockpiling utility libraries like Underscore.js or lodash that directly handle some of the most common programming issues, like map and sortedIndex.

JavaScript was built to handle event-driven applications that need to execute non-blocking code. For example, the Node.js event loop will execute code without having to wait for existing code to return a result. As tasks send their callbacks as notifications that they have completed processing, Node.js can respond as defined.

This is ideal when handling multiple IoT devices that are sending back their responses independently, or when activating multiple systems based on a single response.

Other Popular Language Options
JavaScript certainly isn’t the only game in town. Here are some other leading languages for each of these fields:

  • Drones – Consumer drones are getting more sophisticated, and Arduino is one of the easiest ways to control them. It is not a language so much as a series of commands for hardware, but that is sufficient for blinking lights and simple commands that people want drones to carry out.

  • Data modeling – Python comes in at number four in the top 10 programming languages, partly because it so useful for data modeling and with big data. In comparison, JavaScript comes in at eighth place. As big data gains wider use among a larger base of smaller firms, both languages are likely to climb higher.

  • Healthcare applications – SQL is the traditional choice for data management in health care, especially those still reliant on relational databases. On the interactive web side of this equation, coding skills with Java and ASP.NET remain in demand.

  • Finance and statistics applications – As mentioned above, R has become the darling of scientific statistical researchers and ambitious finance coders. The high stakes competitive financial world is a good place for R to show off its most powerful features. The newness of the language means that it is hard to tell whether interest will drop as fast as it rose.

  • Self-driving cars – Sebastian Thrun, who led the launch of Google’s self-driving car project, is promoting an online course on “Programming a Robotic Car,” which contains lessons on Python and C++ language components among related technologies. As many have pointed out, the field of AI is expanding so quickly that languages are not as important as underlying concepts like probabilistic inference, visual systems, robotics tracking, and localization.

  • IoT devices – Many IoT applications are being developed in languages other than JavaScript. There is a broad range of older languages like C++ to the latest tools like Parasail, a parallel processing language with object-oriented syntax.

Which Languages Are as Versatile as JavaScript?
Versatility is just one of JavaScript’s core competencies. Its open structure, as well as the support it receives from tens of thousands of active developers, is another. Two more are its event handling and data interoperability. Everyone seems to have their favorite language, but it is hard to argue with this JavaScript assessment by Tom Benneche, an instructor at the Startup Institute Chicago: “JavaScript is supported by every major browser and is the only web programming language built for both client-side and server-side. For some time, JavaScript was strictly a front-end language, but with the advent of Node.js and other similar platforms, it has become not just a viable back-end option, but a formidable one. Building a development team is much simpler because your entire technology stack can be built around one language.”

The JavaScript Future
JavaScript has a long future ahead as an extremely versatile language that has continually adapted to new technology. By 2020, it is likely that 1.4 million computing jobs will go unfilled due to lack of adequately qualified coders. When demand outstrips supply to that degree, people with the most versatile programming experience will command the greatest value on the market. The job market has already started to register massive increases in salaries for front-end web developers around the world. As innovative technologies like IoT take off, they will need more connective frameworks like JavaScript to bring them together.

With a devoted following, broad applicability and a supportive community, JavaScript is positioned to take advantage of whatever comes next. It is already pulled out ahead as one of the go-to languages in fields from data modeling to IoT. As long as the web is around, it is probable that JavaScript will be there to build web-facing applications. In the near future, you might want to use Apache server and Raspberry Pi for analyzing data gathered by sensors that run on Arduino. What would you use as a framework to hold it all together? JavaScript, of course.

The post JavaScript: Beyond Just Web Apps appeared first on Application Performance Monitoring Blog | AppDynamics.

Read the original blog entry...

More Stories By AppDynamics Blog

In high-production environments where release cycles are measured in hours or minutes — not days or weeks — there's little room for mistakes and no room for confusion. Everyone has to understand what's happening, in real time, and have the means to do whatever is necessary to keep applications up and running optimally.

DevOps is a high-stakes world, but done well, it delivers the agility and performance to significantly impact business competitiveness.