element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Internet of Things
  • Technologies
  • More
Internet of Things
Forum Language for IOT
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Internet of Things to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 22 replies
  • Subscribers 514 subscribers
  • Views 2937 views
  • Users 0 members are here
Related

Language for IOT

nirmal2000
nirmal2000 over 7 years ago

Which language is better option for learning IOT for beginners?

  • Sign in to reply
  • Cancel

Top Replies

  • Fred27
    Fred27 over 7 years ago +6
    Well, you'll most likely be using a microcontroller so I'd say it has to be C.
  • dougw
    dougw over 7 years ago +5
    For a beginner, the learning curve includes the language, the integrated development environment (IDE), the hardware and they also need to consider the cost of all these things. As mentioned above C and…
  • shabaz
    shabaz over 7 years ago +5
    Hi, traveling so excuse typos typing on a small screen.. There's plenty of scope to learn and use multiple languages, or whatever you're familiar with, since the scope is broad. My favourites are C, C…
  • jomoenginer
    jomoenginer over 6 years ago in reply to Jan Cumps

    The recent Embedded/Firmware interviews I have been involved with have been mostly focused on C++; specifically C++11 and C++14.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • jomoenginer
    jomoenginer over 6 years ago

    This is an interesting topic since IoT is a very relative term.

     

    As far as which language is best, IMHO,  it really depends on what part of the stack your are looking at.  At a lower level, closer to the metal, C and more recently C++ would be best as well as some sort of RTOS like FreeRTOS. But the further up the stack you get, you could be looking at Javascript, Python, Rust and even Flask on an OS like Linux or Windows 10 IoT.

     

    Michael Barr put out an interesting post a few months back titled "The Rise of the Full Stack Developers" based an observation he made regarding the skill folks list on their LinkedIn page.  Myself have seen Firmware positions that listed Javascript, Python and even Go as a requirement for the position.

    https://embeddedgurus.com/barr-code/2018/05/the-rise-of-the-full-stack-developers/

     

    I would not pigeon hole myself into a single language and rather learn how to use multiple in a connected manner.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Jan Cumps
    Jan Cumps over 6 years ago in reply to jomoenginer

    jomoenginer , yes. And it's mainly the capacity of the controller/processor and resources - and the energy needs in some cases - that determine the language options.

    unlimited processor umph, unlimited power, no energy restrictions (there are IOT devices that are tied to the power grid and have the resources of a decent server): any language can be used.

    When you step down from that, the language options get narrower.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • jomoenginer
    jomoenginer over 6 years ago in reply to Jan Cumps

    My point was more inline to understanding the full stack of an IoT deployment. Smaller memory and processor constrained devices will have their limitations, but getting that data from the sensor to a database, or web browser or even something like AWS or Azure takes multiple layers and different development environments.  Looking at a good middle ground, Python is a language that fits nicely in the middle and is often used as the glue to get that sensor data to the cloud. 

     

    Sorry, but the thought of an an IoT device tied to a power grid seems like something just waiting for trouble.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Jan Cumps
    Jan Cumps over 6 years ago in reply to jomoenginer

    jomoenginer  wrote:

     

     

     

    Sorry, but the thought of an an IoT device tied to a power grid seems like something just waiting for trouble.

    IoT edge devices typically are powered from mains.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • james.flynn
    james.flynn over 6 years ago in reply to Jan Cumps

    I would second that.  C is a foundation language for a lot of technology.  Yes, you may end up in Python or some other language, but the foundation you get from C will help you to quickly pickup other languages/skill.  Once you know C, it is easier to grow into to C++, .Net, and others.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • jomoenginer
    jomoenginer over 6 years ago in reply to james.flynn

    Actually the idea that learning C will assist in learning C++ is a myth that has been carried over from long ago.  The two languages have enough differences that learning C may hampers one move to C++.  These days, learning Python before C++ would be an easier path to C++.   

     

    However, to focus on C is to just focus on the Thing in IoT, which C certainly dominates; at least for the time being

     

    From most of the surveys I have seen, Java tops as the most popular Language used in IoT projects.  C comes in second since there are more things in the Internet of Things and is still the dominate language used.   The thing I do not know is if these surveys cover folks actually working on shippable IoT products or just anyone interest in IoT that has an Arduino on their dinner table. 

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • james.flynn
    james.flynn over 6 years ago in reply to jomoenginer

    Jon, thanks for that clarification and for highlighting my age LOL, I did find a good attribution that discusses this @ https://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B.that being said, My experience is that most embedded solutions are developed in C (but I've also used c++ and assembly when necessary) so I'm not saying that Python or Java isn't used, I've just not seen or experienced it myself.  That is interesting about C vs. C++ though.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • james.flynn
    james.flynn over 6 years ago in reply to Jan Cumps

    LOL, I thought that but didn't say it.  Most IoT devices I've implemented were battery powered.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • jomoenginer
    jomoenginer over 6 years ago in reply to james.flynn

    I don't believe I mentioned anything about your age. There are folks in Universities that promote the same C /  C++ myths thus new grads continue down the same path.

     

    But again, you are focusing on the Thing with regards to the use of C in IoT.  IoT is more than just the Thing.   My point is that there are a number of other languages are used in the IoT stack where the use of C is not an option; or is not an easy option.  And when you say Embedded, I suspect you mean Bare Metal Embedded.  However, there are the so called Embedded OS devices that use operating systems such as Linux and some sort of Windows flavor where something like Java might be a solution as well.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube