Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IDEA] Allow Other Coding Languages to Be Used for Arduinos #12028

Closed
LoganPaxton opened this issue Jan 22, 2025 · 1 comment
Closed

[IDEA] Allow Other Coding Languages to Be Used for Arduinos #12028

LoganPaxton opened this issue Jan 22, 2025 · 1 comment
Assignees
Labels
feature request A request to make an enhancement (not a bug fix) Type: Wontfix Arduino has decided that it will not resolve the reported issue or implement the requested feature

Comments

@LoganPaxton
Copy link

LoganPaxton commented Jan 22, 2025

So, what if instead of relying solely on C++, Arduino supported languages like JavaScript or Python? According to Statista, in 2024, JavaScript was used by 62.3% of developers, and Python by 51%. Additionally, SmartBear identifies Python as one of the best languages for beginners. This means Arduino could become an even more accessible platform for newcomers to learn programming, wiring, and hardware design.

By adding support for these widely used languages, Arduino could empower a broader range of people to explore, create, and innovate. While there are third-party options like Espruino for JavaScript or MicroPython for Python, they don’t support every board. For instance, the Arduino Uno R4 WiFi (which I personally use) can’t reliably run MicroPython or Espruino. Ports exist, but they’re often inconsistent or unreliable. Most users prefer official solutions from the original software authors.

If Arduino officially supported JavaScript or Python, it would eliminate the need for third-party firmware and make the platform more beginner-friendly. They could integrate these languages alongside the existing C++ support, not replace it.

Furthermore, while the Arduino Language (a simplified version of C++) is user-friendly, C++ itself is known for its steep learning curve (Educative.io). Beginners may struggle with it, and the Arduino Language’s limited applicability outside the Arduino ecosystem can be a downside. On the other hand, learning Python or JavaScript offers transferable skills for broader programming opportunities.

So, Arduino, I urge you to consider adding official support for languages like JavaScript or Python. Even Java could be an option. Expanding language support would open the door to new users, new projects, and new ideas.

TL;DR:
Arduino currently only offers C++ as the base language for programming. Adding support for languages like JavaScript or Python would make Arduino more accessible, beginner-friendly, and versatile.

Edit: Sorry, I would post this on the Google group, but I don't have access to the group.

@per1234 per1234 self-assigned this Jan 23, 2025
@per1234
Copy link
Collaborator

per1234 commented Jan 23, 2025

Hi @LoganPaxton.

what if instead of relying solely on C++, Arduino supported languages like JavaScript

That is out of scope for this project. Feel free to start your own project to provide support for programming Arduino boards with JavaScript programs.

or Python?

You'll be glad to learn that Arduino has spent years dedicating a significant amount of our finite resources towards providing MicroPython support. Since you are so interested in this subject, I'm surprised you weren't aware of this:

https://blog.arduino.cc/2022/11/10/micropython-officially-becomes-part-of-the-arduino-ecosystem/

@per1234 per1234 closed this as not planned Won't fix, can't repro, duplicate, stale Jan 23, 2025
@per1234 per1234 added feature request A request to make an enhancement (not a bug fix) Type: Wontfix Arduino has decided that it will not resolve the reported issue or implement the requested feature labels Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request A request to make an enhancement (not a bug fix) Type: Wontfix Arduino has decided that it will not resolve the reported issue or implement the requested feature
Projects
None yet
Development

No branches or pull requests

2 participants