arduino

A lot of guys cannot get beyond the BASIC language. It is just too hard to come to grips with, no matter how much alacrity (enthusiasm / passion) Even with all those new brain cells that develop when you want something so so bad. A splitting headache coupled with doing your head in is no fun.
I feel that they (many of them) are, in fact, victims of BASIC (i.e. 'sloppy Fortran') --- My observation is that the human mind is analogous to Boyle's ideal gas in that it tends to fill the container to which it is confined...

With respectful regards
HP:)
 

OBW0549

Joined Mar 2, 2015
3,566
Or should we all just start off using assembly language which requires an IQ of 140+ on top of an science degree?
Assembly language programming requires neither a 140+ IQ nor a science degree-- just a willingness to do a little extra work and a strong desire to "get down in the mud" with the hardware. I started working with assembly language on the job back in the 1970's on the Intel 4040 4-bit microprocessor, armed only with a high school diploma and my first couple of EE/CS courses at university. Since then, I've worked with the 6800, 68000, 8086, 68HC11, CP1600, and half a dozen PICs ranging from the PIC10F322 up through, most recently, the dsPIC33EP256GP502. The only one that gave me fits was the 8086. Horrid little thing...

The main hurdle with assembly language programming, IMO, is not that the programming itself is at all difficult; it's that there is a VERY significant learning curve, and a lot of detail to master because one is working very close to the "bare metal."

Nevertheless, it is NOT rocket science.
 
Assembly language programming requires neither a 140+ IQ nor a science degree-- just a willingness to do a little extra work and a strong desire to "get down in the mud" with the hardware. I started working with assembly language on the job back in the 1970's on the Intel 4040 4-bit microprocessor, armed only with a high school diploma and my first couple of EE/CS courses at university. Since then, I've worked with the 6800, 68000, 8086, 68HC11, CP1600, and half a dozen PICs ranging from the PIC10F322 up through, most recently, the dsPIC33EP256GP502. The only one that gave me fits was the 8086. Horrid little thing...

The main hurdle with assembly language programming, IMO, is not that the programming itself is at all difficult; it's that there is a VERY significant learning curve, and a lot of detail to master because one is working very close to the "bare metal."

Nevertheless, it is NOT rocket science.
Agreed!!!

Sadly, owing to lack of emphasis, even disincentivization, physical-level programing (and, in fact, physical-level everything) is becoming a 'lost art' and, with it, engineering and, indeed, appreciation of existential reality itself :rolleyes:

Best regards
HP
 

OBW0549

Joined Mar 2, 2015
3,566
A lot of guys cannot get beyond the BASIC language.
That's just plain... sad.

It is just too hard to come to grips with, no matter how much alacrity (enthusiasm / passion) Even with all those new brain cells that develop when you want something so so bad. A splitting headache coupled with doing your head in is no fun.
What in the dickens is so hard about it???

Yeah, I can see where someone who has become long-accustomed to the comforts and conveniences of working with a modern C compiler (or Pascal, or BASIC, or name-your-favorite-language) might find the transition to assembly language confusing at first, but after that it just gets easier and easier.
 

djsfantasi

Joined Apr 11, 2010
9,237
Remember there are very different audiences. Some hobbyist or beginners are not ready to build their own microprocessor. And some indeed may not have the need to do so. Unabashedly, I admit I am one. I use an Arduino Mega with about 800 lines of C cde to run an animatronic.

As to the argument of learning assembler, BASIC, C or some other programming language, again there are different arguments. Someone mentioned IT professionals. I'd say that learning programming for them is more about learning to think in a structured manner to solve a problem. Programing in C is not in high demand, but writing a script in Power Shell or Bash is! In this case, the language is moot...
 
That's just plain... sad.


What in the dickens is so hard about it???

Yeah, I can see where someone who has become long-accustomed to the comforts and conveniences of working with a modern C compiler (or Pascal, or BASIC, or name-your-favorite-language) might find the transition to assembly language confusing at first, but after that it just gets easier and easier.
To that I would add that anyone who can 'handle' acquisition of a second (spoken) language (judging from the number of 'ESLers' on these fora such is far from uncommon) should have no difficulty learning to code in assembly!:cool:

Best regards
HP
 

djsfantasi

Joined Apr 11, 2010
9,237
What is a Computer Engineering degree? I'm going on the assumption that it is different than an Information Technology degree. At least it was 40 years ago...
 

