Problems with Programming Terminology is hindering learning process.

This is a discussion on Problems with Programming Terminology is hindering learning process. within the C++ Programming forums, part of the General Programming Boards category; Hello everybody,
I'm desperate to know how I can get over this learning curve. I should tell you that I ...

Problems with Programming Terminology is hindering learning process.

Hello everybody,

I'm desperate to know how I can get over this learning curve. I should tell you that I have been exposed to programming before (Qbasic, HTML, CSS, ASM, C++) but it has all been very basic stuff. I've been trying to self teach myself code for years now and I still can't fully grasp it yet. I LOVE programming and all it has to offer, but the language used is hard to understand. This sounds stupid because my first language is english. But all the programming books/e-books that I've started to read make me want to put them down because they become hard to understand when explanation of a concept is being layed out. The other day I remembered a term (Recursion) from an article I was reading that made me stop because They didn't explain it thoroughly enough for me. I understand that computers are dumb and when programming you have to code every action that is taken by the user and machine. But isn't there a book that tells you exactly how you should create a function? And things like "destroying" a function, that sounds cool but it also tells me that functions need to be created and destroyed I never new that. What is that principle? I can learn pretty fast if the language does not require you to understand riddles because that is what i feel like I'm reading books with alot of riddles. Jeez! I don't spend enough time at my computer in front of and c++ ide to advance in my quest. It's beacuse I draw a blank and don't know where to begin, I certainly have ideas but can't code those ideas. Maybe i need to read more? I want to learn OOP but i wish there was a stupid, simple explanation i could use that would make sense. I dunno, maybe reading this rant one of you could remember how you learned code and share it with me. Ive lots of ideas for programs, plugins, API's but I lack rudimentary knowledge of my language. Please Help!

well maybe its just not your game if you have such problems with the lingua franca- however i recommed the c for dummies or c++ dummies books as it will gradually introduce the terms you are going to encounter. also you have to think of it like any trade, in carpentry or building for example- noggins, what the hell is that?? well its just a piece of wood used for support in a floor frame. point is when u know about building floor frames you start talking about noggins

The terms or phrases used in textbooks really are oversimplfied and sometimes mean the same thing twice, am I right? For instance:

It depends on your textbook. Some textbooks over-simplify to the point of meaningless. Some use the same word to mean different things at different times. Some terms do actually have a meaning that depends on context.

The first three of those are english words - the only thing that happens in programming is that those words are interpreted in a particular context.

Invoking just means "causing to happen" - invoking a function means calling the function. Invoking some section of code means causing that code to be executed.

Iteration just means "to repeat". In a programming language, there are usually constructs to make things happen repetitively, until some condition is met (repeat until we stop).

Convention is just an accepted way of doing or representing something. The C++ language itself is a convention. The way the compiler translates code into an executable (eg passing data to functions) relies on a convention - otherwise there would be no predictable way for any code to produce the intended results.

The other terms you describe have particular meanings. For example, in C++, a constructor is a particular function called in the process of creating an object in order to initialise that object.

Originally Posted by GYes777

Some of the examples provided usually introduce a topic but then introduce something else that hasn't been covered, that really makes me mad!

That is either a sign of a badly written book, or a of book that is written with an assumption you already know something.

For example, most books about baking cakes - by convention - assume you know how to use an oven. If you don't know how to use an oven, you will find books about baking cakes very frustrating.

An advanced textbook will often assume you have read - and understood - more basic textbooks. If you start reading an advanced textbook before you understand the basic ones, you will be very frustrated.

Originally Posted by GYes777

Maybe I do need to re-read the books again and again, but isn't there child-like books on c++ programming that can get me up to snuff in as little as a week?

I really want to start this API and Web mashup as my beginnning to learning the language. Hope this helps.

It's possible you've picked up a book that assumes you know more than you do (in fact, from your questions, I suspect this is what you have done). It's also possible that you have picked up a badly written book.

There are no "child-like" books on C++. There are some good introductory texts. However, I suspect your problem is that you think things are easier than they are. Writing a web mashup in C++ is not something you can expect to do in a week - C++ does not work at that level. It's something you might consider after you have a few months (or, if you're under a tight deadline, a few years) experience with C++ and also with various libraries and tools relevant to that job.

However, if you're expecting to be "up to snuff" in a week, you will be disappointed. I've used C++ professionally for well over a decade and there is a lot that I don't know about it.

If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

arguments: The things that you pass to a function, inside its brackets.variables: The named things that hold data, like numbers (e.g. int x).function prototype: A line that describes what a function is called, what its arguments are, and what its return type is etc.members: The variables that belong to a class.

These kind of terms are all very easy to understand if you do a quick google of them.

Here's pretty much the learning process of C/c++:
1. write some code, get compiling errors, then fix it.
2. write some more code, get run time errors, then learn to fix it.
3. write some more code, get no errors but wrong answers, then fix it some more.

Here's pretty much the learning process of C/c++:
1. write some code, get compiling errors, then fix it.
2. write some more code, get run time errors, then learn to fix it.
3. write some more code, get no errors but wrong answers, then fix it some more.

I've some programming experience with Pascal and lately I've been working my way through the intracacies of C... It's all good and so far most of it is making sense to me. I've even got some freeware out there I've written in C.

But, when I load up VC and try making sense of C++ I am the proverbial windshield bug... I get to a certain point and then this old brain just freezes right up. Objects, Classes, etc. just don't make any sense to me... I'm sure it's simple but so far I've never seen an explaination that makes any sense whatsoever to me. And, I assure you, it's not for the lack of trying.

C++ strikes me a like Linux... There is good reason to learn it, especially considering how Windows is slowly moving to an all OOP interface. But you really do need to know somebody. You need someone you can call who will make sense of it for you and show you how things work... because it's for certain you aren't going to get it from the documentation.

In both cases the books, tutorials and "how tos" seem to all be written for people who know the broader strokes and are stuck on the specifics. But if you don't get the bigger concepts and ideas, all those tiny little specifics aren't going to help you one little bit. These are documents written by people who already know the language (or OS) for people who already know the language (or OS)... They're not written for someone who has never even tried programming before. They start at a level far too high for the totally uninitiated to even hope to understand.

Now don't misunderstand this... I would love to learn C++ and have tried many times. But I always end up in the same place... "Why do I need a class here" and "What exactly does this accomplish"... I get how a class is put together, I get some of how you use them... but I don't for the life of me understand why I need them... They just don't make any sense to me.

When I try C++ I end up feeling like the apartment dweller who's just been sold a rototiller...