Potential alternative offline IDEs

And what if you treat Arduino as a language in itself, and not a simplification or jumping point for specifically C++? What about transitioning to C or javascript, or Python, etc.? Is having learned C++ instead of Arduino much different in this case?

And, are the majority of makers that Arduino is targeted to likely to want to transition to something else? If they do, I suspect that they have a high enough interest in programming to make the effort.

My view is simply based on the X amount of times I’ve spent explaining former Arduino users why their C code doesn’t work.

Otherwise I am cool with it.

1 Like

And do you think it’s more trouble than it would be explaining to former Python users why their C code doesn’t work?

Again, I’m making the point that Arduino should be treated as a separate language, closely related to, but not identical to, C++ or C. The Arduino Reference talks about the Arduino programming language. It makes no mention of C++.

Arduino marketing department can call it whatever they want. Its C/C++ with a bunch of macros, libraries and a make system. If it were not so, you couldn’t use a C compiler to make identical code from the command line.

Do you think makers following the Arduino Reference care? C++ is just assembler with a bunch of extra processing.

@Pharap is going to tell you it’s not C.

Directly from Arduino official FAQ on arduino.cc:
"
Can I program the Arduino board in C?
In fact, you already are; the Arduino language is merely a set of C/C++ functions that can be called from your code. Your sketch undergoes minor changes (e.g. automatic generation of function prototypes) and then is passed directly to a C/C++ compiler (avr-g++). All standard C and C++ constructs supported by avr-g++ should work in Arduino. For more details, see the page on the Arduino build process."

1 Like

From a programmer’s point of view I agree.
If someone is going to be serious about programming hardware they should learn to use the language properly from the start.

I understand the desire to want it to be simple, but (as I mention later on) if they wanted it to be accessible to people who don’t actually want to program then they could have made some better choices.


I’d be more inclined to do that if they had a standalone “Arduino Language” compiler, but as long as they’re relying on a poorly written translator it’s like someone thinking putting a paper bag over their head is a good disguise.

If they really wanted to target people who don’t actually want to program and just want to get their trinkets whirring then they could have picked any number of languages that are easy to learn, like BASIC or Scratch.

Yes it does:

STRUCTURE

The elements of Arduino (C++) code

Normally I’m telling people that the code they write for the Arduboy is C++ because they have to use C++ to use the Arduboy2 library, and that C is not a subset of C++.

But this one’s not quite as clear cut because it’s about the Arduino suite as a whole.
Though for most ‘sketches’ it probably would have to be a C++ compiler.

Now I’m going to be akward and say it’s ‘assembly’, not ‘assembler’. The language is an assembly language, the program is the assembler.

If you carry on that chain it becomes “assembly is just machine code with extra processing” and then “machine code is just a bunch of circuits” and then “circuits are just atoms and electricity”.

Well, some people do.


Perhaps I ought to pull this out into a new thread “Arduino: is it evil?” :P

Been using Atom and PlatformIO plugin to play around with Pokitto for a few days now on Fedora Linux. I must say even with the few hiccups at the beginning it is much easier for me to work on this from the comfort of a system I already am used to. And with now internet connection :smiley:

3 Likes