13
11/28/2017 Selecting Programming Languages for the IoT | Digit.in https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 1/13 Privacy settings Selecting Programming Languages for the IoT By Promotion Published Date 20 - Mar - 2017 | Last Updated 20 - Mar - 2017 Tweet Intel® AI DevCloud Click to know more Get access to free cloud compute for AI projects Intel® AI Academy Click to know more Hands-on learning on Artificial Intelligence for student developers The Internet of Things Ecosystem To understand which languages you can apply to your IoT projects, you must first understand the IoT ecosystem. This knowledge is important because the processor architectures and resources available to your software or firmware will differ greatly at each level. Let’s start by defining a simple taxonomy of DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE IOT Like Share 0 advertisements advertisements Mobile data traffic in India to grow 11 times by 2023: Ericsson Mobility Report WhatsApp on iOS will soon allow users to play YouTube videos within the chat app Xiaomi’s upcoming “Desh Ka Smartphone” to be exclusively available on Flipkart From 3D printed masks to 10year old kids: Everything that managed to fool Apple’s Face ID tech on iPhone X Reliance Jio quietly extends its triple cashback offer till December 15 RECENT NEWS SECURITY WATCH POWERED BY OTHER POPULAR DEALS Buy Now Redmi 4 (Black, 32 GB) Rs. 8499 Buy Now Coolpad Note 5 (Royal Gold, 32... Rs. 8999 Buy Now Lenovo Z2 Plus (Black, 32GB) Rs. 9799 Top10 Reviews News & Launches Devworx Forum SKOAR In Depth Hot Deals A Laptops Auto Tech Internet Photos Entertainment Videos Contests News Releases Advertise Ask Digit Mobiles Buy Digit Search!

DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

  • Upload
    lekhanh

  • View
    221

  • Download
    1

Embed Size (px)

Citation preview

Page 1: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 1/13

Privacy settings

Selecting Programming Languages for the IoTBy Promotion Published Date 20 - Mar - 2017 | Last

Updated 20 - Mar - 2017

Tweet

Intel® AI DevCloud

Click to know more

Get access to free cloud computefor AI projects

Intel® AI Academy

Click to know more

Hands-on learning on ArtificialIntelligence for student developers

The Internet of Things Ecosystem

To understand which languages you canapply to your IoT projects, you must firstunderstand the IoT ecosystem. Thisknowledge is important because theprocessor architectures and resourcesavailable to your software or firmware willdiffer greatly at each level. Let’s start by defining a simple taxonomy of

DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE IOT

Like Share 0

advertisements

advertisements

Mobile data traffic in India to grow 11 times by2023: Ericsson Mobility Report

WhatsApp on iOS will soon allow users to playYouTube videos within the chat app

Xiaomi’s upcoming “Desh Ka Smartphone” to beexclusively available on Flipkart

From 3D printed masks to 10year old kids:Everything that managed to fool Apple’s FaceID tech on iPhone X

Reliance Jio quietly extends its triple cashbackoffer till December 15

RECENT NEWS

SECURITY WATCH POWERED BY

OTHER POPULAR DEALS

Buy Now

Redmi 4 (Black, 32 GB)Rs. 8499

Buy Now

Coolpad Note 5 (Royal Gold,32...Rs. 8999

Buy Now

Lenovo Z2 Plus (Black, 32GB)Rs. 9799

Top10 Reviews News & Launches Devworx Forum SKOARIn Depth

Hot Deals

అ  A  क 

Laptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Mobiles

Buy Digit

Search!

Page 2: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 2/13

IoT devices for which you’re developingsoftware (see Figure 1).

Figure 1. Taxonomy for Internet of Thingsdevices

At the bottom are the edge devices. Thesedevices interact with the world and representthings like wearables and other connecteddevices. The devices source and create dataand interact with the world throughactuators.

Next are the gateways. These devices can beintermediary devices that move data to othersystems for processing. The gateways canalso aggregate data from many edge-devices and provide a control path to edgedevices.

Advantages, disadvantages, and snags ofrooting your Android device

This is how ExPetr targets businesses

Here is how you can protect yourself fromExPetr ransomware

Petya ransomware found affecting gatewayterminal at Jawaharlal Nehru Port Trust andmajor businesses across Europe, the US andAsia

advertisements

OnePlus 5T receiving OxygenOS 4.7.2 updatewith Facial recognition and cameraimprovements

Samsung rolls out third Android 8.0 Oreo betaupdate to Galaxy S8 and S8 Plus devices

OnePlus 5T early preview sale starts at 12PMtoday on Amazon

Xiaomi India to launch “Desh Ka Smartphone”on November 30, "will change the lives of theentire country" says Manu Jain

New reports reaffirm Apple’s iPhone SE 2 couldlaunch early next year, expected to bemanufactured in India

TRENDING STORIES

advertisements

Best Phone under 10000

Best Phones Under 15000

Best Smartphones Under 20000

Upcoming Mobile Phones in India 2017

Best Android Mobile Phones

BEST MOBILE PHONES

advertisements

Resource Center

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 3: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 3/13

Finally, there’s the cloud. The cloud is ascalable set of compute, network, andstorage resources that provide the ability tostore, analyze, and visualize data from edgedevices and gateways.

Examples of these levels include the Intel®Galileo board and the Intel® Curie™Compute Module for edge devices, Intel® IoTGateways for the gateway level, and theWind River* Helix* Lab Cloud for the cloudlevel.

With the IoT ecosystem divided into itslayers, let’s look at which languages you canapply at each level.

Edge Device

Edge devices, such as wearables, are typicallyconstrained-resource, embedded systemsbecause of the space and power constraintsin which they function. Devices like the Intel®Curie™ module are the size of a button, andcan be powered by a small, coin-sizedbattery (see Figure 2). Given the minimalresources of the Intel® Curie™ module, thetypical languages suitable for its use includeAssembly and C. Although C is the linguafranca of embedded firmware development,there are times when you need to squeezeas many instructions as possible into adevice. In such cases, Assembly is your bestchoice. The downside is that development

which are the programming languages of future.....

programming languages compared

sites for practicing computer languages(programming)

Prog languages query

Prog languages query

advertisements

Contests

Forum Discussion

Check out the OPPO F3 -First Look

By OPPO

Game developmentdrives systems anddevelopers hard, withmulticore technolog...

By Intel

PARTICIPATE NOW

IBM Cloud ChallengeContest

Answer 3 Simple MCQs and WinPrizes worth...

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 4: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 4/13

time can be longer depending on yourexpertise with the language.

Figure 2. The Intel® Curie™ ComputeModule

Another example of an edge device is theIntel® Edison board (see Figure 3), which youcan use in the wearables space or in generalIoT products. Differing from the Intel®Curie™ module, which incorporates amicrocontroller, the Intel® Edison boardincludes a dual-core Intel® Atom™processor with considerably more computingpower (the size of an SD card). Because theIntel® Edison board runs Linux*, the Clanguage is an ideal choice here, but youcould use other languages, as well, includingPython* and Node.js*. Python* is ideal for

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 5: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 5/13

quick prototyping and productiondeployment, but can lag in performancecompared to native compiled C. If you useIntel® XDK, you can also run Node.js*(JavaScript*) with Node-RED*. Node-RED*makes it easy to build and run data flows,offering a graphical approach todevelopment. Knowledge of the JavaScript*language makes this environment even morepowerful.

Figure 3. The Intel® Edison board

Gateway

At the gateway level, the compute capabilityrises greatly because gateways areresponsible for communication and analysisof data from many devices through several

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 6: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 6/13

different buses. With this additionalcomputing capability comes the ability to runmore powerful languages or interpretedlanguages with greater performance.

Intel® IoT Gateways provide a variety ofdesigns that scale from a single-core Intel®Quark™ system on a chip to a quad-coreIntel® Atom™ or Intel® Core™ processor(see Figure 4). These platforms supporteither Wind River Linux* 7 or the SnappyUbuntu* Core (Linux*).

Figure 4. An Intel® IoT gateway

In addition to support for C and C++ (which isalso ideal for higher-performance devices),you can use Python*, but at greaterexecution speeds. Node.js* with JavaScript*

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 7: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 7/13

is also available, which is ideal for creating orconnecting to web-services as well as tocloud services.

Cloud

When you reach the cloud, the computingcapability increases drastically, as do thelanguage choices. In the cloud, you’ll findservers enabled through power-efficient IntelAtom and Intel Core processors as well ashighest-compute-density Intel® Xeon®processors. Apps written in the cloud serve avariety of needs, and as such, the languagesyou use here can differ greatly. To processthe massive amounts of data that IoT edgedevices create, you can use big-dataframeworks like Apache Hadoop*. On top ofHadoop, query languages such as ApacheHive* enable computation over massive datasets with Structured Query Language (SQL)-like queries. Apache Pig* is also useful forexperimentation with large data sets in thePig Latin scripting language.

Data analytics and visualization are other keyapplications within the cloud that manyprogramming languages enable. A popularlanguage and environment for statisticalcomputing and visualization is the Rlanguage, which has recently grown inpopularity. The Julia language is anotheroption here. Julia is a high-performance,dynamic language designed with cloudcomputing in mind.

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 8: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 8/13

You use several languages to build web-services to monetize data in the cloud,including JavaScript*, Node.js*, or server-sideand client-side Java*. Given manyframeworks and supporting languages (suchas Rails and Ruby), the languageopportunities in this space is large andgrowing.

Summary

Choosing a programming language for aproject requires consideration of the targetenvironment (including the processor) as wellas the resources available to it. Developingsoftware in the cloud opens manypossibilities, given the scale of resourcesavailable, but developing embedded firmwarefor smaller microcontrollers requires greatercontrol to minimize instruction count andmaximize execution speed and resourcemanagement.

The following list briefly summarizes thelanguages discussed in this article, andidentifies their key use models: Assembly: Developing firmware in the nativeinstruction set provides the greatest controlin resource-constrained systems such asedge-devices.

C/C++: One step above Assembly, C andC++ enable construction of resource-constrained code but with readability and

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 9: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 9/13

maintainability. C’s prominence allows youto find it in every use model.Python*: An interpreted language thatsimplifies prototyping, you can also use itfor production. Python* supports amassive number of libraries and modulesso that you can get more done with lesscode. It’s useful in more powerful edgedevices, gateways, and even the cloud.JavaScript*/Node.js*: A popular languageand runtime, each enables thedevelopment of scalable networkapplications and can be applied across usemodels.Node-RED*: Developing visually withNode-RED* makes it easy to build dataflows that include sensors and actuators. Ifyou know JavaScript*, these flows can beeven more powerful. You can apply thislanguage at gateways and within morepowerful edge devices, such as those thatthe Edison board powers.HiveQL: If you’re using Hive (built onHadoop), you can use HiveQL to processmassive data sets in cloud environments.Pig: Using Pig Latin to process big dataenables quick script development andsimple experimentation of data sets withinthe cloud.R: An increasingly popular statisticalcomputing language for the processing andvisualization of data, you can apply datamining with R in cloud environments. R isalso open source.

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 10: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 10/13

Julia: Another high-performance languagefor processing and visualizing data in cloudenvironments, Julia is also open source. Itwas designed with parallelism in mind andincludes key elements for distributedcomputation.Java*: A popular server-side and client-sidelanguage for the Web, making it useful inthe cloud for both web and web servicesdevelopment.

For more such intel IoT resources and toolsfrom Intel, please visit the Intel® DeveloperZone

Source:https://software.intel.com/en-us/articles/selecting-programming-languages-for-the-iot

Asian Paints Royale Atmos

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 11: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 11/13

  [email protected]

Promotion

Xolo ERA 1X 4G with VoLTE...

Rs. 3999 Buy Now

Swipe Elite 3 4G with...

Rs. 4399 Buy Now

Lenovo Z2 Plus (Black, 32 GB)(3...

Rs. 10520 Buy Now

OTHER POPULAR DEALS

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 12: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 12/13

Best Alternative Apps for your...

Interesting Galleries

1 Comment | 1 Reaction

Login

How do you feel about it?

Great(100%)

Good(0%)

Waste(0%)

Sad(0%)

Angry(0%)

Write  your  opinion..

Sort by Latest

Yulia Ye | 8 Months agoWhat do you think, what is the best

English

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit

Page 13: DIGIT APPS SELECTING PROGRAMMING LANGUAGES FOR THE … · 11/28/2017 Selecting Programming Languages for the IoT ... Ericsson Mobility Report ... Pig Latin scripting language

11/28/2017 Selecting Programming Languages for the IoT | Digit.in

https://www.digit.in/apps/selecting-programming-languages-for-the-iot-34209.html 13/13

ABOUT US CONTACT US ADVERTISE SUBSCRIBE PRIVACYTERMS SITEMAP HTML

Digit caters to the largest community of tech buyers, usersand enthusiasts in India. The all new Digit.in continues thelegacy of Thinkdigit.com as one of the largest portals inIndia committed to technology users and buyers. Digit isalso one of the most trusted names when it comes totechnology reviews and buying advice and is home to theDigit Test Lab, India's most proficient center for testing andreviewing technology products.

We are about leadership – the 9.9 kind!Building a leading media company out ofIndia. And, grooming new leaders for thispromising industry.

Copyright © 2007-14 Nine Dot NineMediaworx Pvt. Ltd. All Rights Reserved.

IBM Cloud ChallengeContest | Win Prizes WorthRs. 40000

The 10 scariesthorror games onAndroid

Android appstores: 5 bestalternatives toGoogle Play Stor

LOAD PAGE 1

Top10 Reviews News & Launches Devworx Forum SKOARLaptops Auto Tech Internet Photos Entertainment Videos Contests

News Releases Advertise Ask Digit