On Tue, Apr 28, 2009 at 15:04, Bryan Sant <bryan.s...@gmail.com> wrote: > On Tue, Apr 28, 2009 at 2:35 PM, Nicholas Leippe <n...@leippe.com> wrote: >> I totally agree with the reasoning, and feel that assembly should be a >> requirement simply for the understanding it provides. You think differently >> when programming in any language once you've learned assembly and consider >> what's happening underneath. > > I agree to both. Writing the same application in asm, C, C++, Java, > and Python would be an excellent exercise for students of the craft > IMHO.
In the tail end of the CS program at BYU, I'd have to say that the C++ experience we get (CS 240) is less than conducive to providing a C++ experience that leaves us wanting to learn more about it. The class is just fine, but the C++ experience it provides is one of the things that was instrumental in leaving me with a bad aftertaste over C++. And if students need experience with "low-level" languages, it's hard to go wrong with C. There's no "new/delete" obscuring memory management, and a one-week, in-class-only introduction to C++ templates is IMO worse than none at all. I'm well aware of the widespread use of C++ in industry, and well aware of what it's capable of. I just think that if you're trying to inspire understanding of your code's impact on the hardware, C is more effective. One good thing about the C++ crash course of CS 240 is it taught me a lot about what to look for/like/dislike in a language. For my class projects I now use Objective-C wherever possible, or straight C. And when I went looking for a job, I specifically went looking for a job where we use C. -- Alex Esplin /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */