samw3![]() Member Posts: 542 From: Toccoa, GA, USA Registered: 08-15-2006 |
I've been thinking about the path I've taken over the years in programming, and the co-workers, friends and fellow coders I've met. Here are some qualities of a coder. Which apply to you?
God Bless! Sam Washburn [This message has been edited by samw3 (edited July 31, 2007).] |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
Thats a really neat list ![]() I'd say for the most part I hover around: -Literate: I can read pretty much any code, even languages i don't actually know. -Object-Oriented: I like writing objects that clean up the overall design of my code. It makes it more logical and more reuseable. -Architecting: I pretty much do that for a living and i love breaking down designs. -Patterned: previous solutions can sometimes be reworked i find. -Modular: i try to keep a stack of pseudocode for various algorithms on hand. And occationally: -Explorative: I don't do things just for the sake of doing them too often but here and there i try things like XP for kicks.
[This message has been edited by jestermax (edited July 31, 2007).] |
kenman![]() Member Posts: 518 From: Janesville WI Registered: 08-31-2006 |
quote: This is my primary way of coding and doing almost everything in my life. I think I get this from old basic programing one thing at a time. I never understood subroutines until recently (last 5 years)
quote: I don't try to do this, but I find my self opening old projects to remember how I did things
quote: I progammed a little in assembly language, just to make things happen. I get some of the low level language things, but I mostly just made my computer restart. Maybe there is a market for that I dont think that many coders are purists, but a combo of things. I think another reason I am monolithic, is that is how music is played, from beggining to end. ------------------ If you ain't in the forums, you in the againstums :) |
Mene-Mene![]() Member Posts: 1398 From: Fort Wayne, IN, USA Registered: 10-23-2006 |
I'm not exactly sure what I am, but I know what I"m not. Monolithic: Not much of a scripter, I use lots of classes and functions. ------------------ |
CPUFreak91![]() Member Posts: 2337 From: Registered: 02-01-2005 |
quote: Boy, I'm sure the paths will change as I get older and more experienced. I'm
Hmm. Now that I've created that list, I'm pretty happy with me skills. I'm a PPoMOLAP coder! (Procedural, Poge-ish, Modular, Object-oriented, Literate, Architecting, Patterned). ------------------ "Oh, bother," said the Borg. "We've assimilated Pooh." "Socialism works great... if there are no people involved." -- Pastor David Ginter, Union Church of Guatemala. |
Jari![]() Member Posts: 1471 From: Helsinki, Finland Registered: 03-11-2005 |
I'm long time Refactorer, off from the shame ![]() But I have had my lesson, thanks to God. ------------------ [VoHW] (Help needed) [Blog] (Contact) - Truedisciple (mp3) |
ArchAngel Member Posts: 3450 From: SV, CA, USA Registered: 01-29-2002 |
Object-Oriented: frankly, any other method is inferior. Modular: Only makes sense. Architecting: Only reason why I owned the Turing machine. Patterned: this happens after a while. ------------------ |
bennythebear![]() Member Posts: 1225 From: kentucky,usa Registered: 12-13-2003 |
Procedural: This coder breaks instructions down into sub-routines to simplify code and make it more readable. that's all i can do with my lack of focus, studying, and practicing...i'm such a newb...i suffer from long-term newbishness. *with my little skill set i still show symptoms of being the architect type. i'm big on seeing the program as a whole, and then breaking it down into parts, and seeing how all the individual parts communicate/work together. *edit proverbs 25:7 www.gfa.org - Gospel for Asia www.persecution.com - Voice of the Martyrs [This message has been edited by bennythebear (edited July 31, 2007).] |
Matt Langley Member Posts: 247 From: Eugene, OR, USA Registered: 08-31-2006 |
Object-Oriented: In the game dev/game engine dev industry there's not really an option Literate: I can typically read code in any language and I feel fairly agile in programming in multiple languages Architecting: This, to some extent, is also a somewhat must in the game engine dev industry ------------------ |
Lazarus![]() Member Posts: 1668 From: USA Registered: 06-06-2006 |
quote: So elitist... so wrong.. I'm probably just - Procedural, Modular. |
Tonnyx Member Posts: 140 From: Indiana, USA Registered: 08-02-2005 |
I don't code much, but when I do, it's pretty PoGE. ------------------ |
CPUFreak91![]() Member Posts: 2337 From: Registered: 02-01-2005 |
I want to add Low-level to my list there, but I'll have to wait till I get a copy of Operating Systems Design and Implementation (by Andrew S Tanenbaum) and Understanding the Linux Kernel.
quote: Elitist maybe, but he is right. OOP is the best ![]() (To be honest anything that works best for you is the "right" way). ------------------ "Oh, bother," said the Borg. "We've assimilated Pooh." "Socialism works great... if there are no people involved." -- Pastor David Ginter, Union Church of Guatemala. |
jestermax![]() Member Posts: 1064 From: Ontario, Canada Registered: 06-21-2006 |
quote: that's an excellent book. I have a few books on OS D&I and that is the best Also, i'd like to add procedural to my selection (i didn't actually care that much about adding the procedural thing but i did't want to be a full spammer ------------------ |
HanClinto![]() Administrator Posts: 1828 From: Indiana Registered: 10-11-2004 |
Nice list. I'll agree, Tannenbaum is an excellent author. Having a degree in computer engineering, I've had to learn more about the low-level computer things than I would if I just got a computer science degree. Still, I don't know that I live in that area -- I wouldn't really call myself as someone who works much in there. I try to be Architecting, that's one of my biggest things I've been working on lately. quote: OOP is nice, but much of the world is still written in C, and it's good to know how to write good, modular code that isn't shoehorned into an OOP model. --clint [This message has been edited by HanClinto (edited August 01, 2007).] |
ArchAngel Member Posts: 3450 From: SV, CA, USA Registered: 01-29-2002 |
quote: actually, one of the strengths of OOP isn't what's right for you, but what's right for the team. Object Oriented code is packaged neatly and intuitively, so that any member of the team can look at the documentation, know what each function does and use it properly (along with ease of debugging). Spaghetti code is just sloppy, hard to read and hard to debug. ------------------ |
CPUFreak91![]() Member Posts: 2337 From: Registered: 02-01-2005 |
quote: I was addressing the personal one-person aspect. I never thought of it's usefulness from a team-based perspective. ------------------ "Oh, bother," said the Borg. "We've assimilated Pooh." "Socialism works great... if there are no people involved." -- Pastor David Ginter, Union Church of Guatemala. |
steveth45![]() Member Posts: 536 From: Eugene, OR, USA Registered: 08-10-2005 |
Procedural: Yep, if a function/method/procedure get's out of hand, I break it up into tasty morsels. It's the only way to roll. POGE: There's a certain point you get to in a game project, be it a speed game project, or commercial with deadlines, that you have to just write code that works. Sometimes this is because you spent too much time over-engineering your code in the beginning, instead of getting it _done_. Modular: Occasionally I'll factor some method into a more generalized form that can be reused. Object-Oriented: The only way to roll, but it is often overdone. For example, pointless extra levels of inheritance: GOD::VOID::SPACE::MATTER::OBJECT::ANIMAL::PRIMATE::HUMAN::CHARACTER::MALE::NPC. You're not rebuilding the universe from scratch. I used to think OOP was a religion, but I'm starting to think it's a cult. The amount of reusable code that actually gets reused is often so small that it doesn't justify the extra effort. Literate: I enjoy dabbling in various languages and scripts. Low-level: If you don't know what opcodes and registers are, then you ain't a programmer. Patterned: There are plenty of well-defined patterns in game programming. Using them is smart. ------------------ |
samw3![]() Member Posts: 542 From: Toccoa, GA, USA Registered: 08-15-2006 |
quote: He's right... mostly. OOP encourages encapsulation and loose coupling which is the ideal in modularization. It is also brings a concreteness to the otherwise abstract wold of programming. However, a good modular programmer can accomplish the same thing without using OOP. But it normally require a bit more thought and a lot more function parameters. Also, Thanks for all the replies! Programming is a multi-faceted domain and it's fun to see people's angles and bents. I particularly liked kenman's comment about being monolithic (normally a bad trait for all except the "cowboy coder"). However, I've never looked at coding like a performance. Interesting insight. Btw, with music, I'm more of a composer, and my songs are "refactored" many times before the final result. Anyways, here are my qualities: Object-Oriented - I work in it so much that its the first thing that I think about now. I also dabble with microcontrollers and those definitely require monolithic/procedural coding styles. i.e. 2KB of program space, 363 bytes(that's right, bytes) of RAM. Literate - I really believe this skill is a must for the modern programmer. Have you ever tried Google CodeSearch? I think reading code there can boost your literacy. If you've got some time to blow, type in anything and see what pops up, and then try to figure out what it does. Architecting - As a project manager, this is a must. It seems like a waste of time at first, but in the end the whole team codes a lot faster. However, I must confess that this is not an inherent aspect of my unorganized nature. On personal projects I would rather sit down at a blank canvas and code from scratch. Patterned - I guess this has just come with the years. But now when I see or hear design requirements, I generally have a pattern to apply to it initially. Refactoring - I'm fair in this area, the only thing I don't like is the tedium. But modern tools like eclipse (I do a *lot* of java coding) really enhance this side of me. I really like elegant code. Used to be Low-level, but technology changed too quickly and I lost it. Thanks again! God Bless! ------------------ |
PointOfLight![]() Member Posts: 60 From: Indiana, USA Registered: 11-26-2001 |
Monolithic: Fortunately, no, but I have worked with code written this way. Tends to be really bloated, since lots of functionality gets repeated needlessly. Procedural: Yep. POGE-ish: This is pretty much required where I work. Modular: Depends on the project and language. I've found this to be almost counter-productive with some languages, though you'd think it wouldn't be. Object-Oriented: This is where I'd like to be, and sometimes I get there. Literate: I think someone else brought it up, but this is almost a necessity today. Sadly, I know too many people that can't do this. Explorative: Like to, but don't often have the time. Architecting: Unfortunately I've never been really good at this. Low-level: Should, but generally don't. Patterned: To an extent. Refactoring: Don't know about efficiency and elegance, but I can certainly go with the flow and modify things quickly when the need arises. Zen: Eh, probably not so much. ------------------ |
TwoBrothersSoftware Member Posts: 141 From: Janesville, Wi USA` Registered: 08-05-2006 |
With a new language # Modular: This coder's sub-routines are generalized so to be re-used in future projects. With one I am familar with - for example I do alot with vbscript and VB.Net at work # Modular: This coder's sub-routines are generalized so to be re-used in future projects. While I work in customer service - I have been allowed to create vbscript macros for the interface to the mainframe. It's gone well - can document saving the department 130+ hours a month, and they are actually looking at hiring a 3rd party training company that we use to teach others in the company what I do (I had to send lots of code examples today it was pretty cool) |
WalkMan Junior Member Posts: 5 From: San Antonio, TX, USA Registered: 07-16-2007 |
I think I've actually used them all at one time or another. Most were used by evolving as a coder from beginner to master, others by choice. One can never have too many tools in their coding toolbox.
|
CPUFreak91![]() Member Posts: 2337 From: Registered: 02-01-2005 |
I have an idea: I shall blog about what qualities I have used during the 2nd CCN Speed Game Competition on a nearly-daily basis. I'd be curious to see what the other coding contestants are using, if they're willing to take a few minutes to post here/elsewhere. http://www.blog.cpufreak91.net/legends/?p=48 ------------------ "Oh, bother," said the Borg. "We've assimilated Pooh." "Socialism works great... if there are no people involved." -- Pastor David Ginter, Union Church of Guatemala. My Programming and Hacker/Geek related Blog [This message has been edited by CPUFreak91 (edited August 03, 2007).] |