mcgyvr

Joined Oct 15, 2009
5,394
What is a Computer Engineering degree? I'm going on the assumption that it is different than an Information Technology degree. At least it was 40 years ago...
One fixes computers/networking issues (IT monkey).. one can build one from the ground up (real Engineer).. (or should be able to)...
 

MCU88

Joined Mar 12, 2015
358
What is a Computer Engineering degree? I'm going on the assumption that it is different than an Information Technology degree. At least it was 40 years ago...
In Australia, a science degree in information technology requires that you do some psychology units.
 

MrChips

Joined Oct 2, 2009
34,817
You are just so all round knowledgeable. I assume that you are...
There are many knowledgeable folks right here on AAC. That's what so great about AAC.

We each have our own gaps in our knowledge base. Collectively we fill those gaps and cover a lot of ground.
 
Last edited:

mcgyvr

Joined Oct 15, 2009
5,394
I love Arduinos..
I use them all the time at work for creating test fixtures,etc...

Do I consider myself a programmer?... heck NO.. but enough to get the arduino to do what I want (which this time includes 3 Arduino megas in master-slave-slave configuration talking to each other for sync/error reporting/2d barcode scanning/reading & writing to a mysql database/relay switching,etc.. ALL pins are being used on both slaves)

But I couldn't write a simple program in C to blink an LED on a AVR chip itself without having to look it up on the internet... Could I.. SURE.. Have I needed to yet.. NO.. Will I learn when the time comes... absolutely

Thats the beauty of devices like Arduino.. You are up and running in minutes with very little programming knowledge.. The tutorials on the site and the thousands of other examples around the internet are enough for anyone to get up and running fast...
 

MCU88

Joined Mar 12, 2015
358
I love Arduinos..
Do I consider myself a programmer?... heck NO..
If you are keen to learn the basic fundamentals of computer programming (OOP Object-Orientated-Programming) -- in fact, then you may want to consider having a look at http://www.alice.org/index.php

The Universities in Australia use the Alice platform in one complete unit, which is an lead up to the next unit of Java programming. The third unit involves designing and GUI (Graphical-User-Interface) I did this unit using Alice, and the assignments were rather tricky actually. It is not simple.
 

tshuck

Joined Oct 18, 2012
3,534
Learning about microcontrollers using the Arduino sets folks up for failure, or, at least, misconceptions. The Arduino allows users to create a project while understanding nothing about how/why it works, which is fine for anyone that is not working toward an electrical/electronic engineering degree.

Too often Arduino is a tool for nontechnical people to do technical things and a crutch for technical people attempting technical things.
 

MCU88

Joined Mar 12, 2015
358
Learning about microcontrollers using the Arduino sets folks up for failure, or, at least, misconceptions. The Arduino allows users to create a project while understanding nothing about how/why it works, which is fine for anyone that is not working toward an electrical/electronic engineering degree.

Too often Arduino is a tool for nontechnical people to do technical things and a crutch for technical people attempting technical things.
That's a bit harsh. The system does use industry standard ANSI C. I hear even the most fluent ASM programmers are using C to write applications for the latest and greatest MCUs. The C language saves time, and time is money when in business.
 

tshuck

Joined Oct 18, 2012
3,534
That's a bit harsh. The system does use industry standard ANSI C. I hear even the most fluent ASM programmers are using C to write applications for the latest and greatest MCUs. The C language saves time, and time is money when in business.
That's all well and good, but misses the point in how the Arduino language actually works when compiled into the controller.

How would, say, digital write() work on the controller? Now, what if you did that to turn on 3 pins? That's what would normally be a single ASM statement split into 3 lines of C, which, in turn, may be compiled into 3, or more, statements itself.

ANSI C does not work on a microcontroller, there are always additions to work around this.

It sounds like you yourself may be a victim of those same misconceptions I was referring to.
 

DickCappels

Joined Aug 21, 2008
10,661
Just a quick note: Parallax's Basic Stamp series had become a standard tool at universities to allow students to quickly make projects that required a microcontroller but did not want to spend time learning that part of the electronics and designing the uC circuit, and were not and would not become programmers.

One example was a recently graduated industrial designer who started at my company and showed up in my lab with an industrial design demonstration with his Basic Stamp as the computer.

Arudino was developed as an inexpensive platform to replace Basic Stamp in many of these teaching settings.
 
Top