On Wed, Mar 19, 2003 at 06:08:13PM -0800, Peter Jay Salzman wrote: > i've heard this from two people now. > > some students are being taught they should stay clear of malloc() and > instead use calloc() because calloc() is the "old school" way of getting > memory dynamically. they're taught that malloc() may not be present in > all implementations of the C library. again, because calloc() is "old > school". presumably, malloc() is ... new fangled. ;)
This is absolutely untrue. The first library had malloc(). Always using calloc() would be a ridiculously inefficient way to obtain memory if you're going to just set it again anyway. Even if there is a grain of truth in it, it could only be for *extremely* old, pre-ANSI implementations which didn't even bother with being portable, since the first libraries had malloc(), and malloc() is obviously in the first edition of K&R C. IMO, the professor (like way too many C teachers) is an idiot. Anyway, these days *no one* should be worrying about compatibility with pre-ANSI compilers. Standard C exists on pretty much every platform, and could easily be ported to the one or two archaic servers used somewhere in the world which might not have an implementation. > actually, both people used the words "old school", so i'm assuming > that's some kind of quote by the professor. > > just for my own self-edification, does anyone know anything about this > "old school" and "new school" business? i've never heard of it before. Actually, even 1989 C standard should be "old school" by now, as we've had a new standard for 4 years now. Strange that there's still only one fully-conforming implementation of it... *sigh*... I'd love to write exclusively in C99 these days, but since it's still abysmally unportable (GCC's support is still *way* off)... gotta stick to "old school" C89... -Micah _______________________________________________ vox-tech mailing list [EMAIL PROTECTED] http://lists.lugod.org/mailman/listinfo/vox-tech
