Tau Empire Codex 2013 | Army Builder Program
Dark Angels Codex 2013
Chaos Daemons Codex 2013
Chaos Space Marines Codex 2012

Warhammer 40k Forum Tau Online

 

Warhammer 40K Forum

So, you want to be a programmer?
Reply
Old 16 May 2008, 23:43   #1 (permalink)
Shas'O
 
Join Date: Aug 2006
Location: Florida, U.S.A
Posts: 9,460
Default So, you want to be a programmer?

I'm no expert programmer, but I'd consider myself a novice. I've written some large scale programs in teams, done work with an array of languages, and done work with both hardware interaction and pure software. As such, I'd like to give some advice to people thinking about taking up programming and people who are just starting. So, without further ado...

So, you want to be a Programmer?

Computer Programming is a wide and deep field that could take years of study, but can also be enjoyed with just a few days of work. It can be anything from a career to a simple hobby, or even volunteer work contributing to Open Source software (though I doubt it'll count for highschool service hours). Programming is a lot of things, most of them good, but lets make it clear what it is not.

Programming is not something you can pick up easily at a high level. It is not something for those who do not have at least a decent level of dedication, and it is not for those with very short attention spans- this is not to say it can't be done, but it might be a good deal harder. It is not something that is easy (though it comes easier for some than others), and it isn't a magic bullet for all your problems (though it certainly can make math easier). A short attention span can be counter balanced by keeping multiple projects- I have problems with this, so in addition to my "Work" project for my company I keep one or two side projects; if I'm doing work on attendance systems (which is quite boring), my side project might be a game, or research into Artificial Intelligence. Oh, and just so we're clear, HTML isn't programming. The "ML" in HTML stands for Markup Language, which is something separate from a programming or scripting language.

However, programming is a lot of things. Essentially anything electronic has some form of programming or another, so when you study "Programming" you can be working with things from text editors to audio software to games to robots. Programming is a very interesting field, and it has a lot of depth- I'm currently just starting to get into Artificial Intelligence and Pattern Recognition algorithms, which incorporates subject matter from Mathematics, Statistics, English, Grammar, and Psychology. Programming can most certainly be fun, and it can be very interesting.

If you want to take up programming, you'll need a diverse range of skills. I would suggest at least Highschool Algebra 1 at a absolute bare minimum, preferably Algebra 2. Training in Logic can help immensely- you often get this in a Geometry or Analytical Geometry class. Of course, you need decent language skills. Problem solving ability can be quite useful, too. If you're going to want to do things involving graphics, then you'll want some art skills, and if the graphics will be 3d then go for 3d graphics design skills.

Still with me? Good, it brings up another point- you need to be ready, able, and willing to read, and read a lot. To learn C, I read three separate books- each about 900 pages in length. Combined with the other books I've read, I don't think I'd be exaggerating if I said I've read over 10,000 pages of material on programming. Want to learn the basics? You'll have to read. Want to learn about a particular language? More reading. Need to do something new? You guessed it; you'll end up reading. It isn't just for languages, either, but say you want 3d graphics- well, you'll have to go to OpenGL or DirectX, which means reading to learn not only OGL or DX, but also reading to learn how to interface it with whatever language you're using. To put it all in perspective, lets just say that you want to learn C and do OpenGL graphics and sound. That'll be 2 or 3 books for C, then another 4 books for OpenGL. Add in 1 book for OpenGL sound, and another book for tying OpenGL to C (often you can replace this with an online tutorial), and most likely another book for the Windows Forms you might use. Total, anywhere from 7 to 9 or 10 books, each from 500 to 1500 pages. You can be looking at 10k pages of reading right there.

Don't let that discourage you, though. Read at the pace you want. If you want to take up a BASIC (BASIC is a type of language, and is written capitalized) language instead of a lower level one, you can read just one book, and be able to do a good deal of stuff. Oftentimes you can pick up the skills you need online (though not your first language or a major new language). And once you know one language, to a degree you know them all- for a new one, you only need to learn the language-specific quirks, and the new syntax. Migrating from something like C to Java or PHP is made even easier because they purposely use very similar syntax.

You havn't scared me off! Where do I start?

If you want to learn to program, then I suggest you consider what you want to do. To get a small taste of computer work, I suggest you learn HTML if you do not already- even if you don't use it with the language you eventually learn, it is a very useful skill. Then, consider where you want to go.

1- I want to do easy graphics, and/or, I want to program web applications

For easy graphics (using HTML and CSS) and anything web-related, I highly suggest PHP. PHP is a recursive (don't know what recursive is? You'll learn ) acronym for PHP: Hypertext Processor (from that you can tell that "recursive" is something that references itself ) PHP is technically a "Scripting Language", that is, you write "Scripts" instead of programs that are implemented at runtime by a PHP interpreter instead of as binary instructions on the processor itself. What does that mean to me, you ask? Nearly nothing. The only note is that PHP can be hard to install on Windows or Mac machines, mainly machines running Vista, and you'll have to set up an Apache web server to run it locally. For $50, you can rent a webserver on the internet and get a domain for a year, which will certainly include PHP pre-installed.

PHP offers a good deal of benefits. It uses syntax similar to C, so it'll make learning C much easier. It is not strongly typed, so you don't have to worry about your variable types. It lets you easily do non-animated graphics by using HTML (PHP files are processed by the server into an HTML file that is displayed, in essence). It is used for all sorts of applications- look at your address bar, the address is "forums.tauonline.org/index.php" - you're using the results of PHP right now. It also offers very easy access to MySQL databases.

2- I want a easy hobby language without complicated syntax, and with minor graphics capability

In this case I would suggest a BASIC. BASICS are very easy languages with a near human readable syntax, that is, it is very easy to tell what the program is doing at any one time. Normally they have some graphics capability, and they are pretty easy to pick up. The only BASIC I've used is LibertyBASIC/JustBASIC (JustBASIC is the free, less featured version of LibertyBASIC), both of which are decent.

The one caution, though, is that if you want to eventually move on to more complicated languages that are lower level ("lower" as in more close to actual processor instructions. "High level" means that there is a high level of abstraction, that is, it is more similar to human text than it is to machine code. Higher level languages are easier to learn than low level) in terms of complexity, and can hence lead to the programmer developing some bad habits. If you want to just try out programming easily, though, or don't want to get into anything too complicated, BASICS are perfect.

3- I know I want to do programming. I want lots of control- hardware, software, 3d graphics, whatever I want. I have a good deal of time to learn.

In this case I'd suggest C. C is one of the oldest and most respected languages out there, and is used... everywhere. Name a game, and it certainly has some code written in C. Your operating system? Written in C. C is a low level language, in that it is close to the machine, and is hence high level in terms of difficulty. Learning C can be a challenge, but not impossible for anyone. It offers very similar syntax to PHP, Java, C#, D, E, and others, and is hence a very good language to learn. You can do literally anything with C- I've used it for programming robots, writing database programs, and doing advanced graphics with OpenGL.

C is a compiled language- you write code, then feed it into a compiler, which takes your text and converts it into instructions for a processor.

C has a close cousin called C++. Honestly, I'd recommend against C++, just stick with C. There is nothing you can't do with C, and the advantages of C++ are minor. Oftentimes C++ is actually more complicated than C is, without any benefit to you.

Alright, I know where I'm going- how do I get there?

In my opinion, your first language should always be learned with a book. Go to your local bookstore, or to Amazon.com or the like, or to your local library, and find a good programming book. You want something pretty low level, but I would shy away from the "For Dummies" books, I've found them to be pretty bad. If you are looking for advice, the internet often has good reviews, and the people here are always willing to help. I'll toss in my two cents- I learned LibertyBASIC from "Basic Programming for Dummies, 3rd edition". I then moved on to PHP, which I picked up mainly off of the internet. I learned C using an absolutely fantastic book from 1990 called "Teach Yourself C" by Herbert Schildt. I doubt you can find it, but it really is a truly great book.

Once you've got your book, go through it. Read everything, even if you don't do the exercises. And experiment with your code, try out new things, stuff like that. Don't know how something works? You can often download the source code of a Open-Source program that does what you want and look at how its done. Want to know if something works? Try it! The internet is your friend- forums like this and others can provide the best support in the world. It is certain someone's had your problem before, and these guys know how to fix it. I'm personally always open to help people as best I can.

That concludes this guide, though I may add more later if I think of it. If you have questions, do ask! Other programmers, feel free to add. Hope you enjoyed it, and most importantly, good luck in the world of programming.
__________________
Quote:
Originally Posted by Cato the Elder
Ceterum censeo Carthaginem esse delendam
Quote:
Originally Posted by Truth
We do what we must because we can.
Quote:
Originally Posted by Rorschach
... Geeky... I love you in a completely heterosexual way.
GeekyGator is offline   Reply With Quote
Old 16 May 2008, 23:52   #2 (permalink)
Shas'O
 
Join Date: Aug 2005
Location: HULL- UK
Posts: 5,130
Send a message via MSN to Dezart Fox
Default Re: So, you want to be a programmer?

Awesome
Good work, I don't mind reading, will have to start looking for some books
__________________


Dezart Fox is offline   Reply With Quote
Old 17 May 2008, 02:42   #3 (permalink)
Shas'O
 
Join Date: Aug 2006
Location: Florida, U.S.A
Posts: 9,460
Default Re: So, you want to be a programmer?

If you happen to see a old copy of a blue book Teach Yourself C by herbert schildt, snap it up ;D Honestly the best computer book I've ever used.

Glad you liked it!





Great work Geeky - excellent intro to the programming world. +1 for you efforts, and 6 cookies - Rafe
__________________
Quote:
Originally Posted by Cato the Elder
Ceterum censeo Carthaginem esse delendam
Quote:
Originally Posted by Truth
We do what we must because we can.
Quote:
Originally Posted by Rorschach
... Geeky... I love you in a completely heterosexual way.
GeekyGator is offline   Reply With Quote
Old 18 May 2008, 23:35   #4 (permalink)
Shas'Ui
 
Join Date: Oct 2006
Location: Norway, oslo
Posts: 994
Default No?

pst. geeky, fix you size tags.

I agree with most of your first statements Gator.

Sadly, I have to add a few points.

- So, you want to be a Programmer?
I'd like to interject, for clarity:
If you understand and implement the concepts from one good book; you've learned more then reading 10.
There is nothing wrong with reading a lot of books to open your eyes, but it's all for void if you are not able to implement new knowledge in code and design.

I'd say your degree of math knowledge is a moot point.
The ability to understand mathematical concepts is a good indicator to how easy you'll learn algorithms tho.

- You haven't scared me off! Where do I start?
I'll just let this be, I mostly agree.
But I do feel the need to quote Dijkstra:
Quote:
Originally Posted by EWD898: The threats to computing science
I think of the company advertising "Thought Processors" or the college pretending that learning BASIC suffices or at least helps, whereas the teaching of BASIC should be rated as a criminal offense: it mutilates the mind beyond recovery.
An old piece, but it describes something perceived broken already then.

- I know I want to do programming. I want lots of control- hardware, software, 3d graphics, whatever I want. I have a good deal of time to learn.
In this case, I suggest object oriented assembly language.
You get complete access to everything. It takes ages to do.
And since it's object oriented assembly it takes about the same time as writing in C.

If you want to do things a bit easier, go for c++ with boost or wait for c++0x.
Among the most important things, C++ give you better memory control and object orientation.
Note, you can do object orientation in c, but it's bastardized and honestly quite frail.

If you're in a hurry, use cpython. I personally detest pythons, but it's for some people easier and is just another extension of c.

And since Geeky will probably enjoy this; Use java, java kicks ass etc. Ask if you care.

Note: Gator, I find it a surprising jump between point 2 and 3. You go straight from "Just a little" to "EVERYTHING. RAWR!" :P
I'll let you get time to fill something in between these.



Other topics: Math, 4 ways to do it:

- I got to make a program now, quickly, based on math, and I don't have too much time to learn!
F# my man, it makes for a quick and easy way to write lambda based math software.
It's a rather simple shortened english-y syntax, quick to write with a small code footprint.
It's .net interpreter based, essentially that means it compiles your code over to the same stuff c# and the other visual studio languages result in.
Witch is not a bad thing, actually nice and standardized, but I find it a tad odd ^^

- My hero, now I got more time to learn, what's next?
Well my friend, there is mit's little lambda baby, Scheme, a lisp variant.
This is the schoolyard bully of languages, you think c is cool 'cause it can redefine symbol syntax?
This mutant eats your symbol redefinition and proclaims redefinitions of symbol syntax while you define named symbol syntax. You want to break all the rules? Let's do this!
Find mathlab sexy for it's variable mutability abilities? This bastard mutates the freaking methods!
You want java bytecode? OK. A c based executable? Done.
You want to break you mind? Have fun, I did!
Note: Scheme can be used without breaking your mind, if memory serves; gimp actually use it as a scripting language.

- Okay, that was a bit much. How about a program that's a bit more like that basic language.
Visual basic, it's in excel, go have fun. Not a especially remarkable language, but it's widespread, somewhat easy to use and in almost any job; your boss will be happy if you can fix his broken spreadsheet...
Note: VB works fine as a low to intermediate language, and combined with .net you can make office applications and spiffy aspx based web pages.

- Silly man, ever heard about mathlab?
Youp, if you know it, use it. It even interface quite nicely with OpenGl.
And it works well with math stuff, who would have known?
Note: mathlab is a dedicated math programming tool similar to the other lambda based languages.

- Heh' Anything else about math?
Sure, c++boost got lambda. If you like your pain, use lambda in c++.



Other topics: Wisdom from a bottle:

- Notes on Algorithms
Learn them, use them.
There is people out there that had that idea your playing with, they've bleed for it, and realised a smarter way to do it.
Debug. A good algorithm make debugging easier. Scientists have discovered that 50% of programming related ulcers are sourced in lack of proper debugging.
Plan. Thinking is not a bad thing. I know people that always started writing code without a plan. They got interesting results! 10 years later, they still get interesting results!
Use big O notation. Big O lets you calculate the probable resource use of your algorithm.
An elegant algorithms that use several lifetimes to sort a CD collection, is relatively useless.
Patterns. More or less like Algorithms, just related to anything someone is able to standarise. Learn from this, what is a machine construction standard, could lead a construction standard for code.

- Notes on Object orientation
Object orientation is the technique of first defining a recipe.
With this recipe, you can easily make a lot of cakes.
Not only that, we can write addendum to that recipe.
Now we can make more complex cakes.
We could even combine several recipes and get some seriously funky cakes.
You want to make rules of how a cake should be, but not make a complete recipe, done and done.
In actual terms, you make a bit of code, that code lets you copy it and change it around.
Since the code is of the same originator, you can treat it the same way.

There are sadly a lack of good simple explanations of this concept.
An example; This tool lets you write one code that accepts and uses general input, and you can write code that understands sql, file systems or keyboard input. Now the two parts can easily communicate automatically.
Let it be known that the the original 8080 computer could, and did, use object orientation.
This tool is powerful and should be mandatory to anyone learning to code.

- Notes on Programing languages
All in all, learn whatever you want, there are easy and hard languages out there.
There will be bastards that tell you that whatever language you choose, it will suck, you'll never be a success, and you'll be limited since you choose that language.
There will always be assholes like me telling you what to do, learn and know.
Know this, any language will learn you something.
Write c for a time, but quit before it locks up your mind, write java for a while, but quit before it leaves you too mellow. Do Scheme, but halt before you go nuts.
Aww... now I'm byting the class of 99 thing. Am I lame or what?
Just learn to think for yourself, whatever you learn, you can put to another language.



George.
And trust me on the debugging


Nice work, +1 - Rafe
__________________
Food and sleep is no substitute for coffee.
And I do need some coffee...

"One thing about programming, is to make everything boring... You don't want a 100 tonne turbine to get exiting"
GeorgeCrane is offline   Reply With Quote
Old 18 May 2008, 23:46   #5 (permalink)
Shas'O
 
Join Date: Aug 2006
Location: Florida, U.S.A
Posts: 9,460
Default Re: So, you want to be a programmer?

Thanks for the input, George. Really, I agree that math is pretty much moot, but if you're a middle school kid I think you need at least Algebra 1 to do anything useful.

The idea behind recommending C, in my opinion, is that a lot of stuff is similar to C, and it lets them get a feel for everything easily. If they end up going to OOAssembly, sweet, but if they go to Java they'll be way ahead of the game.

I really don't think the OO features of C++ are worth it. And for a first language, it needlessly complicates things.

To a degree I agree with you for the BASIC, maybe I should change the description... It won't kill your opportunities to do more later, but if you know you only want a little taste of programming I do think it is the way to go. And a lot of people can use it on their graphing calculators.
__________________
Quote:
Originally Posted by Cato the Elder
Ceterum censeo Carthaginem esse delendam
Quote:
Originally Posted by Truth
We do what we must because we can.
Quote:
Originally Posted by Rorschach
... Geeky... I love you in a completely heterosexual way.
GeekyGator is offline   Reply With Quote
Old 19 May 2008, 13:31   #6 (permalink)
Shas'El
 
Join Date: Dec 2006
Posts: 2,645
Default Re: So, you want to be a programmer?

Good posts guys.

I think the biggest thing that helps anyone learn any language is that they have a reason to learn it. If you want to pick up a language then you should have a goal for learning it. I learned HTML 10 years ago because I wanted to build a website for my guild (I know HTML isn't a language, just laying out my example). Later on I wanted to make it cooler, so I picked up on CSS (Cascading Style Sheets). After that, I wanted to add even cooler stuff, so I started learning Javascript. Eventually I wanted to have more dynamic content, things like the ability to post news to the site, create polls, things of that nature, so I started learning PHP and subsequently MySQL for database storage of the data.

It's so much easier to learn a language with a goal in mind. If I wanted to learn Java, for example, then I'd make sure I had a reason to learn it so that I can apply what I'm learning to a real life application I want; it provides motivation if nothing else.
__________________
Thor{DoH} is offline   Reply With Quote
Old 19 May 2008, 17:36   #7 (permalink)
Shas'Ui
 
Join Date: Oct 2006
Location: Norway, oslo
Posts: 994
Default Re: So, you want to be a programmer?

True Thor, motivation is everything.

Geeky.
Could you do me a favor and write down the pro and cons of pure procedural vs object oriented design, from your view?
Is it the take c++ has on object oriented design?

I'm really interested in understanding your reasoning
__________________
Food and sleep is no substitute for coffee.
And I do need some coffee...

"One thing about programming, is to make everything boring... You don't want a 100 tonne turbine to get exiting"
GeorgeCrane is offline   Reply With Quote
Old 20 May 2008, 00:50   #8 (permalink)
Shas'O
 
Join Date: Aug 2006
Location: Florida, U.S.A
Posts: 9,460
Default Re: So, you want to be a programmer?

The biggest thing, really, is that I know Procedural, I'm comfortable with it, and I'm used to it. When I do problem solving, I normally think in a way that is closer to procedural style. And since I've seen some studies that show OO doesn't actually help you all that much in terms of productivity on average, I don't see the point.

I'm also just being a little bit reactionary- OO just seems to be too popular these days, and is wiggling itself into things that there really is no reason to have it in. Bear in mind, here, that I work mostly with Small Business and databse software, basically setting up GUIs and a few tools for a databse. For something like that, there really is no reason to use OO- it just adds to my programming time, forces me to make much more documentation for my programming teammates, and increases processor overhead (or might, the jury is still out). Protocol coupling is a big thing with this- the projects I do are sufficiently large scale that I don't work on every part, but sufficiently small scale that I only get maybe 50 hours total to work on it. So when object X depends on object Y and Z for interfacing and object W for blah de blah, I have to learn about all those objects that my teammates wrote, which I don't always have time for. So for the stuff I do, there really is no reason at all to use OO.

Now, I see the points that OO has in some specific applications, where it would help a good deal. But at the same time, I often think that real life examples would be a whole lot different from the examples people always teach you OO with, things don't break up so easily when you're writing your hundred-thousandth line of code. Fact is that heirachies arn't so clear cut, and learning and keeping track of all of my hierachies and objects and all this junk is just too much work for a small business package that might net me $1000, tops.

Also, theres just a little bit of the 15-year-old-boy OMG OPTIMIZED in there.

EDIT: Also, one of the big things for OO is that when you want to write new code you can "snap it into place" without breaking anything else. I see my code for 2 weeks, test for a week, then ship. I don't ever need to snap things into place, it isn't developed after that.
__________________
Quote:
Originally Posted by Cato the Elder
Ceterum censeo Carthaginem esse delendam
Quote:
Originally Posted by Truth
We do what we must because we can.
Quote:
Originally Posted by Rorschach
... Geeky... I love you in a completely heterosexual way.
GeekyGator is offline   Reply With Quote
Old 20 May 2008, 03:39   #9 (permalink)
Shas'Vre
 
Join Date: Sep 2007
Posts: 1,958
Default Re: So, you want to be a programmer?

If you're starting from scratch, knowing no programming languages at all, it would be a good idea to spend some time thinking about what kind of things you want to program before deciding on a language. Some languages are better at some things than others.

The various flavors of C (C#, C++ objective C, whatever) are good general-purpose languages and can create fast code, but you can't just dive in and bodge together an application quickly. C is something you would write a word processor or game in.

Pascal is an ancestor of C, has a similar structure, and holds your hand a little more. It's still taught in colleges, but you're unlikely to use it for anything else.

Does anybody code in Assembly anymore? About all I remember about assembly from CS class is that the fastest-running code comes from it.

Perl and Python are very good at processing text, and quick languages for getting something that works. They're also good at automated tasks where you need to "glue" several smaller applications together to do something new.

My 2 cents.


I never managed to teach myself java, but my impression of it is that it's a quick and dirty version of C.

All things considered, I think the easiest way to get into programming is to start with a spreadsheet. Making a spreadsheet do anything fancy (like using functions beyond sum and average) is a form of programming, and a much more forgiving one than even Perl or Python.
knightperson is offline   Reply With Quote
Old 20 May 2008, 12:13   #10 (permalink)
Shas'Ui
 
Join Date: Oct 2006
Location: Norway, oslo
Posts: 994
Default Re: So, you want to be a programmer?

Quote:
Originally Posted by GeekyGator
The biggest thing, really, is that I know Procedural, I'm comfortable with it, and I'm used to it. When I do problem solving, I normally think in a way that is closer to procedural style. And since I've seen some studies that show OO doesn't actually help you all that much in terms of productivity on average, I don't see the point.
I'm glad you understand that you are biased towards the Procedural paradigm.
When you come with studies claims, please provide the source.
Else others can claim: Studies show C is the leading reason for illegal drug abuse. Get my drift?

Quote:
Originally Posted by GeekyGator
I'm also just being a little bit reactionary- OO just seems to be too popular these days, and is wiggling itself into things that there really is no reason to have it in. Bear in mind, here, that I work mostly with Small Business and databse software, basically setting up GUIs and a few tools for a databse. For something like that, there really is no reason to use OO- it just adds to my programming time, forces me to make much more documentation for my programming teammates, and increases processor overhead (or might, the jury is still out). Protocol coupling is a big thing with this- the projects I do are sufficiently large scale that I don't work on every part, but sufficiently small scale that I only get maybe 50 hours total to work on it. So when object X depends on object Y and Z for interfacing and object W for blah de blah, I have to learn about all those objects that my teammates wrote, which I don't always have time for. So for the stuff I do, there really is no reason at all to use OO.
Where do you find object where they do not fit?
For databases, objects are perfect. Write all the database connection, connection maintenance, data access and proper shutdown into the object class. You'll practically just do a cut'n paste of your procedural code (I do not recommend it, tho ). Then you can use the class for multiple databases, and all your possible database problems are in a neat little package.
I have no idea of how you document your code, but this sounds interesting. Note: in this case interesting is not nesseceraly a good thing.
Do you understand the concept of encapsulation/blackboxing, or don't your 'mates trust you, so you have to tell them every little detail?
The idea of encapsulating is that you don't have to learn everything about the object, you are supposed to let the names of classes, method names
and return values be complimented by a two - tree line of whitepaper. The idiot using you object don't need to understand the
details, he need to know what to put in and what he is expected to get out.
Processor overhead? Are you thinking of the operation call for memory indirection by the usage of pure getters and setters? If so, yes there is a small overhead, and anything you could tweak away with this, should be inline code in c anyway. Note that many compilers compensate for this by making pure get/set methods non interdiction (points straight to the actual memory item) at compilius. If you are talking about abstraction trough inheritance, learn to use it properly, don't use a monkey wrench in place of a hammer.
Oop thrives with item-event coupling, sometimes to the extent of being silly and down right pointless
50 hours to make a sql/ftp based office program, 'eh?

Quote:
Originally Posted by GeekyGator
Now, I see the points that OO has in some specific applications, where it would help a good deal. But at the same time, I often think that real life examples would be a whole lot different from the examples people always teach you OO with, things don't break up so easily when you're writing your hundred-thousandth line of code. Fact is that heirachies arn't so clear cut, and learning and keeping track of all of my hierachies and objects and all this junk is just too much work for a small business package that might net me $1000, tops.
And Procedural has areas of uses, where it will be perfect. The real world to oop teaching is and I presume will always be flawed. Proper oop understanding and programming can be a real pain to learn.
Understanding and breaking up a system design into good hierarchies, is hard, no question.
For software development i suggest you look over this document, made my life so much easier.

Quote:
Originally Posted by GeekyGator
Also, theres just a little bit of the 15-year-old-boy OMG OPTIMIZED in there.
Rebelling against the establishment, are we?

Quote:
Originally Posted by GeekyGator
EDIT: Also, one of the big things for OO is that when you want to write new code you can "snap it into place" without breaking anything else. I see my code for 2 weeks, test for a week, then ship. I don't ever need to snap things into place, it isn't developed after that.
What we do is to define the interfaces and develop parts of the code independently, based on the interface or abstract description. It can be done similarly with procedural, but it usually ends up with method footprints in the whitepaper. This'll let the program snap together quicker, and let's the debugging be a bit easier.
Albeit, procedural makes this a little bit shaky.

[hr]
knightperson.
Hey I remember pascal, that was a funky tool, people still use that?
And about java ...but I like it quick and dirty :P
__________________
Food and sleep is no substitute for coffee.
And I do need some coffee...

"One thing about programming, is to make everything boring... You don't want a 100 tonne turbine to get exiting"
GeorgeCrane is offline   Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
A couple of questions for TO's newest HTML programmer Frosty05 Computers, Science and Technology 8 09 Jul 2007 12:44
In need of a website programmer Farseer_Emlyn Computers, Science and Technology 17 29 Apr 2007 22:12