Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Hard to help people

Status
Not open for further replies.

3v0

Coop Build Coordinator
Forum Supporter
Fellow tells me he needs to learn C++

I say start by learning about the concepts of OO like inheritance and polymorphism etc. He agrees to do so and we are to discuss them the next day.

I show up ready to ensure that he understands what OO is about. Hey says he did not look at them and says he is studying the language, something about copy constructors.

(05:00:44) 3v0: did you even start looking at the concepts of OO like I asked ?
(05:01:22) XXX: no and i'll tell you why
(05:01:43) XXX: i programmed RT in C 2 years without studying basics like how compiler works, how linker works
(05:01:47) XXX: i don't wanna do it again
(05:02:16) 3v0: well yeah that is what I am trying to prevent
(05:02:24) 3v0: but you go the other direction
(05:02:37) XXX: ok, then i;ll go

It is REALLY hard to help people when they can't see past what they already know or trust you to help them find the way. If they don't want to listen maybe they should stop asking for help!

Maybe I am just having a bad day...
 
Last edited:
Sometimes it's just easier to agree to disagree!! Once someone has a fixation over how something is done, there is no reasoning with them..

To be quite honest! With the onslaught of IDE's and compiling automation, no-one wants to know the mechanism any more.... If you asked if he could compile a multi source file project with the command line, he wouldn't be able too.... But! unfortunately, that's the way its going..
 
Human brain has two hemispheres. If you're right-brain dominant, you pay attention to the abstract concepts. If you're left-brain dominant, you see all the little details.

Studying C++ syntax is a delight for a left-brain dominant person, there are so many little details, twists, pecularities. You can do this for a long time, and it's really stunning how cmplicated things can become if you start exploring superposition of all syntax rules. This is a thing in itself. Sort of like Algol 68.

A right-brain dominant person will see C++ as a tool to program abstract objects. Therefore OOP vision is getting really important and actually there's nothing beyond it. All the syntax pecularities are regarded as a nuisiance and are rarely used.

Think these two people would ever agree?
 
If you're right-brain dominant, you pay attention to the abstract concepts. If you're left-brain dominant, you see all the little details.
Maybe I have drank so much that neither is dominant.. haha.
I like C languages details, but when I write even a small software for PC (with .net C# usually), I start by designing the software.. with pen and paper. Boxes and diagrams.
Then I redesign, read books.. and redesign. Then I start writing some code still thinking: "Is this a good design, will I get in trouble later when the project grows".
 
Human brain has two hemispheres. If you're right-brain dominant, you pay attention to the abstract concepts. If you're left-brain dominant, you see all the little details.

That's where us balanced ambidextrous brain users come in to the equation. We can appreciate both sides and mediate a common ground. ;)

Or slap both parties around an tell them to go and sit in the corner for a while while we correct their work. :p
 
For one, you have to understand the mechanisms of remembering and learning and then you have to taylor your approach to the way the recipient learns.

Mechanisms for learning include: Visual, verbal and Kinesthetic (repetition or how one learns to ride a bike).

Once you have that down, you can then approach the problem. I had a doc tell me that he could visualize in his mind the entire page of a text book when he took an exam. I can't. I have to do it Kinesthetically. That road is harder and longer. Memorizing is a chore for me.

When teaching people to operate equipment, some follow recipes really well, but cannot easily make their own and have a hard time figuring out what's wrong.
 
Once you have that down, you can then approach the problem. I had a doc tell me that he could visualize in his mind the entire page of a text book when he took an exam. I can't. I have to do it Kinesthetically. That road is harder and longer. Memorizing is a chore for me.

I've got a similar cognitive quirk that works to may advantage as well.

When working with a machine, device or system I can't take apart I can mentally visualize the theoretical and most likely internal details and layout of how it is put together or works based primarily on visual observations of the external layout which is a highly right brain ability.
Then from there I can break down the theoretical assemblies and do an analytical by the numbers troubleshooting procedure from that. :cool:

Still can't spell worth a darn without help though. :p
 
I see it like this. Learning C++ without knowing the basic concepts of OO (polymorphism, inhertance, etc) is like traveling without a map. It does not take long to read up on these things. When you what OO is all the bits that make up C++ will make a lot more sense.

You would think I asked they guy to read a book.
 
You would think I asked they guy to read a book.

I sometimes wish they would read a book.... However! some of the OOP syntax isn't explained very well.

I think Matt said it somewhere... If people just look at another OOP language... Java or C# they "may" get a better understanding... Diving into C++ from C without any prior knowledge of objects can be overwhelming...

C in my view is relativity easy to learn ( If you have the mindset ) But! I found when I was moving into C++, some books get too hung up on windows programming and that hinders the learning... For instance, some really well known books dive straight into the MFC without any explanation. Not only that they take an object, then name the instance with the same name but use lowercase..

CWINDOW cwindow = new(CWINDOW);

Why do books do that!!! Almost every one trying to learn OOP say the same thing "******* hell what's that all about!!!".

I then realize that some of this stuff has to be explained in plain english... ( Or another language, if you're not English)
 
For me it is sometimes hard to put myself into other persons position when they are learning C and I'm supposed to help. I started programming when I was 10 years old. I had Amiga500 and the language was Amos BASIC.. then I programmed more basic, when I got my first PC. When I started learning C, I already had 6 years of "programming experience". The key to learning is your own motivation and interest.

PS. I can't see any 10 year old today to be interest in programming. When I was 10, programming was only interesting thing you can do with your computer. Today kids have Windows 8, Playstations and iPhones as their first computer.. Do any kid even consider starting programming.
 
Last edited:
To the Ineffable All,

I don't know about those high level languages. I use assembler and I like it. I translated many C programs into assembler, and they are a lot smaller, and I suspect they also run faster. I like the absolute control you have over the program. For instance, I can sometimes PUSH parmeters onto the stack when they become available for a later CALL instead of storing them somewhere until I need them. And anyone can outsmart the compiler when it comes to executing a code sequence.

Ratch
 
For me it is sometimes hard to put myself into other persons position when they are learning C and I'm supposed to help.

Or any other subject for the case...

At the Uni, while teaching a subject quite far from Electronics, programming or similar, I learnt that you never can take for granted what would be the perception that other people will have. Even more, personal learning process seems to be unique to each one.

That's why, interaction (student-teachers and viceversa) works so well, at least for me.
 
I've got a similar cognitive quirk that works to may advantage as well.

When working with a machine, device or system I can't take apart I can mentally visualize the theoretical and most likely internal details and layout of how it is put together or works based primarily on visual observations of the external layout which is a highly right brain ability.
Then from there I can break down the theoretical assemblies and do an analytical by the numbers troubleshooting procedure from that. :cool:

Still can't spell worth a darn without help though. :p
Sounds like me.
 
Over the years I have come to believe that it is exceedingly difficult for many people to realize, let alone admit to, what they don't know.

Yet they are more than willing to ask a question of you and then, having received your answer, have the gall to tell you that you're wrong...

:banghead:
 
  • Like
Reactions: 3v0
How do you translate from C to Assembler if you do not know C? :wideyed:
 
The hi level vs assembler code size thing is a cut and dried issue. I so not see it as anything worth debating.

A fair asm hack can do better than an unoptimized compiler.

A fair optimizing compiler can do better then an asm programmer because the optimizer does not have to generate code that people can read or follow. This has been true for a long time.

In between there are all shades of grey.

Do whatever turns your crank.

Back to topic ?
 
Status
Not open for further replies.

Latest threads

Back
Top