11 IoT Programming Languages Worth Knowing - InformationWeek
IoT
IoT
Mobile // Mobile Applications
News
3/8/2015
12:06 PM
100%
0%
RELATED EVENTS
Building Security for the IoT
Nov 09, 2017
In this webcast, experts discuss the most effective approaches to securing Internet-enabled system ...Read More>>

11 IoT Programming Languages Worth Knowing

Choosing which language to use for an Internet of Things project can be as big a decision as choosing a hardware platform. Here are 11 options to consider for your next coding project.
Previous
1 of 13
Next

Internet of Things (IoT) development projects are springing up at businesses all over the world. New hardware platforms make embedded systems in IoT applications easier to engineer than ever before. Once you've chosen the hardware platform, though, you still must develop the application software, and that's where more (and often, more difficult) decisions must be made.

Not so very long ago, your choice of programming language was pretty much dictated by your choice of hardware platform. More modern platforms that are based on open source standards and able to support multiple languages make for much more flexibility and, therefore, more choices. That's where we come in.

How do you decide which programming language to use in a particular IoT project? In some cases, your options still will be limited by your hardware platform. In others, though, you'll be able to choose from a language based on factors such as whether your enterprise dev team is already familiar with it, whether it works within the environment used by other components of the total IoT system, or whether it produces code that is smaller, more efficient, or more rapidly written than that of other options.

[Read about what you can and can't do with Raspberry Pi 2.]

There are 11 languages that float to the top of the consideration pool when it comes to programming embedded systems. They range from general-purpose languages like C++ and Java to embedded-specific choices like Go and Parasail. Each offers advantages and disadvantages. After you've reviewed the following pages to see what we've come up with, meet us in the comments section below to let us know what your preferred language options are when you're considering embedded and IoT development projects.

Attend Interop Las Vegas, the leading independent technology conference and expo series designed to inspire, inform, and connect the world's IT community. In 2015, look for all new programs, networking opportunities, and classes that will help you set your organization’s IT action plan. It happens April 27 to May 1. Register with Discount Code MPOIWK for $200 off Total Access & Conference Passes.

Curtis Franklin Jr. is executive editor for technical content at InformationWeek. In this role he oversees product and technology coverage for the publication. In addition he acts as executive producer for InformationWeek Radio and Interop Radio where he works with ... View Full Bio

Previous
1 of 13
Next
Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Page 1 / 3   >   >>
joheben
50%
50%
joheben,
User Rank: Apprentice
8/31/2016 | 7:30:08 PM
Passing knowledge
Using C with only (as said in the article) "passing knowledge" of the language is a terrible idea. Null pointers and memory leaks would kill your software for sure. For good programmers with solid experience in using C, sure thing.
Sylvanus NuhC774
50%
50%
Sylvanus NuhC774,
User Rank: Apprentice
7/29/2016 | 4:21:40 AM
top programming languages
amongst all the programming languages, I prefere C/C++ though it's difficult. i also think VB should be included in the list.
Goyapa
50%
50%
Goyapa,
User Rank: Apprentice
5/23/2016 | 9:39:17 AM
Re: node.js & C
Yes we made as well good experiences with node.js an where needed C/C++ and also Python, but i would like to see C/C++ switched with Rust in near future, and a Embedded-OS written in Rust in the immediate step, like redox-os.
JoshF813
50%
50%
JoshF813,
User Rank: Apprentice
5/17/2016 | 12:27:30 PM
node.js & C
For IoT I think node.js/javascript is the best option. The websockets offer real-time communication which if perfect for zigbee/zwave applications and keeping the user always informed of the latest events. 

C is also a requirement to write firmware for Arduino and other microcontrollers. 

With those two languages you can pretty much make anything you can dream up. 
SabineN855
50%
50%
SabineN855,
User Rank: Apprentice
11/18/2015 | 3:53:30 PM
Re: Assembler language for embedded systems: please do not
per my later comment...you might want to check out Julia. julialang dot org is the site. 
SabineN855
50%
50%
SabineN855,
User Rank: Apprentice
11/18/2015 | 3:51:46 PM
The Julia programming languages is one to note
It is important to note the Julia programming lanugage....stemming from the labs of MIT, I believe that this to be the language for the IoT.  Programming is easy for both engineers and programmers and the language is: 
  • Julia performs as well as C and Fortran

  • 10X faster than Python, R and MATLAB

  • Distributed parallel execution

I have found this to be an exceptional tool!!!!  I suggest an article on this, as it appears to be a real disruptive offering. 

 

 
Rob Purser
50%
50%
Rob Purser,
User Rank: Apprentice
9/22/2015 | 5:53:33 AM
What about data analysis?
Your article appears to focus on the edge node and data collection side of IoT systems -- what about analytics and visualization?  Didn't see anything about the programming languages there -- some of which are a lot more important for IoT systems than the more esoteric ones listed...
LakshminarayanT008
50%
50%
LakshminarayanT008,
User Rank: Apprentice
4/11/2015 | 3:31:45 AM
Re: Why no love for ADA?
Why not Visual c#.I am using it for my learning of IOT using Netduino plus 2
Some Guy
50%
50%
Some Guy,
User Rank: Strategist
3/16/2015 | 1:11:53 PM
Re: Assembler language for embedded systems: please do not
Agreed. I always think of C as the world's first portable assembler. C++, C# have just extended it into the object-oriented approach. There are times, especially in embedded and IoT, where for timing or memory (or parts cost) constraints you actually need assembler, but those cases are rare. Especially if you learn how to code C efficiently (Efficient C by Plum & Brodie is likely out of print, but available for $0.01 on Amazon; there appear to be similar titles for C++). I recall coding a motor inverter on a microcontroller with only 512 bytes of code in C. It needed a couple of lines of assembly to initialize the data structures to save the 50 generated by the compiler, and that was well commented with the replaced lines of C code as the comments and the #asm compiler directive for the initialization assembler code. Could have done it with a separate subroutine and the linker, but didn't want to incur the extra call and return code space overhead. It's certainly a choice for more complicated timing-/space-critical optimizations because it limits what you have to recode on the next machine (although it assumes the next machine needs the same optimizations and can't forsee what else needs to be optimized).
Li Tan
50%
50%
Li Tan,
User Rank: Ninja
3/14/2015 | 7:06:13 AM
Re: Assembler language for embedded systems: please do not
I cannot agree with you more - IoT is fast growing and there is no clear outwitter at this moment. The industry should attempt different ways/tools of doing things instead of getting locked down in one cage.
Page 1 / 3   >   >>
How Enterprises Are Attacking the IT Security Enterprise
How Enterprises Are Attacking the IT Security Enterprise
To learn more about what organizations are doing to tackle attacks and threats we surveyed a group of 300 IT and infosec professionals to find out what their biggest IT security challenges are and what they're doing to defend against today's threats. Download the report to see what they're saying.
Register for InformationWeek Newsletters
White Papers
Current Issue
Digital Transformation Myths & Truths
Transformation is on every IT organization's to-do list, but effectively transforming IT means a major shift in technology as well as business models and culture. In this IT Trend Report, we examine some of the misconceptions of digital transformation and look at steps you can take to succeed technically and culturally.
Video
Slideshows
Twitter Feed
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.
Flash Poll