C语言/C++编程学习:不做C/C++工作也要学C/C++的原因!

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

很多学编程的人认为,特别是初学者会认为:“我又不找C/C++的工作,为什么要学C/C++?”,就像“我又不找C语言的工作,为什么要学C语言”一样;其实答案不在于你做不做C/C++的工作,而在于你做不做编程行业的工作。道理很简单,打个比方如果你听到这样的话,估计你也晓得为什么了。“我是数学老师,不是语文老师,所以我不要学语文”这话看似正确,其实当你语文不好,你的数学表达能力也就欠佳,你的数学也难以成就多大,至少你表达不清,沟通不行,很多灵感的产生来源也就被抹杀了。《少年包青天》有一句话:一些漫不经心的说话,将我疑惑解开。包拯破案,并不是所有技巧都是自己从头思考的,而是很多得以于别人的提醒,这是正常的思维逻辑。这是一个综合的范畴。你需要的是提升综合编程能力,而不是局限于某门编程语言,否则该门编程语言带出来的瓶颈,你无法超越。

很多时候,并不是我们做什么就只学什么,特别是在编程这种科技行业。因为科技行业是客观的,涉及到一个现实功能的开发,它不会给你区分你必须要用PHP,还是必须要JAVA的......

小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

所以:社会上,复合型人才才是珍贵的,物以稀为贵。

为什么是C++?

C语言接近底层,它细节繁琐,难度大,阐述的是面向过程编程思想,难以用在现实中用户体验度良好的项目开发。它的角色就像在背后默默为你付出的其貌不扬的人,有她不觉得多,但是少了又不行。

而C++的特点:是处在中层语言,下接C语言,上接PHP,JAVA等高级语言。它是最好探索编程世界的入口。

那么,学C++的意义具体表现在哪里?

当然好的C++编程开发者,找个高薪工作是做的到的。这算意义之一。这也是很多人为什么选择编程的理由。其实我很想问,如果编程不是高薪行业,还会有多少人去学?所以利益熏心太重,不是一件好事,它会阻碍你长得高看得远。所以,不要再找那些借口“我没时间啊”,“大家都那样”,“我得结婚”,“我得养小孩”,因为这些大多数人都经历过,选择平庸是大多数人的做法,你借口太多,接下来的结果就是“大家都在挣扎,我也应该挣扎”...但是你喜欢这样的结局吗?

回报是需要付出的,在“想要”和“得到”之间,还需要“做到”。

“把薄书读厚,把厚书读薄”,相信大家都听过这种学习方法,后者是很难做到,因为是需要博览群书之后的融会贯通的总结,是涉及到境界的提升,但也只有做到了后者,你才能得到解脱。所以编程人生的最好发展模式就是:进入编程,走出编程,超越编程。

其实很难做到的是境界!

所以我认为学C++的更大意义在于:有助于让你探索到编程的本质、智能的本质,让你从现实中去理解为什么需要面向过程编程思想,为什么需要面向对象编程思想。数据结构是什么,算法是什么,编译原理是什么,操作系统是什么等等更深层的东西......

当一切都来的顺其自然的时候,你就会发现计算机前辈们的智慧了,你也就学通了编程,而不是只学通C++这门编程语言!

那么,对于C++范畴,怎么样才算学好C++?其实这个问题应该问你。

你可以这样的来扪心自问:不看任何C++的书,对一个不懂计算机的人讲述C++是什么?你能回忆起多少C++的东西?你能顺理成章的给他解释为什么要有面向对象这种编程思想?其实这也是督促你要学的灵活、学的融会贯通的一种学习方法。

小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

学好C++可以从这几个方面去检测:

1:兼容C语言的部分;

所以学好C++,必须以学好C语言为前提。同理:学好上层语言如PHP,JS,java,又必须要以C/C++为前提。违背这个原则,你会遇到无法超越的技术瓶颈。你的编程职业生涯就会打折。比如学PHP的时候,难度不在于PHP的if...else...这些语法,而在于比如PHP的面向对象,PHP的接口,数据库的优化,服务器的负载均衡,集群技术,网络编程等等。

2:面向对象编程思想:类,继承,多态这些的产生渊源。

3:泛型机制。

4:模板机制:函数模板,类模板

5:它的标准库STL里面的数据结构和算法,这些内容你主要是要知道它们有什么实现方案,虽然不要你去写,但是你要懂得来源,这样用起来才放心。如:怎么实现容器vector,list,map的?

6:非标准库,如:Boost。

当然也是它里面的数据结构和算法。这些内容它帮你写好了,你很多时候其实只是在使用接口而已。所以,熟悉它,是一件简单的事。关键是要探索它的实现方案。

7:做几个项目,包括控制台的,图形化的,以及进一步延伸的QT编程。

8:游戏编程,如:Cocos2d

9:Linux操作系统

虽然不需要你在Linux上开发,但是你要懂Linux,而它里面涉及到的东西就多了。比如进程、线程、管道、队列、消息、通信等等。

学好C++,不是你开发了几个控制台程序,也不是开发了几个项目就可以宣告结束的,它是一个长期的战争,需要有打硬仗的心理准备。你要把它总结成一棵活着的知识树。这棵树的意义在于:当你几年过后,语法基本上忘记光了的时候,来看这颗知识树能瞬间找到感觉。

这是一种境界,这种境界不是靠看过几本书、背了几个语法就能达到的,而是要思考,要领悟,要联想学习、时刻要想到怎么去融会贯通...

所以学习C++,很多的时候都是在自我修炼,修身养性,就像练成葵花宝典都需要闭关修炼一样。学通编程,很多时候也都需要闭关修炼...需要灵感,需要智慧,所以我把现在的对编程的感悟,以及做的编程的作品,都给了个新的名字:灵感编程。

记住:你学习东西不是为了别人学,也不是为了显摆而学,而是让你自己的生存竞争力提高,让你成为强者。否则在“弱肉强食、适者生存”的环境下,你会觉得很苦,苦到家,苦到无底洞......

反过来,学通编程的世界,会让你越活越轻松、越老越吃香。谁都不想在30岁左右转型去做和编程无关的事情,只是被逼无奈,主要是学习速度跟不上知识更新速度,因为没学通......学通编程,你就可以像国外那些高手那样,专业而自由,不会因为年纪大而被迫改行,国外的高手都是头发花白了的,而国内就像吃青春饭一样,存下来的技术实力可想而知,是难以和国外的高手媲美的。但随着改革开放越来越深入,这种趋势只是暂时的,以后会是像国外那种情景:头发花白的一个老头,去某公司解决问题,什么也不带,两手空空,坐在电脑前,以迅雷不及掩耳之势玩转着黑不溜秋的屏幕(linux,unix),几下子,问题解决,报酬上W...

小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

人生都是几十年,别人工作一下抵得上你工作一年,他过的才是上等生活...

所以:要活出质量!

所以:现在无论你多大年纪,只要还不死,都可以有梦想去学编程。

当你学通的时候,你可以在未来任何时候爆发,比如:因为你学通了编程,所以未来什么语言火了,你可以立马转过去,总是走在前列,而且走的是那么的轻松自在......

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

原文地址:https://www.cnblogs.com/xiaochen520/p/9175892.html

时间: 2024-11-09 13:26:55

C语言/C++编程学习:不做C/C++工作也要学C/C++的原因!的相关文章

C语言/C++编程学习:栈的代码实现之数组方案

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制). C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制. 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样.之所以说C++比C更先进,是因为" 设计这个概念已经被融入到C++之中

C语言对编程学习的重要性

C语言给初学者的学习感觉比较难易把控,特别是莫名其妙的指针错误,更是措手不及.引入N多的库才实现比如图形设计,甚是麻烦.所以很多人"躲过"C语言的学习,直接去学上层语言,如:PHP,js,JAVA. 但是最后会发现,事情并没有预想中的那么好,很多东西出现的莫名其妙,难以理解......比如上层语言中的字符串就是很好的例子,很多很好的用法的出现虽然给使用者带来了方便,但是为什么会那么的出现?字符串到底是怎么来的? 这些问题却更加的神秘了,因此剩下的也就是背诵,一堆的背诵,加大了学习负担,

Java语言编程学习之Lambda表达式设计和架构的原则[图]

Java语言编程学习之Lambda表达式设计和架构的原则[图]:大家都知道,Lambda表达式是对Java语言的一点简单改进,在JDK标准类库中,运行它的方式各种各样.但是大多数的Java代码都不是由开发JDK的程序猿写的,而是像我们这样的普通程序猿.很多人都会碰到过这样的情况:你实现了一个新功能或修复了一个缺陷,并且对自己的修改很满意.但其他人看了你的代码后--也许发生在代码审查环节,完全不买账!对于什么是好代码,什么是坏代码,存在分歧很正常!设计模式的改变设计模式是人们熟悉的另一种设计思想,

C语言/C++编程新手入门基础学习中链接类型

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制).创一个小群,供大家学习交流聊天如果有对学C++方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也希望大家对学C++能够持之以恒C++爱好群,如果你想要学好C++最好加入一个组织,这样大家学习的话就比较方便,还能够共同交流和分享资料,给你推荐一个学习的组

编程零基础做程序员,该怎么学习?首先要学习什么?

编程零基础做程序员,该怎么学习?首先要学习什么?众所周知程序员是21世纪比较吃香的工作.程序员工资高还不需要和复杂的社会打交道.那么作为一个零基础,什么都不懂的人该怎么成为一名程序员?当程序员需要学什么?下面就来分析下.零基础的我该如何学习?如果想做一个程序员,在没有基础的情况下,买书自学是一个办法,但是大多数人会因为没有相关的基础知识,导致看书看得一知半解,因为有不同的语言,不同的开发环境,在你不了解的时候,买的书不一定合适.笔者是一个Java出身的程序员,学习编程有什么学习问题或者关于Jav

计算机专业C语言编程学习重点:指针化难为易

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制). C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制. 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样.之所以说C++比C更先进,是因为" 设计这个概念已经被融入到C++之中

CGI编程学习

@CGI编程学习 目录(?)[+] 一.基本原理 CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口.通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端. 组成CGI通信系统的是两部分:一部分是html页面,就是在用户端浏览器上显示的页面.另一部分则是运行在服务器上的Cgi程序. 它们之间的通讯方式如下图: 服务器 客户端 CGI程序 HTTP通信 标准输入输出 (环境

DOM编程 学习笔记(一)

PS:虽然自己JS基本语法算是掌握了,但是其实在JS掌握的只是远远还不够,网页上有太多好看的动态效果都是用JS 做出来的,自己也就仅仅会那么一两个动态的效果,学的只是皮毛...等有空的时候一定要好好的研究那些动态效果 的制作,实在是太炫酷了...先开始DOM的基本语法吧...等DOM和JQuery的基本语法和用法搞定后就去深入的研究 研究那些动态效果的制作... DOM编程 学习内容 1.DOM简单介绍 2.DOM解析方式 3.在网页中使用DOM编程 4.DOM window对象以及Loacti

【DevStore实用篇】8大有趣的专业编程学习网站

摘要: 1.很有影响力的趣味编程网站Codecademy Codecademy在今年4月全新改版,启用了全新的设计风格,新网站界面漂亮,充满了极客的味道.而在今年年初独立注册用户已经突破 2400 万. 适用人群:趣味性十足,适合没有编程基础的新手入门,还有中文版本,适合国内用户使用. code.org是一家非盈利组织,它的宗旨就是让 CS(计算机科学)这门学科能够进入到全球的每一所学校中去.主推项目之一是“一小时编程”,将会面 向全世界开放并推广,而且不会针对任何特定的等级水平,处于任何年龄段