Ye' old general discussion board. Basically, for everything that isn't covered elsewhere. Come here to shoot the breeze, shoot your mouth off, or whatever suits your fancy. This forum is not for asking programming related questions.
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.
Anyone else ever feel the same? Do you reckon that with time I will begin to understand these posts?
Set Search Time - A google chrome extension. When you search only results from the past year (or set time period) are displayed. Helps tremendously when using new technologies to avoid outdated results.
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.
Anyone else ever feel the same? Do you reckon that with time I will begin to understand these posts?
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...
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.
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.
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.
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++.
scottayy wrote:But after reading recent topics by d11wtq, nielsene, aborint, hockey, & feyd... I feel completely lost again.
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.
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.
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.
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.
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.
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.
Last edited by alvinphp on Thu May 11, 2006 12:21 am, edited 1 time in total.
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.