Considering that most of the Thread-Starters here are demonstrating an interest in
"learning Electronics", (whatever their idea of that may be),
I think that there are 2 distinctly different "Worlds" that must be learned to
have a well rounded ability in working with "electronics".
First, and from my viewpoint, the easiest, or most basic, is learning Analog and simple Gates,
mostly because this knowledge is virtually required for most, if not all, interfacing
with the outside World,
whether You are using a Micro-Controller, or making a fully Discrete-Device.
So I consider learning Analog and simple Gates a prerequisite to learning Micro-Controllers.
Unfortunately, Micro-Controllers "look" far more simple than they really are, and
I think this may cause many people to "start-in-the-middle" of the learning-curve,
leaving-out all of the intricacies of interfacing a Micro-Controller to the World, and
also leaving out complete alternatives to using a MC which, on occasion, may be a superior solution.
There are also 2 distinctly different learning "activities" when looking at the
differences between learning Analog-Circuits and MC Programming,
Analog learning, generally, is mostly Math-Based with a set of associations of
anomalies of particular types of Components,
whereas Programming requires learning a whole new type of foreign Language,
or even multiple Languages, some of which apply under certain circumstances
and others that apply under different circumstances,
therefore, learning to "Write Code" favors a type of person
who has, what is loosely called, a "Photographic-Memory",
( I have a genius I.Q., but I do not have a "Photographic-Memory" ).
A "Photographic-Memory" can be a very useful thing at times,
but it can also make a not-so-bright person appear to be very smart,
when in reality, they may not be smart at all,
but on the other hand,
they can quote "Chapter-and-Verse" from any book they ever had an interest in,
but not necessarily be able to tell You what it means, or how it relates to other information.
This is all to point-out that to become proficient in Writing-Code
You need to posses a fairly high I.Q., and a "Photographic-Memory",
and have a need or want to use it, and exercise this skill regularly,
otherwise it becomes a "Copy-&-Paste", then "cross your fingers" and hope it works type of scenario.
In my estimation, the above boils-down-to 90% of the people that want to use a MC for a project
have no clue of what they are actually asking for,
and the people who are insistent on "No-MC" know even less.
But, of course, everybody has to start somewhere .........
I simply loose interest when I find-out that the person is not really trying to learn anything,
they just want to be told what to buy on Ali-Express, and how to plug it in,
but if they are working hard to actually learn something,
all of my very broad experience is at their disposal.
Unfortunately that includes Zero Code-Writing experience,
which isn't necessarily a bad thing,
because if the project doesn't have some sort of "Display" requirement,
I can probably offer an alternative Analog-Solution to the problem.
Another factor to consider is just plain being tired of hearing the constant barrage that
Arduino is the answer to World-Hunger, and the greatest thing since Sliced-Bread.
It gets old after a while, and truly innovative and useful uses for them,
( aside from flashing LEDs ), are not really all that much "better".
Analog-Circuits and MC's each have their strong and weak points,
and should be evaluated against each other on a case by case basis.
After saying all this, I'd like to make it clear that I think MC's are very important,
but more important than Chips, are highly-competent future Code-Writers,
and they need to learn at least the basics of Analog first.
.
.
.
"learning Electronics", (whatever their idea of that may be),
I think that there are 2 distinctly different "Worlds" that must be learned to
have a well rounded ability in working with "electronics".
First, and from my viewpoint, the easiest, or most basic, is learning Analog and simple Gates,
mostly because this knowledge is virtually required for most, if not all, interfacing
with the outside World,
whether You are using a Micro-Controller, or making a fully Discrete-Device.
So I consider learning Analog and simple Gates a prerequisite to learning Micro-Controllers.
Unfortunately, Micro-Controllers "look" far more simple than they really are, and
I think this may cause many people to "start-in-the-middle" of the learning-curve,
leaving-out all of the intricacies of interfacing a Micro-Controller to the World, and
also leaving out complete alternatives to using a MC which, on occasion, may be a superior solution.
There are also 2 distinctly different learning "activities" when looking at the
differences between learning Analog-Circuits and MC Programming,
Analog learning, generally, is mostly Math-Based with a set of associations of
anomalies of particular types of Components,
whereas Programming requires learning a whole new type of foreign Language,
or even multiple Languages, some of which apply under certain circumstances
and others that apply under different circumstances,
therefore, learning to "Write Code" favors a type of person
who has, what is loosely called, a "Photographic-Memory",
( I have a genius I.Q., but I do not have a "Photographic-Memory" ).
A "Photographic-Memory" can be a very useful thing at times,
but it can also make a not-so-bright person appear to be very smart,
when in reality, they may not be smart at all,
but on the other hand,
they can quote "Chapter-and-Verse" from any book they ever had an interest in,
but not necessarily be able to tell You what it means, or how it relates to other information.
This is all to point-out that to become proficient in Writing-Code
You need to posses a fairly high I.Q., and a "Photographic-Memory",
and have a need or want to use it, and exercise this skill regularly,
otherwise it becomes a "Copy-&-Paste", then "cross your fingers" and hope it works type of scenario.
In my estimation, the above boils-down-to 90% of the people that want to use a MC for a project
have no clue of what they are actually asking for,
and the people who are insistent on "No-MC" know even less.
But, of course, everybody has to start somewhere .........
I simply loose interest when I find-out that the person is not really trying to learn anything,
they just want to be told what to buy on Ali-Express, and how to plug it in,
but if they are working hard to actually learn something,
all of my very broad experience is at their disposal.
Unfortunately that includes Zero Code-Writing experience,
which isn't necessarily a bad thing,
because if the project doesn't have some sort of "Display" requirement,
I can probably offer an alternative Analog-Solution to the problem.
Another factor to consider is just plain being tired of hearing the constant barrage that
Arduino is the answer to World-Hunger, and the greatest thing since Sliced-Bread.
It gets old after a while, and truly innovative and useful uses for them,
( aside from flashing LEDs ), are not really all that much "better".
Analog-Circuits and MC's each have their strong and weak points,
and should be evaluated against each other on a case by case basis.
After saying all this, I'd like to make it clear that I think MC's are very important,
but more important than Chips, are highly-competent future Code-Writers,
and they need to learn at least the basics of Analog first.
.
.
.