Arduino or C++

C++ is everywhere so why should I learn Arduino instead? Is it a better way to learn how stuff works? There must be an advantage to it over C++. I just don't know what it is.

Please clue me in.

Thanks,
Pauly_F

The answer is simple. Arduino is C++. Learn Arduino you're learning C++. I am!

Proviso: With some minor modifications. Like New and Delete aren't implemented but can be added.

So, should I use my nerdkit or Arduino Demuileve ? (spelling?)

Arduino isn't [exactly] a programming language like c++. Arduino is a set of tools - hardware and software - that enable a user to easily enter the microcontroller world. Part of this is the custom language the Arduino uses to help make it easier for the user to address/manipulate hardware on the avr chip (the arduino's "brain"), which is a modified version/subset of C. If anything, learning C++ will help you with using the Arduino, and vice versa.

Sorry jezuz, I think you're splitting hairs on language stuff ;). I'm writing straight C++ for my Arduino and have even implemented New and Delete functions which were dropped (for good reason) from the Arduino implementation of C/C++.

As for NerdKits vs. Arduino Duemilanove, I don't know. I've never used a NerdKit. But I loooooove Arduino. So much so that I've just soldered one into my netbook.

Hardware Hack: Arduino Inside! :sunglasses:

Well that is really for you to answer. As this is the Arduino forum and many of us may have little or no knowledge about NerdKits, I would ask the following questions:

Is the NerdKit based on open source software and hardware design?

Are there 3rd party hardware vendors that that can supply compatible or enhancements processor and I/O boards?

Does the NerdKit offer a users forum with lots of members available to help?

Does NerdKit offer support to different processor models to better match memory and I/O requirements to your application projects.

Can your completed application software be transferred to a standalone processor that is integrated into a larger single board?

As I said, I had not even heard of NerKits, but maybe my questions will help you decide?

Lefty

So sue me... I always talk in analogy mode...

It's sort of like Microwavable Food. Arduino is still "Food" (I mean it is C) but someone did a lot of work so all you have to do is pop it in the microwave and you have something. You don't have to cut up smelly garlic and worry about burning your "shrimp scampi". With Arduino you practically heat and eat.

It's quicker and can be more fun... unless you are a "C" chef. Few of us are but there are some here anyway.

C++ is everywhere so why should I learn Arduino instead? Is it a better way to learn how stuff works? There must be an advantage to it over C++. I just don't know what it is.

Wait, were you referring to using C++ on avr microcontrollers or were you comparing c++ to arduino as pure programming languages? If it's the former, then disregard my previous post, I misunderstood what you were asking.

The AVR C(++?) is somewhat fun if you ever want to play around with it, but the Arduino programming language just makes it loads easier, esp. for newcomers.

So, should I use my nerdkit or Arduino Demuileve ? (spelling?)

Yes!

I looked at Nerdkits.com, and it looks like it uses the same microcontrollers (atmega168, atmega328) and the same compiler tools (avr-gcc, etc) as Arduino. I couldn't find a summary of what (if any) libraries are used with Nerdkits, so it's hard to evaluate that part...

I didn't get the impression that Nerdkits use C++; it looked like plain C.

Nerdkits look somewhat "nerdier"; wire your own chips on protoboard, etc.

C++ is everywhere so why should I learn Arduino instead? Is it a better way to learn how stuff works? There must be an advantage to it over C++.

C++ is not "everywhere." In particular, it's pretty uncommon on small microcontrollers. Arduino as a whole is somewhat more focused on "doing things without having to learn as much about how they work." If you really want to learn how microcontrollers work, you probably need to study an assembly language or two. (you might not need to actually program in assembly language, but a microcontroller data sheet (for example) tends to be written in a way that assumes the reader will understand concepts that are more-or-less unique to assembly programming.