• Home
  • Archive
  • Tools
  • Contact Us

The Customize Windows

Technology Journal

  • Cloud Computing
  • Computer
  • Digital Photography
  • Windows 7
  • Archive
  • Cloud Computing
  • Virtualization
  • Computer and Internet
  • Digital Photography
  • Android
  • Sysadmin
  • Electronics
  • Big Data
  • Virtualization
  • Downloads
  • Web Development
  • Apple
  • Android
Advertisement
You are here: Home » CircuitPython vs C/C++ vs Lua for the Microcontrollers

By Abhishek Ghosh April 4, 2019 8:28 am Updated on April 4, 2019

CircuitPython vs C/C++ vs Lua for the Microcontrollers

Advertisement

While programming languages can not be compared, specially when they are diverse in basic nature like Python vs C/C++ or Lua with them yet the question of comparison arises. Investing time behind anything should have a goal. While MicroPython, CircuitPython variations of Python has been discussed on this website and the problems of Arduino “langugage” discussed, place of C/C++ in the world of Microcontrollers requires discussion. Assembly langugage was the first human understandable langugage used for the microcontrollers. C is practically improvement of that assembly langugage. C++ has kind-of-abstraction on C for easier work. Arduino “langugage” actually a sub-standard C++ variation. C and C++ has differences however they can be thought as a single group.

 

Which One Among CircuitPython, C/C++ and Lua for the Microcontrollers?

 

Python and PHP are closer cousins. PHP really for the goal “get-shit-done-quickly”, despite the fact it has good documentation, easiest deployment as web scripting language. C++ is a statically strongly-typed compiled multiparadigm language whereas Python is a dynamically strongly-typed interpreted multiparadigm language.

If the need is to build some application quickly, use Python but if the need is to run the application to run quickly at cheaper rate, use C++. C is the father/mother of microcontroller world after assembly langugage and ruling the earth since the 70s.

Advertisement

---

PHP, Python needs hardware functions on microcontroller to work in dynamic way. PHP, Python no way closest to what one should first (and last) learn for the microcontroller.

Python no way closest to “weak langugage”. Full Python has some specific areas which it becomes cost effective with lot of resources including libraries. Data analytics is one of such area. Python is heavily used langugage in different areas. Compiled languages like C/C++ usually run a bit faster while the interpreted languages, on the other hand, can evaluate themselves dynamically. So C/C++ is better for loop functions i.e. repeated run of same logic.

From the above discussion it is probably clear that Python, PHP, Ruby etc langugage has special use-cases.

Strongly typed means, as example a string containing only digits cannot transform into a number without performing some explicit operation. Type(abhishek) = 7 will return integer (int) while abhishek = 7.99 would return floating point number (float), while abhishek = “name is abhishek” would return string (str). For those reasons we can not easily echo, print using C, C++. We are pushed towards the basic. To avoid repeatedly doing basic we develop libraries. C does not count style of indentation, so is C++, or C++ variants like Arduino “langugage”.

Again, C is compiled while Python is interpreted. That mean we upload some 10111010... like code from our written C files and that runs and runs. While Python is excellent for some ready to do works like data analysis, machine learning. Python (and also Perl, Ruby, PHP) forces to use microprocessor.

We want to say that Python makes many thing easier which definitely bad for learning. It is actually easier to use full Python and Raspberry Pi and use some webservice like Watson Visual Recognition. The same work is quite complex even via Arduino’s langugage (as one have to write some C++ snippets for unique works). Complex works good for the brain.

CircuitPython vs C C++ vs Lua for the Microcontrollers

 

Is it Means CircuitPython is Bad?

 

No. The use-cases are different. Python in any form is good for easy prototyping particularly when Graphics involved, data science involved. CircuitPython is a fork of MicroPython and targeted to be compliant with CPython. CircuitPython, MicroPython helps more learning real Python. Those who already mastered C, C++, Python using any langugage enough good for them.

Python in any form invites wastage of resources if work is too easy. It is fact that Adafruit like open source hardware companies hugely worked to make Python easily usable in microprocessor for the learner segment and that way actually exceptional which decreased the cost of hardware, complexities of software setup. Furthermore the cost of the 32-bit microcontrollers are decreasing. C, C++ are definitely recommended for fool-proof production grade work whenever possible. CircuitPython definitely better than using a Raspberry Pi for simple works. CircuitPython, MicroPython are good see real time changes while coding, understanding the scope of Python.

 

What is About Lua?

 

Lua is still a lesser used langugage. It has abstraction of C. Lua appears like new langugage but it is quite old, since the early 90s Lua actually had users. Lua used mostly for configuration language, scripting in web software. Lua is faster than Python but has lesser resources.

 

