C加加零基础初学者该如何学习C加加以及编程

都说Java是世界上最受误解的语言,其实C++何尝不是。现在网上流传的错误的C++学习方法一抓就是一大把。很多人在学习C++的过程中也走了许多弯路,浪费了不少时间。我自己也是。走了不少弯路。所以在码农的世界中,java逐渐有了统一江湖的味道。昔日的霸主C++虽面临失宠,却一直坚守着自己的传统领域。若干年前,初学编程的人还会纠结于偏向java还是偏向C++。随着java技术的快速发展和web应用的兴起,这个问题已经很长时间没有人提起了。想学习c++,加C语言、C++学习交流Q裙三 四 三 八 九 一 三 六 五免费学习

C++的语法灵活丰富,支持底层调用,是大多数操作系统的编程语言,也是游戏开发和图像处理领域的首选。然而正因为它灵活多变的语法,以及对使用者编程素养的高要求,决定了它不能像java一样迅猛发展。 你可能不是C++的拥趸。但如果你想深刻地理解编程的技术,让自己编写的程序变得更高效,更优雅,C++相关书籍值得花时间去读一读。

在学习C++的人当中,为什么会存在这么多错误认识?原因主要有三个,一是C++语言的细节太多。二是一些著名的C++书籍总在(不管有意还是无意)暗示语言细节的重要性和有趣。三是现代C++库的开发哲学必须用到一些犄角旮旯的语言细节(但注意,是库设计,不是日常编程)。这些共同塑造了C++社群的整体心态和哲学。

单是第一条还未必能够成气候,其它语言的细节也不少(尽管比起C++起来还是小巫见大巫),就拿java来说,作用域规则,名字查找,closure,for/in,这些都是细节,而且其中还有违反直觉的。但许多动态语言的程序员的理念我猜大约是学到哪用到哪罢。但C++就不一样了,学C++之人有一种类似于被暗示的潜在心态,就是一定要先把语言核心基本上吃透了才能下手写出漂亮的程序。这首先就错了。这个意识形成的原因在第二点,C++书籍。市面上的C++书籍不计其数,但有一个共同的缺点,就是讲语言细节的书太多——《C++ gotchas》,《Effective C++》,《More Effective C++》,但无可厚非的是,C++是这样一门语言:要拿它满足现代编程理念的需求,尤其是C++库开发的需求,还必须得关注语言细节,乃至于在C++中利用语言细节已经成了一门学问。比如C++模板在设计之初根本没有想到模板元编程这回事,更没想到C++模板系统是图灵完备的,这也就导致了《Modern C++ Design》和《C++ Template Metaprogramming》的惊世骇俗。

学习最佳编码实践比学习C++更重要。看优秀的代码也比埋头用差劲的编码方式写垃圾代码要有效。直接、清晰、明了、KISS地表达意图比玩编码花招要重要…像C/C++这种系统级语言,在学习的过程中必须要涉及到一些底层知识,如内存管理、编译连接系统、汇编语言、硬件体系结构等等等等知识(注意,这不包括过分犄角旮旯的语言枝节)。这些东西也就是所谓的内功了(其实最最重要的内功还是长期学习所磨练出来的自学能力)。

所以说。C++零基础初学者学习C++,不要纠结该怎么学好,其实学习没有什么捷径,就是多练习,敲代码。有时间的时候就跟着老师学习,这样就少走弯路。不必有时候为了一个问题想了半天,还不得解决明白。

想学习更多的C++语言编程基础免费课程知识,加入C/C++学习交流三 四 三 八 九 一 三 六 五我们一起学习交流吧。点击链接加入裙【C/C++学习交流】:https://jq.qq.com/?_wv=1027&k=5RcrGoN

本文来自企鹅号 - 指尖上的语言媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

NFV主导向开放平台的演进

近日,有调查显示网络功能虚拟化(NFV)和软件定义网络(SDN)平台是电信和网络设备供应商关注的重点,该调查同时表明网络正在向开放平台和开放的软件体系结构转变。...

34680
来自专栏Cloud Native - 产品级敏捷

微服务产品级敏捷: 重新定义软件设计

2016.11.1, 深圳, Ken Fang 不论你的产品是纯软件的,还是软、硬件相结合的,当你在版本中的软件设计,需要花费数个月,才能完成时,建议你应该深度...

188100
来自专栏CSDN技术头条

D语言架构师Andrei Alexandrescu谈D、Go、Rust取代C/C++

【编者按】本文是D语言联合创始人、架构师Andrei Alexandrescu在问答Quora上关于“在取代C语言的道路上,D、Go和Rust谁的前途最光明?为...

35170
来自专栏ytkah

微信是什么? 你如何用微信决定了它到底是什么

  微信是什么?我们每天用微信和朋友语音聊天、刷朋友圈、摇妹子、玩飞机大战...却没有真正去想过这个问题。那微信之父张小龙是如何define微信的呢?他并没有正...

45150
来自专栏程序员的知识天地

专科程序员含泪谈及与本科程序员的差距!五年心酸历程,悔不当初

坦白来讲在实际项目开发过程中,谁会关心你是专科还是本科,对于企业来讲谁的水平高就用谁,技术领域对于学历区分不是很明显,当然这只是针对私企来讲,国有企业的程序员可...

2.1K10
来自专栏企鹅号快讯

一个19岁萝莉程序媛的内功心法

Lydia才19岁,但她绝对是那种“毕业两年,五年工作经验”的类型。年纪轻轻,却有数年的导师经历。她的内功心法都是非常实用的干货,不鸡汤,不矫揉造作。 软件门外...

23360
来自专栏企鹅号快讯

Java程序员如何提高自己的编程能力

编程对于一部分人来说是一项工作,但对于真正喜欢编程的人来说,不仅仅是一种知识,更重要的是一门手艺。其实大部分人学习编程都希望自己的工作生活变得更好。既然明白了编...

37790
来自专栏木东居士的专栏

技术资源推荐(数据仓库篇)

1.1K20
来自专栏PPV课数据科学社区

【学习】一文读懂R语言 R可以做所有SAS做的事情

以下5种语言NODE、LUA、Python、Ruby、R ,哪个在2014年的应用前景会更好? 我毫不犹豫的选择R。R不仅是2014...

30050
来自专栏人工智能快报

IARPA启动“机器翻译(MATERIAL)”计划

国家情报总监办公室内的情报高级研究项目活动今天宣布了一项多年的研究努力,开发一种语言处理软件,称为“机器翻译”,用于英文检索各种语文的信息,使用户能够迅速开发和...

42490

扫码关注云+社区

领取腾讯云代金券