成为C ++大师 [英] Becoming a C++ guru

查看:58
本文介绍了成为C ++大师的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我搜索了类似的主题,我已经找到了一些有用的信息

到处都有,但不过我想要发布我的问题...那么,我可以(我们,事实上论坛可以从讨论中受益,这是点这里的点)这些点是否成为C ++大师?

我有5年的C / C ++工作经验,我知道这可以是非常模糊的事情,但无论如何......我来到了我希望用新的

方式构建和组织我在C / C ++中进一步学习的地方。所以这是我的计划(草案):


- 阅读并研究这本书The C ++ Standard Library:A Tutorial and

Reference"作者:Nicolai M. Josuttis。在这种情况下,我的意思是执行C ++标准库的每个类的任何

函数,比如某种类型的b $ b单元测试,以便变得精通和知识什么可以

可以使用库,如何,常见的习语等。这包括

使用特定类的小(和一些不那么小)程序

和/或图书馆的一部分专注于增加理解。


- 阅读前面提到的书后,我打算开始阅读

本书Exceptional C ++:47工程拼图,编程问题,

和解决方案通过Herb Sutter,试图彻底解决所有问题和问题,让我们说每天一个左右,以保持我的

形式并不断改进。之后,Sutter自然而然地出现了另外两本书,More Exceptional C ++和Exceptional C ++风格:

40个新的工程难题,编程问题和解决方案。


- 有很多关于C ++的书籍浮现在脑海中按顺序我

想要提高自己(在阅读前面提到的已经

之后),但在这里我不知道阅读/锻炼的确切顺序

书中的材料。这些书是:


- 大规模C ++软件设计作者:John Lakos


- C ++常识:基本中级编程通过

Stephen C. Dewhurst


- C ++陷阱:避免编码和设计中的常见问题通过

Stephen C. Dewhurst


- 不完美的C ++:真实生活编程的实用解决方案 by

Matthew Wilson


- " C ++模板:完整指南"作者:David Vandevoorde


