it's how your braught up, persnally i learned recursion from K&R saying it was a elegant solution which got me interested. Most tco tends to stop the stack frames from building up, so not much memory loss there.Apart from the dangerous maintenance, it's also difficult to maintain. Headache inducing and usually unecessary. Also takes a lot of memory, tco or not.![]()
Memory is still used during the lookups before any "real" computation even begins. This is avoided somewhat when not using recursion, and using (for example) iterative measures such as here.it's how your braught up, persnally i learned recursion from K&R saying it was a elegant solution which got me interested. Most tco tends to stop the stack frames from building up, so not much memory loss there.
That is purely subjective. I disagree, and much prefer managed lists for traversing (see Iterative Traversing).Things like tree treversing, parsing, and divide & conquer algorithms are much better recursive. Espically tree traversing.
Er. no, I didn't say that. I'm very happy to use deep copy, copy constructors and so forth where necessary, but not out of some religious desire. There's very little point doing those things with a singleton, for example.You statically type everything, and manually deep copy for dymanic deep copy for assignments? You don't know how many bugs i have encounted with classes with member pointers all pointing to the same class because of a shallow copy due to the complier defined copy operator. Dangerous bugs to because they might not get caught by your test suite, until there in production.
I think you need to seriously think about whether this project is actually going to be accessible for newbies - a lot of this discussion is really over my head, and I'm sure I'm not the only one who doesn't have a clue what 'dynamic deep copy for assignments' means.
I fear this is moving away from a community project where beginners can learn some programming alongside the more experienced guys, into something only pros will be able to contribute to.
forgive me if this sound abit too negative but all of these ideas seems abit too complex. if you guys start off small and find out who are the people willing to spend the most time and their skill levels then you could probably move on and work on something abit bigger/harder.
or even better, how about finding an open source project that all of you can agree to work on and contribute to that. at least they would have had a direction and management set in place already
lol I am unsure how they would take it - like a hostile take over or something lol - would be funny letting them know we are helping...
"hey, me and my friends like your project and wanna help out can we?"
"um ok, whats your skill sets?"
"everything."
"everything?"
"EEEEEEEVERYTHING!"
*10 minutes later the package has been downloaded 3000 times and is already past alpha testing.*
"What have you done!?"
"EEEEEEEEEEVERYTHIIIIIIIIIIIIIIING!!!! Grease grease, grease g-grease lightning, grease grease, grease g-grease lightning.... (breaks into song and dance)!"
can i just check will this be using stuff that i can get for free or will i have to buy the programming platform?
a quick 2p from me.. drop this concept of "teams" people will naturally fall into their preferred roles anyway, and leaving everything up to votes will prove more result worthy. A select few may not decide what is best for the whole, but asking the whole will.Havign a mail-list (if you haven't already got one) will be your most valuable tool. A forum is nice to have, but requires people check it. Mail-lists get sent, and are quicker to reply to.
Have a few members (who are willing) to deal with impediments that the community may have. Disputes, split decisions etc.