I started teaching myself computer programming about 5 or 6 years ago. I went through everything from Basic to HTML and scripting. I learned about ram, eprom, eeprom, and studied assembler.
My verbose here isn't meant to be unkind. So take it for what you will!
It occurred to me as I worked out some arduino hookups, that arduino appears to be just an eeprom on a mini sized micro motherboard that could be used for just about any small remote task, and that even with a complete knowledge of the system, I might find the inventors engineering to be my worst failing, and in that, its'(arduinos) biggest failing is probably the same "Once you know how to do it, it works fine" principle that I have found in all the other equipment known as "electronics".
I don't know much about eprom. I know that the spec was built on an open platform, and it was supposed to be interhangable between devices, but in the end, that system proved to be the largest problem and that's why the big eproms were replaced by complete circuit, solidstate chips.
I wondered if the arduino is a simple eeprom system, or if it is a complex (and sometimes one of a kind) solidstate system? Or maybe the different kinds of arduinos are the different platforms that have been created?
The core Arduinos based on the Atmel processors are not "simple eeprom" systems, whatever that means. They are fully featured micro-controllers and the IDE provides the environment for them to be programmed in C++ including the use of Object Oriented Programming if you want.
Should you wish to program them at a lower level then you can do it in assembler although C++ itself provides access to the various GPIO registers and the timers within the processor chip.
Twas once this regular line code editor called "edit" that allowed a guy to change the programs in Basic, and a program called "DOS" that was functionally a command line without graphics...(sorry I got old on you kid!) So here comes this savy genius hardware fanatic who creates a mini computer that an be programmed in C++(for you new bees... C++ is microsofts entire suite of windows designer programs.) I have yet to see the C++ compiler system do anything but draw pictures on the monitor....
So back to my original boggle....
Is the arduino a proware device, that is only capable of doing what it was designed to do?
Or is it an open platform designware that isn't compatible with anything but itself?
tedstruk:
Twas once this regular line code editor called "edit" that allowed a guy to change the programs in Basic, and a program called "DOS" that was functionally a command line without graphics...(sorry I got old on you kid!) So here comes this savy genius hardware fanatic who creates a mini computer that an be programmed in C++(for you new bees... C++ is microsofts entire suite of windows designer programs.) I have yet to see the C++ compiler system do anything but draw pictures on the monitor....
So back to my original boggle....
Is the arduino a proware device, that is only capable of doing what it was designed to do?
Or is it an open platform designware that isn't compatible with anything but itself?
I think you're confused about many things. First, C++ is not "microsofts entire suite of windows designer programs". It's a language based on C and has been around since 1979.
You've got me confused too... if you started teaching yourself programming only 5 or 6 years ago, how would know all about DOS and BASIC? (I'm also old enough to have programmed in GWBASIC and QBASIC in DOS, by the way.)
But to answer your questions (even though your questions are a false dichotomy), Arduino is an open platform that can do virtually anything you want to do with it (within the limitations of its memory and processing abilities). The Arduino software has a wide range of libraries to help you do stuff (control servos, read sensors, display graphics on a screen, etc.) so that you don't have to write that stuff yourself. You're not limited to using those libraries, of course. The hardware is compatible with industry standard protocols, such as I2C, SPI, UART, etc.
Wow! Rarely have I seen so much mis-understanding encapsulated in two short posts. Your understanding of the Arduino ecosystem, programming in general, and c++ in particular is not even close to correct. Most of what you think you understand, you clearly do not.
Not only is an Arduino NOT a "simple eprom system", Arduinos do not even contain an eprom at all, other than the very small bit is eeprom provided in some for non-volatile date-only storage. Virtually NO modern microprocessors use eprom, and have not for almost 20 years.
Do you use Microsoft Windows? The majority of Windows applications, and Windows itself are written in c++. c++ is an industry standard language that has NOTHING to do with Microsoft, or Windows, other than that Microsoft has used c++, and written c++ compilers for decades. c++ as a language is capable of performing literally ANY programming task, and is almost certainly the MOST popular, most widely-used, programming language of all time, regardless of platform or application, and has been since the early 1990s. I can virtually guarantee you own MANY electronic devices with embedded processors of all kinds that were programmed using c++.
I worked with C++ for about 6 months. I did a few of the programming examples and found it devastating.
If it wasn't a professional error that was purposefully built into the program or system, it was a typo in the book that was placed in quite a mis-understandable position in the text.!!
C++ is a compiler...not a generator. That means it relys on the programs and systems that used to build the program before it. It isn't, by a long shot, open platform.
I don't think there are any open platform compilers... other than sketch and arduino!???