- The C ++ Programming Language作者:Bjarne Stroustrup(我已经阅读了这个

一个,但不是我目前对周围事物的了解

和关于C ++,所以我认为重新阅读将是有益的。


- 有效STL:50种改善您使用

标准模板库的具体方法作者:Scott Meyers


- 重新阅读Effective C ++另外,Scott Meyers


- 现代C ++设计:通用编程和设计模式

应用作者:Andrei Alexandrescu


- C ++模板元编程:概念,工具和技术来自

Boost and Beyond - David Abrahams和Aleksey Gurtovoy


- 超越C ++标准库:Boost简介通过

Bj?rn Karlsson


- 在C ++对象模型中作者:Stanley B. Lippman


- C ++的设计和演变作者:Bjarne Stroustrup


这是大量的书籍,毫无疑问,我正在考虑

是否合适和/或可能获得并向自己灌输了b $ b b b知识。这并非不可能,我认为我决定做那个因为我会对自己感觉更好的事情,这是最重要的事情。\\ b
之后的事情所有。


书籍的所有建议,重新排序书籍清单,实用

提示,以及有关< Becoming C ++ guru问题的任何内容

赞赏。

解决方案

Singulus写道:


大家好,

我搜索过类似的主题,我已经找到了一些有用的信息

这里和那里,但不过我想发布我的问题...那么,我可以(我们,实际上论坛可以从讨论中受益,这是

这里的点)成为C ++大师?

我有5年的C / C ++工作经验,我知道这可以是非常模糊的事情,但无论如何......我来了到了我想要用新的

方式构建和组织我在C / C ++中的进一步学习的地步。所以这是我的计划(草案):



只需我的两美分(我只有一年半的经验

C ++ ,无论如何):我会忘记阅读Josuttis的书,以及更多

一般任何STL书,从开始到结束。在我看来,Thios类的

书籍更像是一个参考,你应该通过以下经验变得更加精通STL:没有

指的是阅读大量你不会使用的咒语。

当然,STL中有概念相关的东西,比如

例如智能指针,异常,函数对象,绑定器,特征,

但你应该专注于概念而不是STL中解释和讨论的特定STL

实现书籍。


所以,这就是说最重要的书应该是:


* stroustrup:如果你读过这本书*仔细*你最终会得到一个深刻的C ++知识(我已经仔细地标记了这个词,因为这本书很难读懂,因为这本书非常难以理解)有很多

的信息,但在我看来,不仅仅是在我看来,

通知即使这本书长达800页左右,通常也不会给出应该讨论的讨论金额。


*特殊且更优秀的C ++解决特别容易出错的常见情况和话题。


*一本关于模板元编程的好书(也许alexandrescu会做

这项工作很好。)


其他人会跟随。当然,很明显,一个优秀的C ++程序员应该首先成为一名优秀的软件工程师,否则你将获得b / b
将能够解决非常复杂的模板元编程难题

但无法将它们正确应用于精确的软件

设计,所以将注意力集中在设计上也很重要

(和模式,等等)。


当然,编程很多并应用你正在学习的东西:P


这就是我要做的事。


问候,


Zeppe


< blockquote> Zeppe写道:


Singulus写道:


> [..]所以,
我怎么能(我们,事实上论坛可以从讨论中受益,这就是重点)成为C ++大师?
[...]



只是我的两分钱(我只有一年半的经验nce in

C ++,无论如何):[..有用的信息编辑..]



一个人不能通过设置和实现成为

a guru的目标。过你的[专业]生活,尽力而为,如果其他人看到你是智慧的源泉,他们可能[最终]称你为大师。

到那个时候,你很可能超越了成为

a guru的愿望。你只需要以某种形式分享你所知道的那些

想要学习的东西。


只是我的两分钱......


V

-

请在通过电子邮件回复时删除资金''A'

我这样做不响应热门回复,请不要问


Singulus写道:


你好所有,

我已经搜索了类似的主题,我已经找到了一些有用的信息

,但是我想发布我的问题..那么,我可以(我们,实际上论坛可以从讨论中受益,这是什么,这是点b)这个点成为C ++大师?

我有5年的C / C ++工作经验,我知道这可能是非常模糊的事情,但无论如何......我已经到了我的地步/>
希望以新的
方式构建和组织我在C / C ++中的进一步学习。所以这是我的计划(草案):



[剪掉了很长的文献列表]


只是出于兴趣:你为什么想成为一名C ++大师?掌握C ++

编程语言及其所有功能可能是一件好事,可以夸奖一些大学派对,但它不会让你找到工作。现实生活中的项目很少使用C ++提供各种原因的所有花哨的东西(其中一个原因是

通常不是编程团队的所有成员都拥有相同数量的用C ++体验

,所以你必须满足于最小公分母。成为一个g / b
C ++专家对我来说似乎是一项徒劳的任务,因为任何雇主都会更感兴趣

你是否能够通过任何编程来解决一些现实生活中的问题

语言而不是你是否熟悉C ++。我已经看到了很多搞乱模板的项目,以及那些被放弃的东西,因为它们是非常糟糕的文件,而且对于跟随程序员来说太混乱了。如果你打算为你的努力获得报酬,我宁愿建议你阅读有关软件

管理的内容,并通过学习其他语言扩大你的视野。只有当你花费太多时间执行一些标准任务时,你才会想到哪个编程技术更适合解决 br />
手头的问题。


问候,

Stuart


Hello all,
I''ve searched for similar threads, I''ve found some bit of useful info
here and there, but nevertheless I want to post my questions...So, how
can I (we, in fact the forum can benefit from the discussion, this is
the point here) become C++ gurus?
I have 5 years of working experience with C/C++, I know that this can
be very ambiguous thing, but anyway...I''ve come to the point where I
want to structure and organize my further learning in C/C++ in a new
way. So here is my plan (draft):

- Read and study the book "The C++ Standard Library: A Tutorial and
Reference" by Nicolai M. Josuttis. In this case I mean exercising any
function of every class of the C++ Standard Library, like some sort of
unit tests, in order to become proficient and knowledgeable what can
be done with the library, how, the common idioms, etc. This includes
the small (and some not so small) programs using the specific classes
and/or part of the library focused to increase understanding.

- After reading the fore-mentioned book I plan to begin to read the
book "Exceptional C++: 47 Engineering Puzzles, Programming Problems,
and Solutions" by Herb Sutter, trying to solve thoroughly all
questions and problems, let''s say one per day or so, to keep up my
form and constantly improving. After that naturally comes the other
two book by Sutter, "More Exceptional C++" and "Exceptional C++ Style:
40 New Engineering Puzzles, Programming Problems, and Solutions".

- There are numerous books about C++ that comes to mind in order I
want to improve myself (after reading the fore-mentioned already
ones), but here I don''t know the exact order of reading/exercising the
material in the books. These books are:

- "Large-Scale C++ Software Design" by John Lakos

- "C++ Common Knowledge: Essential Intermediate Programming" by
Stephen C. Dewhurst

- "C++ Gotchas: Avoiding Common Problems in Coding and Design" by
Stephen C. Dewhurst

- "Imperfect C++: Practical Solutions for Real-Life Programming" by
Matthew Wilson

- "C++ Templates: The Complete Guide" by David Vandevoorde

- "The C++ Programming Language" by Bjarne Stroustrup (I''ve read this
one, but not with the my current understanding of the things around
and about C++, so I think the re-read will be beneficial).

- "Effective STL: 50 Specific Ways to Improve Your Use of the
Standard Template Library" by Scott Meyers

- Re-read the "Effective C++" also by Scott Meyers

- "Modern C++ Design: Generic Programming and Design Patterns
Applied" by Andrei Alexandrescu

- "C++ Template Metaprogramming: Concepts, Tools, and Techniques from
Boost and Beyond" - David Abrahams and Aleksey Gurtovoy

- "Beyond the C++ Standard Library: An Introduction to Boost" by
Bj?rn Karlsson

- "Inside the C++ Object Model" by Stanley B. Lippman

- "The Design and Evolution of C++" by Bjarne Stroustrup

This is vast amount of books, no doubt about that, and I''m thinking
whether is appropriate and/or possible to get and instill that
knowledge in myself. It''s not impossible, I think I''m determined to do
that because I will feel better for myself, that''s the most important
thing after all.

All suggestions for books, reordering the list of the books, practical
tips, and whatever concerning <Becoming C++ guru"problem" are
appreciated.

解决方案

Singulus wrote:

Hello all,
I''ve searched for similar threads, I''ve found some bit of useful info
here and there, but nevertheless I want to post my questions...So, how
can I (we, in fact the forum can benefit from the discussion, this is
the point here) become C++ gurus?
I have 5 years of working experience with C/C++, I know that this can
be very ambiguous thing, but anyway...I''ve come to the point where I
want to structure and organize my further learning in C/C++ in a new
way. So here is my plan (draft):

Just my two cents (I have just one and an half year of experience in
C++, anyway): I would forget about reading the Josuttis book, and more
in general any STL book, from the beginning to the end. Thios kind of
books are more a refernece in my opinion, and you should be and become
even more proficient with the STL through the experience: there is no
point in reading about tons of clesses that you are not going to use.
Of course, there are conceptually relevant things in the STL, like for
example smart pointers, exceptions, function objects, binders, traits,
but you should focus on the concept instead of the specific STL
implementation that is explained and discussed in the STL books.

So, that what just to say that the most important books should be:

* stroustrup: if you read this book *carefully* you will end up with a
deep C++ knowledge (i''ve marked the word carefully, because the book is
quite difficult to read, in the sense that there is a lot of
information, but in my opinion, and not only in my opinion, that
information is often not given the amount of discussion it should
deserve, even if the book is 800 pages long or so.

* Exceptional and more exceptional C++ to address particularly
error-prone common situations and topics.

* a good book on template metaprogramming (maybe alexandrescu will do
the job well).

The others will follow. Of course, it''s obvious to say that a good C++
programmer should be at first a good software engineer, otherwise you
will be able to solve very complicated template metaprogramming puzzles
but without being able to apply them properly to an accurate software
design, so it''s important to focus the attention on the design as well
(and patterns, and so on).

And, of course, programming alot and applying what you are learning :P

This is what I would do.

Regards,

Zeppe


Zeppe wrote:

Singulus wrote:

>[..]So,
how can I (we, in fact the forum can benefit from the discussion,
this is the point here) become C++ gurus?
[..]


Just my two cents (I have just one and an half year of experience in
C++, anyway): [.. useful information redacted ..]

One cannot become a guru by setting and achieving the goal of becoming
a guru. Live your [professional] life, do your best, and if others
see you as a source of wisdom, they might [eventually] call you "guru".
By that time you''ve most likely transcended the desire of becoming
a guru. You just share what you know in some form acceptable for those
who want to learn.

Just my two cents...

V
--
Please remove capital ''A''s when replying by e-mail
I do not respond to top-posted replies, please don''t ask


Singulus wrote:

Hello all,
I''ve searched for similar threads, I''ve found some bit of useful info
here and there, but nevertheless I want to post my questions...So, how
can I (we, in fact the forum can benefit from the discussion, this is
the point here) become C++ gurus?
I have 5 years of working experience with C/C++, I know that this can
be very ambiguous thing, but anyway...I''ve come to the point where I
want to structure and organize my further learning in C/C++ in a new
way. So here is my plan (draft):

[snipped awfully long list of literature]

Just out of interest: Why do you want to become a C++ guru? Mastering the C++
programming language with all its features may be a good thing to boast with at
some college party, but it won''t get you a job. Real life projects seldom use
all the fancy stuff C++ is offering for various reasons (one of them is that
often not all members of a programming team have the same amount of experience
with C++, so you''ll have to settle for the least common denominator). Becoming a
C++ guru seems like a futile task to me as any employer will be more interested
in whether you are able to solve some real-life problem with any programming
language instead of whether you know C++ pretty well. I have seen a lot of
projects messing with templates and whatnot that were given up because they were
too bad documented and too confusing for following programmers. If you plan to
get paid for your efforts, I''d rather advise you to read about software
management and to widen you horizont by learning other languages. Only if you''re
getting to a point where you spend too much time with some standard task you
should think about which programming technique would be more suitable to solve
the problem at hand.

Regards,
Stuart


这篇关于成为C ++大师的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