Hacker Newsnew | past | comments | ask | show | jobs | submit | ___1___'s commentslogin

I am C++ programmer. As you may be too.

C++ has one big flaw the way I see it, and that is, it is incredibly difficult to learn well and it's very easy to teach badly.

I have been programming C++ for many years now, I still look back on code I wrote a couple of years ago and can see how my style has development, and I won't even dare review the code I wrote whilst learning the language.

That said, once you've straddled to learning curve, I really do believe that it is a great language for more than just niece core of use cases. Having learnt it there would be very few cases I would use C over C++, nor would I use an other compile "General purpose" programming language, like Java , D, Go or C#. The "next level up" for me is scipting with python or bash and the step down is asm or inline intrinsics. I am happy with C++ in the middle of that wide chasm.


Because XP probably does everything they need and the upgrade will be reluctant.



If you want/need to learn C++, learn C++. Learning C to learn C++ is a really poor idea.

There are plenty of people in my office who are like that and they can't see the wood for the tree. Writing out their own for loops instead of using whatever std algorithm would do the job better. Holding their own owning pointers in the presence of exceptions.

The problem is people tend to not to actually learn C++ properly, cover to cover. They just learn the bits they need as an when they need them missing out all sorts of details in the middle.


I echo your list of books. I would add Accelerated C++, at least when they get round to making a C++11/14 version.


Hmmmm. why do you teach arrays before containers? And why is so little if any time spent on the std:: containers (ctrl + f deque returns nothing).

The word template is mentioned 3 times, and never once on how to write your own basic templates (no, that's should not be considered advanced).

Finally, why do you keep using the `.open` member function for your streams rather than specifying the file path in the constructor and then testing the validity of the whole stream rather than individual flags.

ie:

    std::ofstream ofs { "my_file" };
    if(ofs) { ///sucess...
You also don't even begin to touch on the standard algorithms. Take for example the book "Accelerated C++". It's only 300 pages, but it has the reader writing modern code with containers and standard algorithms with in the first few pages. It's a much better approach in my opinion.


Reaper is a fantastic piece of software!


> Windows 7

Found the issue.


That may very well be the problem, especially since on shutdown/logout Windows 7 always shows some items not closing, even if none are left. But emacs is about 50-50 on closing while other things always go away.

GNU Emacs 24.3.1 (i386-mingw-nt6.1.7601) of 2013-03-17 on MARVIN


The much prefer the Model M to any other keyboard I've used including Apple keyboards.

I do like the old Transparent Apple keyboards (G4 era?) with the nice slab of metal in it to keep them heavy.


I voted C++, but regretfully the truth is probably closer to LaTeX :/


Writing good docs is not a bad thing :) Are you actually writing packages or the usual text plus macros plus package list?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: