Thread: Problems with Programming Terminology is hindering learning process.

  1. #16
    -bleh-
    Join Date
    Aug 2010
    Location
    somewhere in this universe
    Posts
    463
    Quote Originally Posted by CommonTater View Post
    Don't feel bad. I've been where you are... and worse.

    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...
    You forgot another level of pain in C++: template ;-P.
    Last edited by nimitzhunter; 01-09-2011 at 12:57 AM.
    "All that we see or seem
    Is but a dream within a dream." - Poe

  2. #17
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by nimitzhunter View Post
    You forgot another level of pain in C++: template ;-P.
    Didn't forget... just never got that far.

  3. #18
    Registered User
    Join Date
    Jan 2011
    Posts
    4
    Wow man, you guys are great!

    That totally did me some good. I feel much better now than I did before. I guess the only solution to getting better at this little old lady is to read, write a little, compile, run, and learn from my mistakes. Really, I never knew I could do it that way. From my little experiences I had in school with programming, the programs were already given to us and you would just have to fix the obvious errors or enter what was written.

    I still think once I can get around the fact that the terms used are my only hurdle I'll start to understand why you can use the things they teach in the books to my advantage. And I know there is more than one way of coding things. I just have one more thing I'd like to ask, it relates to my second post.

    Now I mentioned that I wanted to start an API and I know the lot of you are saying, "Learn the language first!" but I think an API would be a great starting point for me. Even if it is a very, very, VERY simple API that should force me to think like I've been programming for years. So my question to all of you is....

    What are the components of an API? Too vague? What is inside and API? Is an API just a bunch of classes which contain variables, all types of functions, etc. Do you know what I mean. Could I write a class of something, maybe a couple, and then call it an API? How do I make an API? What kind of C++ code do I provide to the end user to make my API and API? See where I'm getting at?

    I've Googled API and every possible premutation and I can't find a single blog post, article, book, ebook that will tell me what is and API made from. A book is being published called API design for C++ that I think will be some help, but it is not out. I also have a copy of Practical API Design, which is helpful (it talks about the principles and philosophy of API design), but the author uses Java.

    So, if you all would, please enlighten me once again with all your experiences and exacting knowledge on C/C++. And I appreciate you guys, you ROCK!

    Thanks again, GYes777

    P.S. I would like to give a shout out to the following....

    stahta01
    nimitzhunter
    iMalc
    grumpy
    rogsterool
    commontater

    Thanks for clearing the fog! Peace..

  4. #19
    -bleh-
    Join Date
    Aug 2010
    Location
    somewhere in this universe
    Posts
    463
    Quote Originally Posted by GYes777 View Post
    Wow man, you guys are great!

    That totally did me some good. I feel much better now than I did before. I guess the only solution to getting better at this little old lady is to read, write a little, compile, run, and learn from my mistakes. Really, I never knew I could do it that way. From my little experiences I had in school with programming, the programs were already given to us and you would just have to fix the obvious errors or enter what was written.

    I still think once I can get around the fact that the terms used are my only hurdle I'll start to understand why you can use the things they teach in the books to my advantage. And I know there is more than one way of coding things. I just have one more thing I'd like to ask, it relates to my second post.

    Now I mentioned that I wanted to start an API and I know the lot of you are saying, "Learn the language first!" but I think an API would be a great starting point for me. Even if it is a very, very, VERY simple API that should force me to think like I've been programming for years. So my question to all of you is....

    What are the components of an API? Too vague? What is inside and API? Is an API just a bunch of classes which contain variables, all types of functions, etc. Do you know what I mean. Could I write a class of something, maybe a couple, and then call it an API? How do I make an API? What kind of C++ code do I provide to the end user to make my API and API? See where I'm getting at?

    I've Googled API and every possible premutation and I can't find a single blog post, article, book, ebook that will tell me what is and API made from. A book is being published called API design for C++ that I think will be some help, but it is not out. I also have a copy of Practical API Design, which is helpful (it talks about the principles and philosophy of API design), but the author uses Java.

    So, if you all would, please enlighten me once again with all your experiences and exacting knowledge on C/C++. And I appreciate you guys, you ROCK!

    Thanks again, GYes777

    P.S. I would like to give a shout out to the following....

    stahta01
    nimitzhunter
    iMalc
    grumpy
    rogsterool
    commontater

    Thanks for clearing the fog! Peace..
    If you want to do something fun, then go look at openGL for 3D graphic. It's the only one i think that you won't get bored reading. But, without knowing the basis of C/C++, you'll be lost pretty quick. Even in the first tutorial, you'll be thrown to deal with pointer to functions, and function handlers etc... Just get a primer book, peruse it from the beginning until the end of, at least, the chapter on functions then look at openGL.
    "All that we see or seem
    Is but a dream within a dream." - Poe

  5. #20
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by GYes777 View Post
    Now I mentioned that I wanted to start an API and I know the lot of you are saying, "Learn the language first!" but I think an API would be a great starting point for me. Even if it is a very, very, VERY simple API that should force me to think like I've been programming for years. So my question to all of you is....
    API stands for Application Programming Interface... basically it's the "system calls" that let you create software on a given OS...

    The Windows API is some 15,000 functions and a few dozen classes that allow you to create windows, controls and dialogs along with other functions such diskIO and newtwork comms... There are a ton of different "technologies" involved ranging from simple calls such as CreateWindow() all the way to hyper-complex COM and even Drivers that you can get mixed up in. Linux is only a little bit less complex... so it's pretty nasty too.

    Assuming you're on windows you should start by installing the Windows 7 SDK (Software Development Kit) which is full API disclosure and some helpful tools (and, as I just found out a rather stupid compiler). What you want from this is the Documentation which details everything in the Windows API.

    Download details: Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1

    I've been using PellesC and loving it.

    smorgasbordet - Pelles C

    I'm just now taking a stab at C++... and it's looking like Code::Blocks with MinGW is the way to go here...

    Code::Blocks

    Still looking for a visual resource editor to go with Code::Blocks but I suppose I can use the one in Pelles C for now...

    To get you started in Windows API programming you should take a look at the Forgers tutorial... it's far from total disclosure but it will get you started...

    theForger's Win32 API Tutorial

    From there... it's like you said, you get to think like you've been programming for years...

  6. #21
    and the Hat of Guessing tabstop's Avatar
    Join Date
    Nov 2007
    Posts
    14,336
    Quote Originally Posted by GYes777 View Post
    Wow man, you guys are great!

    That totally did me some good. I feel much better now than I did before. I guess the only solution to getting better at this little old lady is to read, write a little, compile, run, and learn from my mistakes. Really, I never knew I could do it that way. From my little experiences I had in school with programming, the programs were already given to us and you would just have to fix the obvious errors or enter what was written.

    I still think once I can get around the fact that the terms used are my only hurdle I'll start to understand why you can use the things they teach in the books to my advantage. And I know there is more than one way of coding things. I just have one more thing I'd like to ask, it relates to my second post.

    Now I mentioned that I wanted to start an API and I know the lot of you are saying, "Learn the language first!" but I think an API would be a great starting point for me. Even if it is a very, very, VERY simple API that should force me to think like I've been programming for years. So my question to all of you is....

    What are the components of an API? Too vague? What is inside and API? Is an API just a bunch of classes which contain variables, all types of functions, etc. Do you know what I mean. Could I write a class of something, maybe a couple, and then call it an API? How do I make an API? What kind of C++ code do I provide to the end user to make my API and API? See where I'm getting at?

    I've Googled API and every possible premutation and I can't find a single blog post, article, book, ebook that will tell me what is and API made from. A book is being published called API design for C++ that I think will be some help, but it is not out. I also have a copy of Practical API Design, which is helpful (it talks about the principles and philosophy of API design), but the author uses Java.

    So, if you all would, please enlighten me once again with all your experiences and exacting knowledge on C/C++. And I appreciate you guys, you ROCK!

    Thanks again, GYes777

    P.S. I would like to give a shout out to the following....

    stahta01
    nimitzhunter
    iMalc
    grumpy
    rogsterool
    commontater

    Thanks for clearing the fog! Peace..
    An API is what stands between a user-programmer and a chunk of binary (library) code. It's the tools that a programmer needs in order to use the library that you've written. For instance: when I've assigned students to write a library for dealing with vectors (math vectors, not STL vectors) basically I specify the API. "You need to write a class called vecthree, and it needs to support the operations of +, -, multiplying by a real number, dot, cross; as well as setting components and getting the coordinates as a three-element array." And I even give them what a user program would look like (that declares some variables and does some operations and things), and their job is to write the library behind the API.

    So I don't think you want to try to "create an API" -- that's not something you can do, programmatically; it's a design step. If you have some sort of package/library/whatever you want to make, then you'll make an API pretty much by necessity along the way.

  7. #22
    The Dragon Reborn
    Join Date
    Nov 2009
    Location
    Dublin, Ireland
    Posts
    629
    I know how you feel man. It annoys me too haha.
    Did you ever try the deitel books?

    And instead of reading, which I try to avoid for too hard topics, what about watching?

    CommonTater too, this might help. Although I have done a few C++, i still don't get the "point" of it yet. I maybe close though.

    http://www.youtube.com/watch?v=tyVhn0FWWB4
    You ended that sentence with a preposition...Bastard!

  8. #23
    Nasal Demon Xupicor's Avatar
    Join Date
    Sep 2010
    Location
    Poland
    Posts
    179
    As was stated before, actually coding, making mistakes, checking out books, references, boards (through querying Google first, not just asking the same question a ton of other beginners already did), IRC channels, etc, to find solutions will speed up the understanding of things.

    Don't feel too bad about not understanding things, in particular the "why", some things take time to... Well, settle down in your head. If you will not stop trying, one day it will start making sense, and then you'll think how dummy you were, since it's all so easy. No one was born with programming skills, it takes time, and we've all been there - more or less - you'll get through, just practice.

    If you don't get a term, google it. If you don't get the idea, google it - maybe some other author explained it better in a book or a blog article, or wherever.

    Oh, keep bookmarks to online references, useful articles, posts... At some point you'll have quite a lot of them, and they can get handy.

    To practice challenge yourself with some tasks like those on Sphere Online Judge (SPOJ) - start off with easy ones.

  9. #24
    Registered User
    Join Date
    May 2009
    Posts
    4,183
    Quote Originally Posted by nimitzhunter View Post
    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.
    1B. After fixing compiling errors, get Linker errors, then fix it.

    Tim S.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Tidying up Code and Compile Problems
    By suchthefool in forum C Programming
    Replies: 3
    Last Post: 08-11-2009, 02:42 PM
  2. Machine Learning with Lego Mindstorms
    By DavidP in forum A Brief History of Cprogramming.com
    Replies: 14
    Last Post: 01-30-2009, 02:34 PM
  3. learning Templates.. having problems..
    By MegaManZZ in forum C++ Programming
    Replies: 4
    Last Post: 09-14-2008, 04:53 PM
  4. restarting process
    By Bleech in forum Windows Programming
    Replies: 3
    Last Post: 11-29-2007, 02:07 AM
  5. Problems with child process creation
    By Niloc1 in forum C Programming
    Replies: 0
    Last Post: 02-09-2003, 02:52 PM