Collaborative Forum FAQ

Started by
10 comments, last by demonkoryu 18 years, 8 months ago
[edit: Thanks for the suggestions, guys. I'm locking this topic for now and I'll have something up by the end of the weekend.] Greetings and salutations, fellow GDNetizens! I'll be replacing felisandria for the time being as prime moderator of the General Programming forum. The purpose of this thread is to establish a forum FAQ. This will be a somewhat unconventional FAQ in that we'll aim to provide only a concise (but correct) answer, not a complete exposition of the subject, in the interest of minimizing the burden on the reader. If they're interested in a more in-depth treatment, we'll provide them with links to external sites that can expound on the matter further. After a careful review of the recent threads, combined with my own experience, I feel there's sufficient information to give the following topics a mention in the FAQ: -- good programming practices, stylistic guidelines, coding conventions, etc.; links to resources -- the basics of advanced non-language-specific structures: pointers, references, function pointers/delegates, closures, continuations; links to resources -- the basics of data structures: arrays, linked lists, the various types of trees, hashtables, and so on; links to resources -- general optimization strategies: tail recursion, dangers of premature optimization, importance of proper profiling, links to resources -- getting started writing your own language/grammar/lexer/parser/compiler; what they are, what you'll need to know, links to resources I'd like to hear from you, the community, whether you feel these topics represent an appropriate assessment. If I missed something, please post and let me know, and include some helpful links concerning the subject you'd like me to add (see below). I'd also like you to provide some worthwhile links to the subjects. In all cases I'd prefer that we link to an authority on the subject rather than give a lengthy answer ourselves. An authority or reference that is language-specific is okay, so long as it adequately and sufficiently describes the concept in question. For instance, a page that describes function pointers in C++ (as opposed to function pointers in general) is okay as long as it also describes what function pointers are, how they might be useful, why you'd want to use them, and so on. Preference should be given to links that will probably be stable, such as Wikipedia, NIST, or FOLDOC, and to references that are language-neutral. A strong preference should be given to links on GDNet. Links to volatile sites, like geocities.com or myspace.net or another free hosting provider, should be discouraged for obvious reasons. In all cases, however, a reference that you think does a better job of explaining things should be given preference over one that does a crappy job. Additional topics suggested so far by the community: -- [Conner McCloud] random number generation, FP formats (IEEE, etc.) -- [TDragon] getting started with Win32/MFC -- [Nitage, iMalc] numerical oddities, FP inaccuracies, NaN != *, classes vs. structs, convert numbers<->string, debug vs. release modes, memory leaks [Edited by - kSquared on August 13, 2005 10:36:51 AM]
- k2"Choose a job you love, and you'll never have to work a day in your life." — Confucius"Logic will get you from A to B. Imagination will get you everywhere." — Albert Einstein"Money is the most egalitarian force in society. It confers power on whoever holds it." — Roger Starr{General Programming Forum FAQ} | {Blog/Journal} | {[email=kkaitan at gmail dot com]e-mail me[/email]} | {excellent webhosting}
Advertisement
I am not sure if this forum's faq would be the most appropriate place, but in addition to the above listed, I'd like to see:

Something describing the general setup to embedding a scripting language within a more traditional. [perhaps an offshoot of 'how to I create my own parser?']

Something describing some platform specific details [.lib/.dll vs .a/.so, "how do I program for a (console system)?"] which are common to development on that platform.
In terms of useful links, the C++ FAQ Lite should be on there, maybe under the category of "required reading"

Also I've never met a bit-twiddling-related question that couldn't be answered by this page
I think it would helpful or at least neat if we could show a linked list (or any data structure) in C, Lisp, Python, and OCaml (for example).

Beginner in Game Development?  Read here. And read here.

 

Quote:Original post by Telastyn
I am not sure if this forum's faq would be the most appropriate place

Sorry; that was perhaps bad wording. It'd probably be a FAQ sticky in the forum, not part of the "actual" forum FAQ (which will probably be left as is).

Quote:Something describing the general setup to embedding a scripting language within a more traditional. [perhaps an offshoot of 'how to I create my own parser?']

Good call.

Quote:Something describing some platform specific details [.lib/.dll vs .a/.so, "how do I program for a (console system)?"] which are common to development on that platform.

Can you narrow that down a little? What do you mean by "platform-specific details"? Something like "tricks and tips for coding on Win32/Mac OS X/Linux/{insert arbitrary platform} platform"?
- k2"Choose a job you love, and you'll never have to work a day in your life." — Confucius"Logic will get you from A to B. Imagination will get you everywhere." — Albert Einstein"Money is the most egalitarian force in society. It confers power on whoever holds it." — Roger Starr{General Programming Forum FAQ} | {Blog/Journal} | {[email=kkaitan at gmail dot com]e-mail me[/email]} | {excellent webhosting}
Well, Helter_Skelter posted this link to platform #defines recently. I'm not exactly sure myself, but little tidbits like that are very useful in the practical world, but are often ignored by books, and do not fit well into other forums.
"How do I convert an int to a string?" is a question I see asked very frequently. Maybe it should be on this faq, although it's probably more appropriate in 'For Beginners'.
Just FYI, I'll be taking suggestions until the weekend, and then I'll start writing it up. So keep 'em coming. =)
- k2"Choose a job you love, and you'll never have to work a day in your life." — Confucius"Logic will get you from A to B. Imagination will get you everywhere." — Albert Einstein"Money is the most egalitarian force in society. It confers power on whoever holds it." — Roger Starr{General Programming Forum FAQ} | {Blog/Journal} | {[email=kkaitan at gmail dot com]e-mail me[/email]} | {excellent webhosting}
The kind of things that would decrease the number of threads which discuss the same things as dozens of other previous threads are:
What is the difference between classes and structs?
Why are floating point numbers giving me strange answers?
How do I convert a number to a string (or vice versa)?
Why does my program work in debug mode but not release mode?
How can I detect (or fix) memory leaks in my program?

I'm not sure if this are exactly the kind of things you were thinking of, but they're certainly things that come up a lot! I guess that the kind of people that ask these questions also often are the kind of people who don't read any FAQ's first.

Anyway, good to have you around on here!
"In order to understand recursion, you must first understand recursion."
My website dedicated to sorting algorithms
I'm not entirely certain about this, but...

This forum (along with the Beginners Forum) seems to get the most Win32 API questions (and MFC). Perhaps we should include something along those lines. It could be as little as "Do you need to know how to program something for Windows? Visit the MSDN Library", or as much as getting a basic Win32 application with window and message pump, and some sort of MFC sample (nothing comes to mind on this one, unfortunately).
{[JohnE, Chief Architect and Senior Programmer, Twilight Dragon Media{[+++{GCC/MinGW}+++{Code::Blocks IDE}+++{wxWidgets Cross-Platform Native UI Framework}+++

This topic is closed to new replies.

Advertisement