PDA

View Full Version : Ugh.



Validinfection
10-30-2007, 07:55 PM
I'm new to programming. Just did Three Tutorials... They took awhile to comprehend. Like I think almost two hours?.. Is that too long?... I mean.. I know how to make two basic programs. Yet I feel I'm learning this all too slowly.

Or is it normal to comprehend programming slow at first? ._. My self-esteem is low when it comes to this stuff ugh.

A10
10-30-2007, 09:32 PM
That depends. Is c++ going to be your first programming language? If it is then 2 hours is about right to start to under stand it. The complex syntax of c++ will take you a long while to learn. You won't get it till you finish all the tutorials here and read a book or two.

If you want to learn to program quickly, I would recommend python. It's syntax is simple and you'll learn programming concepts that will be essential in any other languages you learn after that(including c++). Plus python is powerful so after you learn it you can actually use it to accomplish stuff.

My first Language was c++. It's took me a long long long time to kind of get it. I still have trouble.


Also this needs to be moved to General Discussions

EDIT: learn to program quickly is relative to c++

plr112387
10-30-2007, 11:06 PM
Yeah-- I am just beginning, too.

I learned a little Java (a couple years ago) -- so I figured C++ would be a breeze. Stuff I had learned is sort of coming back to me, but I feel like my progress is really slow.

Starting out is difficult, because programming problem-solving isn't really possible without a lot of syntax knowledge.

laserlight
10-30-2007, 11:27 PM
The threads have been merged.

Yarin
10-31-2007, 12:58 PM
It took me days to fully understand a loop, and way longer to understand pointers and callbacks. I did probably take longer than normal, but hey, I doin good now. :)

Yarin
10-31-2007, 01:00 PM
Well... I suppose that's a matter of opinion.

abachler
10-31-2007, 02:15 PM
My first programming language was BASIC on an old Commodore VIC-20, wooo those were the days :) I took a class on C/C++ in college and since then its all I will use. Take it easy, dont push yourself too hard. Programming is an entirely unnatural way of thinking for most people. Ive been programming in C/C++ now for just over a decade and I still learn new stuff every day. First you have to learn the tools, then you can worry about technique.

and stay away from MFC, its evil, EVIL I TELL YOU :)

maxorator
10-31-2007, 04:24 PM
Hehe, I agree with abachler.

The basic stuff of C++ wasn't too difficult for me because I had already learned some web programming before that (HTML;JS;PHP). Web programming is a good start because it's easy and practical.

Good luck. :)

laserlight
10-31-2007, 09:16 PM
A lecturer at my university recently said something to the effect of: "This topic may be difficult, but it will become easy after you know how to do it. But then everything is easy when you know how to do it."