Conclusion

 

C, C++ are powerful langugage, forces to learn the basic, runs with minimal resource, uploaded in compiled form, faster to run. CircuitPython and variations of Python has not much new things to learn, easy for some types of prototyping and has specific use-cases. Lua is for the advanced users who already know C, C++, Python, Perl and may be Ruby.

Tagged With lua vs c on interrupts , esp32 streaming arduino vs python vs lua , lua vs c , which microcontroller can be used with lua , lua vs python in microcontrollers , lua vs python , lua vs arduino , compare strings circuitpython , circuitpython speed vs arduino , c vs lua

This Article Has Been Shared 601 Times!

Facebook Twitter Pinterest

Abhishek Ghosh

About Abhishek Ghosh

Abhishek Ghosh is a Businessman, Surgeon, Author and Blogger. You can keep touch with him on Twitter - @AbhishekCTRL.

Here’s what we’ve got for you which might like :

Articles Related to CircuitPython vs C/C++ vs Lua for the Microcontrollers

  • ESP32 Arduino : Create a Webpage to Control a Relay Module

    Here is How to Create a Webpage to Control a Relay Module Using ESP32 Arduino. This is a basic example which provides the base of advanced projects.

  • Arduino ESP32 : Turn on LED on Button Press and Turn Off After a Period

    Here is How to Turn on LED on Button Press and Turn Off After a Period on Arduino ESP32. For this guide, we will use onboard boot button and onboard LED.

  • ESP32 Arduino with DHT11 Sensor : Connection & Code

    Here is Connection & Working Code for ESP32 Arduino with DHT11 Sensor. We will use Adafruit’s libraries for DHT11 and DH22 Temperature Humidity Modules.

  • How to Invert Signal for Arduino (HIGH to LOW or the Reverse)

    Such need is common when then need interfacing for IoT with household gadgets. Here is How to Invert Signal for Arduino (HIGH to LOW or the Reverse).

  • ESP32 Arduino Built-in Hall Sensor Code & Theory

    ESP32 has a Hall Effect Sensor near pin 22. Here is ESP32 Arduino Built-in Hall Sensor Code & Theory. Here is something about Hall Effect Sensor as well.

Additionally, performing a search on this website can help you. Also, we have YouTube Videos.

Take The Conversation Further ...

We'd love to know your thoughts on this article.
Meet the Author over on Twitter to join the conversation right now!

If you want to Advertise on our Article or want a Sponsored Article, you are invited to Contact us.

Contact Us

Subscribe To Our Free Newsletter

Get new posts by email:

Please Confirm the Subscription When Approval Email Will Arrive in Your Email Inbox as Second Step.

Search this website…

 

Popular Articles

Our Homepage is best place to find popular articles!

Here Are Some Good to Read Articles :

  • Cloud Computing Service Models
  • What is Cloud Computing?
  • Cloud Computing and Social Networks in Mobile Space
  • ARM Processor Architecture
  • What Camera Mode to Choose
  • Indispensable MySQL queries for custom fields in WordPress
  • Windows 7 Speech Recognition Scripting Related Tutorials

Social Networks

  • Pinterest (24.3K Followers)
  • Twitter (5.8k Followers)
  • Facebook (5.7k Followers)
  • LinkedIn (3.7k Followers)
  • YouTube (1.3k Followers)
  • GitHub (Repository)
  • GitHub (Gists)
Looking to publish sponsored article on our website?

Contact us

Recent Posts

  • Four Foolproof Tips To Never Run Out Of Blog Ideas For Your Website March 28, 2023
  • The Interactive Entertainment Serving as a Tech Proving Ground March 28, 2023
  • Is it Good to Run Apache Web server and MySQL Database on Separate Cloud Servers? March 27, 2023
  • Advantages of Cloud Server Over Dedicated Server for Hosting WordPress March 26, 2023
  • Get Audiophile-Grade Music on Your Smartphone March 25, 2023

About This Article

Cite this article as: Abhishek Ghosh, "CircuitPython vs C/C++ vs Lua for the Microcontrollers," in The Customize Windows, April 4, 2019, March 29, 2023, https://thecustomizewindows.com/2019/04/circuitpython-vs-c-c-vs-lua-for-the-microcontrollers/.

Source:The Customize Windows, JiMA.in

PC users can consult Corrine Chorney for Security.

Want to know more about us? Read Notability and Mentions & Our Setup.

Copyright © 2023 - The Customize Windows | dESIGNed by The Customize Windows

Copyright  · Privacy Policy  · Advertising Policy  · Terms of Service  · Refund Policy

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Do not sell my personal information.
Cookie SettingsAccept
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT