Click here to Skip to main content
15,861,172 members

peterchen - Professional Profile



Summary

    Blog RSS
46,888
Author
2,896
Authority
98,630
Debator
37
Editor
232
Enquirer
4,330
Organiser
5,435
Participant
Peter is tired of being called "Mr. Chen", even so certain individuals insist on it. No, he's not chinese.

Peter has seen lots of boxes you youngsters wouldn't even accept as calculators. He is proud of having visited the insides of a 16 Bit Machine.

In his spare time he ponders new ways of turning groceries into biohazards, or tries to coax South American officials to add some stamps to his passport.

Beyond these trivialities Peter works for Klippel[^], a small german company that wants to make mankind happier by selling them novel loudspeaker measurement equipment.


Where are you from?[^]



Please, if you are using one of my articles for anything, just leave me a comment. Seeing that this stuff is actually useful to someone is what keeps me posting and updating them.
Should you happen to not like it, tell me, too

Groups

Below is the list of groups in which the member is participating

United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.
This is a Collaborative Group
This member has Member status in this group

41 members
United States United States
This _private_ forum is set up to be a place where political and social issues, including American politics and global warming, can be discussed in a reasonably civil manner. Anyone who has been an active member* of Code Project for six months is welcome to apply for membership but this forum does not tolerate trolling posts, or posters who wish to be disagreeable. Those who choose to become uncivil, insulting, or childish will be warned and, for repeated violations, removed from membership.

* That means that you have posted regularly or had at least one article published.