dwks
10-31-2007, 09:23 PM
and stay away from MFC, its evil, EVIL I TELL YOU :)
Déjà vu (http://en.wikipedia.org/wiki/D%C3%A9j%C3%A0_vu) . . . http://cboard.cprogramming.com/showpost.php?p=672345&postcount=4

I must say that programming, like everything, becomes easier with practice. And once you've learned a language or two, picking up others becomes so much easier. Rest assured that if you learn C or C++, you'll pick up C or C++ (whichever you didn't learn) or Java or Python or Perl in half the time you would otherwise . . .

SlyMaelstrom
10-31-2007, 09:25 PM
A lecturer at my university recently said something to the effect of: "This topic may be difficult, but it will become easy after you know how to do it. But then everything is easy when you know how to do it."Define: "Know how to do it"

Because there is doing it and doing it successfully. I know how paint a room but it certainly isn't easy to make it look very good. All I'm saying is, some things go beyond knowledge and require skill. You can program a lot of things with knowledge, but if you want the best results, sometimes it requires more... and for some, not only is that not easy, it's near impossible.

Anyway, I don't want this post to get the OP down... you're doing fine. Honestly, I know people on this forum that I would personally consider phenomenal programmers, but for every single one of us there comes a point or a task where even the best struggle to get something done correctly. Programming is an evolving trade... we're all always learning and trying to get better.

dwks
10-31-2007, 09:31 PM
Define: "Know how to do it"
Even google is stumped (http://www.google.ca/search?hl=en&q=Define%3A%22Know+how+to+do+it%22&btnG=Search&meta=)! :)

laserlight
10-31-2007, 09:42 PM
I know how paint a room but it certainly isn't easy to make it look very good.
In other words, you know how to paint a room, but you don't (yet) know how to paint it such that it looks very good.

DavidP
10-31-2007, 11:13 PM
programming takes awhile to learn. My first language was Logo, and then Basic. C++ was my third language to learn at a young age of 14 years old.....and it confused the heck out of me at first, probably because of my age. It just takes time.

SlyMaelstrom
11-01-2007, 08:00 AM
In other words, you know how to paint a room, but you don't (yet) know how to paint it such that it looks very good.No, that's exactly my point... I know exactly how to paint a room in such a way that it can look very good... I just can't do it. I have the knowledge, I'm just not skilled in the craft. My hand is not steady enough, my eyes are not strong enough to pick up certain details... yes, I can improve that with practice, but it has nothing to do with knowledge and I'll never be as good as someone who is naturally gifted at it.

Try watching an episode of The New Yankee Workshop and then jump on some power tools and do exactly what Norm tells you to do. Tell me if your piece comes out as good as his... some things go far beyond the knowledge of how to do it and while one might argue that programming has a stronger lean towards knowledge in the knowledge/skill ratio than wood-working does... it still has a certain amount of skill that people might have difficulty learning if they can learn it at all.

Anyway, just my two cents.

abachler
11-01-2007, 08:57 AM
...and it confused the heck out of me at first, probably because of my age. It just takes time.

I started C/C++ at the age of 24, and it still confused the hell outa me at first, I think its an undocumented feature of the language ;)

laserlight
11-01-2007, 09:07 AM
No, that's exactly my point... I know exactly how to paint a room in such a way that it can look very good... I just can't do it. I have the knowledge, I'm just not skilled in the craft. My hand is not steady enough, my eyes are not strong enough to pick up certain details... yes, I can improve that with practice, but it has nothing to do with knowledge and I'll never be as good as someone who is naturally gifted at it.
Ah, I see. You are nitpicking on "knowledge". I could change it to "skill", but then one can nitpick about that. Even if I found the most precise word, you can still nitpick since it is an absolute statement. So, stop nitpicking and see that the point is that with more practice, acquisition of knowledge, etc, many things become easier to do. Sure, you can find corner cases where this is not true, but so what?

SlyMaelstrom
11-01-2007, 10:49 AM
No, I'm sorry, you don't see. Knowledge and skill are not interchangeable words. Knowledge is the understanding of a process while skill is the ability to achieve that process. One is incorporated in the other. If you wish you can even go by the Merriam-Webster definitions:

Knowledge - The fact or condition of knowing something with familiarity gained through experience or association

Skill - The ability to use one's knowledge effectively and readily in execution or performance

As you can see... knowledge is integrated into skill. However, just simply having the knowledge does not make you able to use it. That's what I was "nitpicking" about... The fact is, there are people out there that know all the ins-and-outs of C++ and on paper could answer any syntax question you could throw at them. That doesn't mean there isn't some kid out there that can write better, more efficient programs without half the knowledge of the language that the first guy has. Skill is something completely different and while it can be improved... it also tends to have a much harder cap than knowledge does. Now, I'm done arguing about this as it has nothing to do with the original topic.

Anyway... as for the original topic... again, I don't mean to scare you. You, like most people, I'm sure are capable of achieving great success in programming as long as you stick to it and learn the language at your own pace.

brewbuck
11-01-2007, 11:19 AM
Knowledge - The fact or condition of knowing something with familiarity gained through experience or association

Skill - The ability to use one's knowledge effectively and readily in execution or performance

No. In THIS context they are the same thing. What's the difference between thinking about code (knowledge) and writing code (skill)? TYPING. Are you saying you have trouble typing?

SlyMaelstrom
11-01-2007, 12:24 PM
No. In THIS context they are the same thing. What's the difference between thinking about code (knowledge) and writing code (skill)? TYPING. Are you saying you have trouble typing?Ok, so the only skill required to write a great program is typing? You're telling me the only difference between an MIT CS student and one from a CS program at a community college is how many programming books they've read or how much of what they've read they managed to take in? You honestly don't believe that some one can know the nessasary tools and syntax for programming and not be able to use them in making a good program? Skill is not only phsyical... just because you can't type and you know the basic syntax and perhaps you know all of the design patterns that are already proven efficient doesn't mean you'll be a great programmer.

Now, honestly, I don't think the topic deserves to be closed because the OP deserves any input he can get... so let's not side track this and agree to disagree... if you want to believe that knowing everything there is to know about programming will make you the most perfect programmer in the world, then that's fine by me.

brewbuck
11-01-2007, 12:34 PM
Ok, so the only skill required to write a great program is typing?

Yes. You also need some KNOWLEDGE of what you are doing.


You honestly don't believe that some one can know the nessasary tools and syntax for programming and not be able to use them in making a good program?

Yes. If you can't make a "good program," then you lack knowledge.


Now, honestly, I don't think the topic deserves to be closed because the OP deserves any input he can get... so let's not side track this and agree to disagree... if you want to believe that knowing everything there is to know about programming will make you the most perfect programmer in the world, then that's fine by me.

If you're not writing good code, then you don't have the KNOWLEDGE. As you point out, knowing the syntax is not enough. What I'm saying is that in this field, knowledge and skill mean the same thing because the relevant activity occurs in the head, not out in the "real world."

SlyMaelstrom
11-01-2007, 01:46 PM
So you basically amount anybody doing anything in programming that you didn't think of as "Oh... they know more about programming than I do." You've never once though... "Oh... this guy is more intelligent than I am and no matter how much I know about programming, I don't think I would have ever thought to do that." Well, what can I say... I admire your confidence in your intelligence. I wish I could honestly believe that if I had a complete knowledge of programming then I could program anything as perfect as it could be programmed.

abachler
11-01-2007, 02:21 PM
I think the point laserlight is trying to make is that knowledge IS the relevant skill in programming. In fact in most things including painting the same applies. Just because you saw someone paint a room, and you know that you put the brush in the paint and rub it on the wall doesnt mean you 'know how to paint'. A great deal of the knowledge of how to paint is kinesthetic. The same applies with programming. You can read all the theory you want; until you punch out a few lines of code and solve the resulting bugs, you dont 'know how to program'. But ultimately all the skillful work is taking place in your head and hence is what would traditionally be called knowledge. The only physical skill necessary is as she said, the ability to type the code in and press BUILD. The only physical skill necessary to paint is the ability to move your arm up,down and side to side.

OK, technically the ability to see is of great benefit, but not absolutely necessary (in either case).

SlyMaelstrom
11-01-2007, 10:00 PM
Alright... well, I guess I'll I'd say is that what you would traditionally call knowledge is not what I, literally all of the people I've talked to in real life about this, or almost any credible dictionary would traditionally call knowledge. Knowledge is not a skill and it's not the ability to process something in your head. I never said knowledge isn't required to program nor did I even suggest that it wasn't highly important to programming. I just said that having an extensive amount of it in any given trade wouldn't necessarily make that trade easy as laserlight's "proverb" suggested. However, now I am just nitpicking... so as I said in previous posts, if everyone else is fine with ending this conversation then so am I.

Prelude
11-02-2007, 01:50 PM
>Just did Three Tutorials... They took awhile to comprehend.
>Like I think almost two hours?.. Is that too long?
Two hours? I was writing compilers after fifteen minutes with K&R. I had my first blockbuster operating system finished, marketed, and earning me millions within the hour. There's clearly something seriously wrong with you. :rolleyes:

>Or is it normal to comprehend programming slow at first?
Despite what the "for Dummies" books will try to sell you, programming is very hard. It takes time and practice to grasp the concepts and apply them effectively. In fact, it's not unusual to spend decades learning C or C++ and still not comprehend everything.

>My self-esteem is low when it comes to this stuff ugh.
I'm like that too, but it's a good thing. If you don't question your abilities, you aren't pushing your limits.

laserlight
11-02-2007, 11:07 PM
No, I'm sorry, you don't see. Knowledge and skill are not interchangeable words. Knowledge is the understanding of a process while skill is the ability to achieve that process. One is incorporated in the other. If you wish you can even go by the Merriam-Webster definitions:

Knowledge - The fact or condition of knowing something with familiarity gained through experience or association

Skill - The ability to use one's knowledge effectively and readily in execution or performance

As you can see... knowledge is integrated into skill. However, just simply having the knowledge does not make you able to use it. That's what I was "nitpicking" about... The fact is, there are people out there that know all the ins-and-outs of C++ and on paper could answer any syntax question you could throw at them. That doesn't mean there isn't some kid out there that can write better, more efficient programs without half the knowledge of the language that the first guy has. Skill is something completely different and while it can be improved... it also tends to have a much harder cap than knowledge does.
I think we know the definitions very well, but you forgot that I was merely trying to paraphrase what I remembered from my lecturer's quip. I had no intention of being pedantically correct. It was a joke, after all, so the truth is not in the letter, but in the spirit of the joke.

So, you have taken a quip out of context. Go ahead, you are correct and can collect a drink from my lecturer the next time you see him and convince him he is incorrect by his choice of words that I remembered him using :)