-
-
Notifications
You must be signed in to change notification settings - Fork 732
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
The Arduino programming language is not fully documented #623
Comments
@per1234 Please can you guide on how to proceed to work on this issue. I want to work to resolve this issue by providing relevant documentation. |
Thanks for your offer to help! My goal for this issue was to start a discussion on how to resolve this. Hopefully some folks from Arduino will participate because this is a big decision. Until we have decided on how to proceed, no documentation work for this issue can be done. If we were to chose my second proposed solution, it would create a lot of documentation work on which help from the community would be very welcome.
Since this will be new documentation, I think some internal discussion at Arduino will be required before we create the page where it will be published. That likely would only happen after a Season of Docs application for the Arduino Core Documentation project was selected. However, you are welcome to write some documentation and publish it to your own GitHub repository, blog, Arduino Project Hub project, etc. There is a tremendous amount of excellent Arduino documentation available online from 3rd parties who wrote and published it on their own initiative without any interaction with the Arduino organization. |
@per1234 I have created a repository for the Arduino Core Documentation. https://github.com/animeshsrivastava24/Arduino-Core-Documentation/blob/master/README.md Please, help me with feedback and suggestion. |
I would be very much in favor of the first solution. One additional advantage is that making users aware of the relation to C++ would also open up a lot of extra resources (documentation, tutorials, stackoverflow posts, etc.) to them, which they previously did not realize applied to Arduino (this is different from the advantage you already listed, which is about applying Arduino docs and experience to C++ projects). In addition to the things you already listed, I think we should make explicit that:
|
Hi, Arduino newbie here. I just stumped upon this issue. I read the language reference and was puzzled by "How are libraries able to use additional language features like Since this issue has been open for several years, might I suggest a pragmatic approach to improve the situation without committing to any direction:
This will point anybody who wants more information in the right direction. |
They are not similar - they are the same. Arduino "language" is not a separate language -> it IS C++. The difference is not in the language itself, it is the fact that not all stuff from C++ standard library is available + there is extra (pre)pre-processing done on top of standard C++ build stuff. It is just GCC under the hood. GCC does not claim that it compiles some separate "arduino language" xd |
The Arduino Language Reference is the only official documentation of the Arduino programming language, but it is far from complete.
Some examples of important things that are not mentioned in the the Arduino Language Reference:
enum
How can users be expected to learn these parts of the Arduino programming language from the current documentation?
In my own learning journey with Arduino I started writing sketches using the Arduino Language Reference as a guide and quickly reached a point where I said to myself "Is that all there is to the Arduino programming language? I need more." I was about to give up on Arduino and move on to a more capable microcontroller platform when I stumbled across a post on the Arduino Forum that made me realize that there was so much more to the Arduino programming language, but I would need to use a C++ programming reference to discover it.
Once I realized this, I knew Arduino was the right choice. So it worked out OK for me, but this is far from an ideal learning path. How many other users in my situation would never chance upon that forum post? I know I'm not the only one who has had this sort of experience because it comes up regularly on the forum.
I can see two possible solutions:
Document the differences between the Arduino programming language and C++
Create a new page on arduino.cc that explains what the Arduino programming language is:
#include <Arduino.h>
if not already present.This means the Arduino Language Reference only needs to document the Arduino core API and some basics to get beginners started, which it already does a good job of.
Advantages:
Disadvantages:
Fully document the Arduino programming Language in the Arduino Language Reference
Advantages:
Disadvantages:
Related
constexpr
should be mentioned and discussed on theconst
page #709The text was updated successfully, but these errors were encountered: