Archived

This topic is now archived and is closed to further replies.

Ledneh

Programming Paradigms

Recommended Posts

I''m a budding video game programmer. As might have been evidenced by a couple of other threads I''ve been writing in (or not, I don''t remember anymore ), I''m working on a Tetris clone, based on 2D rendering D3D (simply because I know a small amount of D3D stuff, and wish to learn more). I got the project going along to a certain point, but after reading a few threads here and examining my own progress, I realized something of no small importance: I have no f***ing clue what I''m doing. Sorry to swear, even censored, but that''s the only good way to sum it up. My program is a ridiculous, jumbled mess; I use certain things I know about just because I want to, without reason (Singletons comes immediately to mind), and other things are definitely being used incorrectly. So, in a nutshell, are there any books or anything like that that discuss different programming paradigms, strategies, etc. (like OOP, procedural, etc) that I can refer to? Or is this something that I''m just going to have to learn on my own? Thankful (and stupid), Ledneh

Share this post


Link to post
Share on other sites
I would definitely say that the best way to learn "what" (as opposed to "how") is trial-by-fire.

That being said, just keep learning, and use the approach that you''re most comfortable with (and can actually get something done with). Remember, when all is said and done, ugly jumbled code that works is better than pretty code that doesn''t.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Here''s the most absolutely important thing: keep going. Finish the project, and make it work. Then put it away for a while, do something else. Then return to the code, and think about what could have been better. If you''re really bored, rewrite it to be better; otherwise, just funnel the new ideas into your next design.

You learn from your mistakes. If you refuse to make any mistakes (by not finishing, it''s never a mistake; it''s a project in progress), you''ll never learn.

Share this post


Link to post
Share on other sites
quote:
Original post by Ledneh
I have no f***ing clue what I''m doing.

Don''t worry. The vast majority of IT workers earn a good living on such a basis.

Share this post


Link to post
Share on other sites
I cant speak for everyone, but i know i had exactly the same problem about 2-3 years ago. I realised this (just like you have now) and started some serious reading. These books most definitely helped me along the way to tidier code:

Design Patterns, Gamma et al
Effective C++, Meyers
More Effective C++, Meyers

And it sounds like have yet to ''discover'' the STL - there are various online tutorials and books on it. You wont regret learning about it.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
sounds a bit like the problems i''m currently having

if i''m not mistaken, it''s so usual that they even invented a term for it: spaghetti code :D

Share this post


Link to post
Share on other sites
I had the same problem with Java, writing an app that I wanted "extensible" and with a lot of cool features. I finally get somthing but the code was quite awful as I was a beginner.

But I learned a lot from it and rewrote it completely : it was better but still not smart enough to my taste. So one more time I rewrote all the thing and now I think I reached a key milestone, where I just need to give some polish to my code instead of rewriting completely each time...

This project took years of spare time, thus beneficiying of increasing knowledges in design and programming, and a huge amount of thinking.

----
David Sporn AKA Sporniket

Share this post


Link to post
Share on other sites
quote:
Original post by SabreMan
Don''t worry. The vast majority of IT workers earn a good living on such a basis.


Especially in government.

(I know I work for the government and run into a lot of "IT" people)



Make it work.
Make it fast.

"I’m happy to share what I can, because I’m in it for the love of programming. The Ferraris are just gravy, honest!" --John Carmack: Forward to Graphics Programming Black Book

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
The problem with the IT industry today is all the bullshit "earn a degree in TCP/IP in just six weeks!" I''m working in IT to put me through college and I''ve noticed that the most knoweledgable people are the old school hackers (mid 20''s) with no formal post high-school education.

Share this post


Link to post
Share on other sites
Hell, I''m a freakin high-school drop out, and I make damn good money for my age (22) doing C++/C# programming

Share this post


Link to post
Share on other sites
quote:
Original post by Anonymous Poster
I''ve noticed that the most knoweledgable people are the old school hackers (mid 20''s) with no formal post high-school education.

I''ve noticed that there are plenty of mid-20 ITers with no formal post high-school education who are perfectly crap at their job. People who are good at software development do not fall into any particular demographic; the vast majority of people are not very good, and my experiences bear that out.

Share this post


Link to post
Share on other sites
The common trend I''ve found is that hobbyists--people who have programming interests outside of class, or maybe even self-taught--tend to be the best problem-solvers. OTOH, if they have the "this is the way I''ve always done it and I''m self-taught so I don''t need to listen to you" attitude, it''ll work against any merits they have.

Hrm. That was supposed to be insightful, but now I just re-iterated SabreMan''s point.

Share this post


Link to post
Share on other sites
The willingness to learn is what separates those who are successful and those who are not and as for the corruptness in the IT industry, the colleges dishing out insignificant and in many cases unreliable certificates does not help employers choose the suitable candidates. In my opinion a certificate of achievement/education isn’t worth the paper it is printed on.

I find that it is much easier to learn information from the source rather than to go through the semi-bull**** that colleges try to put into your head. As an intermediate programmer I found my college to be a distraction rather than a resource. I actually believe I was more educated on the subject of programming that the guy who was teaching the course and he laughed when I confronted him with concepts he did not understand.

Don’t be discouraged about going to college, I am merely talking about the experience of my college, I found the attitude of the teachers as well as the students rather slothful. I started the course with great enthusiasm to learn but it faded and I am stuck with the dilemma of learning to program own my own.

Share this post


Link to post
Share on other sites