Another Newbie Question: C or C++
wegster at mindcore.net
Wed Nov 12 15:51:32 PST 2003
yo _ wrote:
>> I would recommend not trying to learn C or C++ by yourself from a book.
>> The fastest (and best way) to learn the right stuff is to take
>> coursework from a university or community college.
> Not that I like disagreeing for no good reason, but I wholeheartedly
> disagree with that statement.
>> If the courses are any good, you'll get feedback, and you'll be paced
>> and challenged with projects designed to help you learn.
>> Going it alone in an unguided environment will only familiarize you
>> the lesser aspects of a language, if you last that long. The difficult
>> and most important aspects of the language (like pointers, virtual
>> functions, references) will become almost insurmountable
>> trial-and-error obstacles if you try to teach yourself.
> If you want to get a lower paying and boring job programming in C/C++
> for whatever reason and have a piece of paper that says you can have
> that job, I recommend wasting 4-6 months taking a course in your spare
> time to learn C/C++. If you want to be top of your game and learn
> C/C++ without wasting time on topics that take you a minute to
> understand, get a good book, practice the topics you have learned at
> your own pace, get numorous code examples for things you may want to
> do (sockets, GUI, OpenGL, ncurses, threading, kernel interfacing) from
> the glorious and infinite internet and emulate good programming style
> (using const qualifiers in C++, using #defines in C, etc.). Also be
> prepared to teach yourself because you may not always be prepared for
> a job you may find yourself with; learn how to easily learn and use
> external libraries.
Like others it seems, I have a problem with _part_ of this statement. I
have taught C++ and others previously, and can say _some_ people respond
much better to 'guided' learning in person- eg, classes. Those that
take what they leanred in class and go on to actually apply it, or come
up with questions on their own and then pursue the answers on their own
time, become much better programmers. Others are completely capable of
learning outside of a classroom environment- Note I didn't say 'on their
own,' because a good book and _working code_ examples, and then their
own working code, are all invaluable parts...so anyway, I don't agree
with ALL classes being a waste, although it highly depends on the
instructor, the student, and perhaps most importantly, what the student
DOES with the information given to him.
A very good point was brought up though, and it used to be embedded in
every class I taught- the things not nescessarily language specific-
problem analysis, design, good programming practices and structure.
These are not always taught in the 'usual comp programming classes'
unfortunately. The other point I used to mention (while teaching
Pascal, heh!) was if they took only a single thing away with them from
the class, it was this: You MUST learn how to do research on your own,
and solve your own problems! That doesn't mean never asking for help,
whether in person, via mailing lists or newsgroups, but it means if you
have a problem, you should be _capable_, and know how to, research it
yourself first. When you think about it, every single program created
is unique (k, cept maybe where SCO stole source code and then cried to
lawyers about it ;-). Even programs that have the same design, even
down to the API level, are unique. When you start a new project, on
your own or in a group, it's HIGHLY likely you will be doing something
you have never done before....so learning how to find information you
need, quickly, becomes paramount.
> The best programmers will teach themselves. A statement that may be on
> the borderline of opinion to fact by constant example. After all the
> first programmer, in fact, taught herself.
> -Rian Hunter
> MSN Messenger with backgrounds, emoticons and more.
> freebsd-questions at freebsd.org mailing list
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"
More information about the freebsd-questions