For member complaints and suggestions, contact the forum administrator at ...
cp[soapbox1[0 at gmail.com
Remove the [ characters and replace them by a period.
This is a Social Group
This member has Member status in this group

193 members

Reputation

Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Have the ability to send direct emails to members in the forumsProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.


 
GeneralCPQuote: groupthink Pin
peterchen14-Apr-07 11:03
peterchen14-Apr-07 11:03 
GeneralRe: CPQuote: groupthink Pin
soap brain2-Oct-07 1:33
soap brain2-Oct-07 1:33 
GeneralRe: CPQuote: groupthink Pin
peterchen2-Oct-07 9:52
peterchen2-Oct-07 9:52 
GeneralRe: CPQuote: groupthink Pin
soap brain2-Oct-07 17:23
soap brain2-Oct-07 17:23 
GeneralJust a test Pin
peterchen14-Jan-06 13:22
peterchen14-Jan-06 13:22 
GeneralGreat Multithreading article Pin
peterchen21-May-05 22:35
peterchen21-May-05 22:35 
GeneralMy inofficial CP FAQ Pin
peterchen11-Nov-04 8:49
peterchen11-Nov-04 8:49 
GeneralQ: Why don't CPians joint to run (OpenSource) projects? Pin
peterchen21-Nov-04 23:35
peterchen21-Nov-04 23:35 
GeneralDoes the article rating suck? [modified] Pin
peterchen24-May-06 6:59
peterchen24-May-06 6:59 
GeneralUnder what licence code and articles are published on codeproject? Pin
peterchen23-Jul-07 13:31
peterchen23-Jul-07 13:31 
GeneralIntrinsic Interlocked functions Pin
peterchen2-Oct-04 9:53
peterchen2-Oct-04 9:53 
GeneralFold with us Pin
peterchen7-Sep-04 20:14
peterchen7-Sep-04 20:14 
GeneralRe: Fold with us Pin
Rajesh R Subramanian27-Feb-07 21:22
professionalRajesh R Subramanian27-Feb-07 21:22 
GeneralRe: Fold with us Pin
peterchen28-Feb-07 10:34
peterchen28-Feb-07 10:34 
GeneralRe: Fold with us Pin
Rajesh R Subramanian6-Mar-07 21:35
professionalRajesh R Subramanian6-Mar-07 21:35 
GeneralRe: Fold with us Pin
peterchen7-Mar-07 10:01
peterchen7-Mar-07 10:01 
GeneralRe: Fold with us Pin
Mike Hankey17-Apr-08 13:27
mveMike Hankey17-Apr-08 13:27 
GeneralRe: Fold with us Pin
Nelek1-Jun-08 6:22
protectorNelek1-Jun-08 6:22 
GeneralRe: Fold with us Pin
peterchen2-Jun-08 8:01
peterchen2-Jun-08 8:01 
GeneralHow to become a C++ Pro Pin
peterchen17-Aug-04 11:51
peterchen17-Aug-04 11:51 

As response to a question how to learn C++ and become a "pro", "not only using DOS commands, but also MFC"


The following is a roadmap to "Mastering C++" - how I would teach it.
Some people might want to reorder the list which is fine with me - it all
depends on the teacher and the tools.


Chapter (I) Learning the language



  1. basic language: type system, control structures, functions, scope.
  2. basic concepts: programming style, structuring your program using
    functions, the difference between contract, declaration and implementation
  3. language: pointers.

    pointer arithmetic, referencing, dereferencing, pointers vs. references,
    pointer to pointer, adress of pointer, allocating raw memory, etc.

    If you didn't succeed with (3): learn pointers

    If you don't get it the third time, give up. Really. I am serious.*
  4. debugging. assert, trace, using a debugger, distrusting yourself,
    acquiring some programming style.
  5. language: Function overloading.
  6. language: classes. Member functions, constructor, destructor
  7. concepts: encapsulation, simple object design, encapsulating state
  8. lanuage: learn exceptions **
  9. repeat concepts: good programming style, contract vs. declaration
    vs. implementation
  10. concepts: inheritance, polymorphy
  11. concepts: "enhanced" object design with the new knowledge
    (exceptions and polymorphy)
  12. language: some refined points

    const-correctness, default constructor, copy constructor vs. assignment
    operator, how to make a class behave like a built in type (but skip operator
    overloading)
  13. language: templates: function templates, class templates, template
    specialization,
  14. get an introduction on the STL (standard template library, which
    makes the biggest part of the C++ run time library)
  15. language: ok, now, just as sugar, operator overloading, and how to
    make types truly act like built-ins
  16. libraries: refine your knowledge on the STL

     

NOW you are ready to leave the console window


 


Chapter (II) ...but also MFC



  1. Windows API basics: This helps understanding some of the
    mumbo-jumbo and awkwardnesses in the MFC much better

    Event Driven Programming, Windows, Window Handles, Window Messages

    (you can omit *creating* windows here, since this is a painful task made much
    easier by frameworks - but the rest is important to understand and makes
    working with the MFC easier).

    GDI, standard controls etc.
  2. Do the MFC "Scribble" tutorial, just following the main path (up to
    "printing" or so). Don't try to understand everything, just get a feeling for
    the "flow".
  3. Do the "Scribble" tutorial again, this time exploring the background
    explanations etc.

     

Chapter (II) Become a Pro



  1. Notice that, once you are here, you are the last remaining person on earth
    doing MFC Wink | ;)
  2. Learn enhanced concepts: Exception Safety, Patterns etc. and all the fine
    parts I have forgotten above
  3. Learn "Industry Power" stuff: Automated Tests, Version Control,
    Finalizing, and everything that belongs to running a larger project.


 


<b>Warning:</b> this course is a pain. In the ass, in the back, in your
fingers, everywhere. Yet, it's IMO one of the shorter routes to a pro. To be
true, you could start with th MFC stuff pretty much after (I)-(j), but this
makes you only half-a-programmer, and you might acquire some misfeats that are
hard to get rid of later.



The order of the list itself clearly shows some drawbacks of the C++ language,
namely, the position of exceptions, and especially the STLBoth are standard
tools that should be introduced much earlier, but require good understanding of
the basic language features.





*) I pretty much agree with the thought that understanding pointers
needs a certain "wiring" of the brain. All other stuff in C++ can be learned
by a decently intelligent person. Pointers are different, you either get them,
or you don't. If you can't do pointers, C++ will be a pain all the
time.



**) that's really late, to late. They are an important tool for error
handling - and people should learn it as early as possible. However, it
doesn't make much sense wihtout a good grasp on scope and code flow. I would
do exceptions right after (b), but books/courses don't do it without classes.





we are here to help each other get through this thing, whatever it is Vonnegut jr.

sighist || Agile Programming | doxygen

GeneralRe: How to become a C++ Pro Pin
call_me_Cincin_please29-Mar-10 23:19
call_me_Cincin_please29-Mar-10 23:19 
GeneralThe Kid Sister rule Pin
peterchen31-Jul-04 9:00
peterchen31-Jul-04 9:00 
GeneralRe: The Kid Sister rule Pin
S Douglas30-Apr-06 19:53
professionalS Douglas30-Apr-06 19:53 
GeneralUsing CString outside of MFC Pin
peterchen4-Jul-04 0:44
peterchen4-Jul-04 0:44 
GeneralThat guy Pin
peterchen27-Jun-04 14:08
peterchen27-Jun-04 14:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.