Page 1 of 1

Completely baffled

Posted: Mon May 08, 2006 11:20 pm
by s.dot
When i first came to these boards as a newbie, I was completely baffled by procedural coding that I now do all day long.

I even graduated onto some basic OOP and understanding classes, types, constructers, parents/childs, & the likes. I thought I had a good understanding down.

But after reading recent topics by d11wtq, nielsene, aborint, hockey, & feyd... I feel completely lost again. :lol:

Anyone else ever feel the same? Do you reckon that with time I will begin to understand these posts?

example

Re: Completely baffled

Posted: Mon May 08, 2006 11:38 pm
by alex.barylski
scottayy wrote:When i first came to these boards as a newbie, I was completely baffled by procedural coding that I now do all day long.

I even graduated onto some basic OOP and understanding classes, types, constructers, parents/childs, & the likes. I thought I had a good understanding down.

But after reading recent topics by d11wtq, nielsene, aborint, hockey, & feyd... I feel completely lost again. :lol:

Anyone else ever feel the same? Do you reckon that with time I will begin to understand these posts?

example
Naturally...the more you do something the better you get at it...

I've felt that way about everything I've ever started...some things I pick up quickly and others have taken me years and years and I still don't fully grasp...

It was only when I made the transition from compiled languages into interpreted languages that RTTI (Runtime type information) finally sunk in...until that point...I knew what it was and how to use it...just couldn't figure out *when* to use it...

Partially because it's usage is fairly esoteric, like in designing frameworks or systems...

The point is I probably went 10+ years of using C++ without knowing really how and where to apply some of it's principles...RTTI for example...there are still some ideas in C++ which are likely beyond me...

Keep on truckin' dude...we all learn over time...nothing is complicated once you understand it - obvious I know, but so easily overlooked...

Cheers :)

Posted: Tue May 09, 2006 12:58 am
by RobertGonzalez
scottayy wrote:But after reading recent topics by d11wtq, nielsene, aborint, hockey, & feyd... I feel completely lost again. Laughing

Anyone else ever feel the same? Do you reckon that with time I will begin to understand these posts?
Dude, there have been all kinds of times, after reading a post from Feyd, Roja, d11wtq, burrito and several other stellar coders on this site, that I sit back and think to myself...

WHAT!?!?!?!

Then, after reading and rereading their posts, I see a pattern of simple logic that accomplishes complex tasks. It comes with time, as just about all the seasoned developers in these forums (including you I would venture to say) would say it did for them.

Posted: Tue May 09, 2006 2:58 am
by Maugrim_The_Reaper
It takes time, a reading list, and experience...;). And no, it's not that difficult. I wager replies to similar posts by feyd, Roja, etc. often require a bit of thinking before they formulate a response.

Posted: Tue May 09, 2006 4:16 am
by Ree
It all comes with experience and reading. Learning Java may help as well. If you like it and have a will to learn, you will, just get some good books to help you.

Posted: Tue May 09, 2006 2:18 pm
by alex.barylski
Learning Java will help??? :?

Learning any other language will help...but if you going to go the compiled route I would suggest C++ as it will teach you the most about how and why computers work the way they work...

Java has such an scholastic feeling to it...much like PASCAL did back in the day...and IMHO doesn't nail home any point better than any other general purpose programming language, such as C++. :P

Cheers :)

Re: Completely baffled

Posted: Tue May 09, 2006 4:06 pm
by Buddha443556
scottayy wrote:But after reading recent topics by d11wtq, nielsene, aborint, hockey, & feyd... I feel completely lost again. :lol:
I always read posts from those and a few others because I might learn something new. If I've got to Google something they're talking about it's a good day! It's the questions that lead to learning not the answers. :wink:

Posted: Tue May 09, 2006 4:46 pm
by Ree
Hockey wrote:Learning Java will help??? :?
Yes, it may help since there is more pattern related material around java than, say, C++.
Hockey wrote:I would suggest C++ as it will teach you the most about how and why computers work the way they work...
I guess nowadays most of business logic programmers don't really need to know much of the hardware related stuff C++ may teach you. ;)

And overall you can view OOP as being 'further away' from the machine than procedural programming.

Posted: Tue May 09, 2006 8:57 pm
by alex.barylski
Ree wrote:
Hockey wrote:Learning Java will help??? :?
Yes, it may help since there is more pattern related material around java than, say, C++.
Hockey wrote:I would suggest C++ as it will teach you the most about how and why computers work the way they work...
I guess nowadays most of business logic programmers don't really need to know much of the hardware related stuff C++ may teach you. ;)

And overall you can view OOP as being 'further away' from the machine than procedural programming.
I agree with OOP being more of an abstraction than procedural...but I fail to understand your point?

C++ object model allows you to abstract your ideas - even more so than PHP...

Re: Completely baffled

Posted: Tue May 09, 2006 9:18 pm
by alvinphp
Buddha443556 wrote:I always read posts from those and a few others because I might learn something new. If I've got to Google something they're talking about it's a good day! It's the questions that lead to learning not the answers. :wink:
This is what I do. I never know what new idea I might learn today. Sometimes nothing, sometimes something really interesting that I start incorporating into the work i do.

Posted: Tue May 09, 2006 9:45 pm
by alex.barylski
I think we all benefit from a community of ideas...otherwise...there would be no point in coming here time and time again :P

Posted: Tue May 09, 2006 11:56 pm
by John Cartwright
I have not a clue when OOP and design patterns clicked, but all I can say is do not ever give up. Write, re-write, re-write that, and then re-write 10 more times. :wink:


When learning OOP I often though of objects as a human body, that each part of our body serves it's own purpose, such as our legs or arms, or head. Each body part has many more parts, such as our legs have bones, muscles, a foot, hair, toes, etc. Many body parts share the same functionality, such as different parts all have bones or hair so that should only be one object can be used by multiple other objects. Objects should serve a very specific purpose (that's where refactoring comes in because it usually is possible to break down larger classes into more focuses and smaller ones). This is much like a abstraction classes, which can be accessed by several different models, etc.

Posted: Wed May 10, 2006 1:25 am
by alvinphp
I think the biggest difficulty in OOP is understanding persistence of an object. Once you treat your object as an object and use it like you would use an object in real life then you are halfway to understanding OOP. So if your object is a hand (going with JCart here) then you would know that your hand can't kick something nor can it chew food. It is a hand! And if you are using your hand to hold an apple you can't use it to shake hands till you put the apple down first.

And for those that do no know, an object is an instance of a class. A class is the blueprint you use to create your object. Once you create your object (called an instance of an object) you can now use that object like you use stuff in real life.

Re: Completely baffled

Posted: Wed May 10, 2006 1:27 am
by Christopher
scottayy wrote:Anyone else ever feel the same? Do you reckon that with time I will begin to understand these posts?
Yes and yes. I find that I have that feeling for two main reasons. The first is the language used. Pattern language was invented in a large part because it is very difficult to discuss software problems unless you have a common language to deal with the complexity, describe the subtle differences, and communicate the intent. I'll often read an article and am only skimming the meaning. Then after reading several related articles it will start to sink in and I can go back a get more out of the orignial article.

The second is that the software problem space is hierarchical. I have found that I simply can't understand many concepts/solutions until I have implemented other more basic solutions. And more importantly, I can rarely understand why to use a specific solution until have come across a real-world problem that needs that solution. It is the old: The farther you go the more you know, the more you know the farther you go.