你为什么选择学习C++?

作为一个写了十几年代码的老程序员讲述下为何选择使用C++。

选择C++的最重要的原因是工作需要。刚入职的公司有一个新的项目,项目的代码全部是C++完成而且看代码的主要框架代码量不是很多,但是依赖库代码相当庞大,由于主要的工作是把在电脑上运行的程序运行到开发板上,需要做的事情还是非常多,由于代码就是从开源社区中提取出来的,代码的质量非常高但作为初学者在第一次接触C++框架的时候还是手忙脚乱,开始觉得在学校期间已经把基础弄得很扎实了,在具体项目编程中不至于这么被动,结果还是被现实给打倒了,有时候修改个泛型编程相关的代码就要编译半天才能过去,所以第一份工作从事什么样子的编程开发直接决定了对于哪种编程语言最熟悉。

选择行业的需要。C++编程主要用在客户端的框架开发以及服务器端开发,有些想从事编程的人,在写代码之前就给自己设立了远大的目标就是要从事某个方向,有清晰目标的情况下选择编程语言就会变得顺理成章了,比如从事嵌入式开发C++语言的学习的必备的,很多人觉得C++这种编程语言语法比较糟糕,其实就是语法繁琐一点相比别的编程语言没有那么清晰,而且语法细节还在不断的更新,所以很多人觉得这门编程语言不适合作为编程语言使用,但是从软件行业来讲这是一门在架构方面有着独特优势的编程语言,在某些领域也是特定存在不可或缺的。

C++主要应用领域

游戏领域。很多游戏的客户端都是基于C++完成的主要原因C++这门编程的性能还是非常过硬,而且很多游戏公司还专门针对C++底层依赖库进行深层次的优化,就是为了提升游戏的用户体验,从事游戏开发C++也是必备的开发语言。

服务端开发。由于服务器端对于性能的要求也非常苛刻,于是C++在这方面也是有着独特的优势,所以很多服务器端开发特别耗费资源的一般交给底层代码去实现,C语言和C++是比较好的选择,而且服务器端网络相关代码从性能的角度出发可以选择C++完成。

嵌入式开发。这个领域对于客户端的开发需求比较大,作为客户端的开发引擎开发还是非常具备优势,而且嵌入式里面相关的图形开发涉及到C++方面也是比较多。

当然在一些特殊的领域还是有C++的使用空间,比如有科学计算领域,操作系统,设备驱动等方面,这门编程语言在市场上占比在降低,更多的开发者选择编程更加方便的高级编程语言,像python,php等等。对于程序员做的时间长了最大的感觉是编程语言只是工具一样的存在,不要把精力更多放在如何选择编程语言身上,学好一门编程语言触类旁通就可以了,希望能帮到你。




1.在计算机领域,C语言“大小通吃”

C语言的应用极其广泛,不论是网站后台还是底层操作系统,多媒体应用还是大型网络游戏,均可使用C语言来开发。

(1)C语言可以写网站后台程序。用C语言编写CGI(Common GateWay Interface,使浏览器能与用户交互的一种方法)程序,然后在HTML页面中嵌入CGI,即可完成强大的功能,至于连接数据库,查询、插入数据等常规操作,当然也不在话下。对于有大量连接的网站,比如大型论坛、社区、游戏,用C语言编写的CGI,比起用其他语言编写的后台程序,速度更快、性能更优。

(2)C语言可以写出绚丽的GUI界面。无论在Windows平台还是Linux平台上,用C语言都可以写出绚丽华美的GUI窗口界面来。类似QQ、MSN等软件的GUI界面,都可以通过C语言实现。

(3)C语言可以专门针对某个主题写出功能强大的程序库,然后供其他程序使用,从而节省其他程序的开发时间。比如常用的压缩、解压缩软件,就有专门的zlib库;mp3解码软件,有libmad库;还有以前的DOS时代Borland公司提供的图形库等。有了各种各样的程序库后,程序员开发软件时,就可以把这些库拿来直接使用,组装成自己所需的软件。而这些库一般都是用C语言写成的,既高效又稳定。上面提到的很多库中都有C语言源代码可以供学习研究。

(4)用C语言可以写出大型游戏的引擎。游戏中需要处理的事情繁多,很多游戏对实时的要求比较高,C语言运行高效、快捷,能满足这些需求。

(5)用C语言可以写出另一个语言。很多语言的编译器或者解释器就是用C语言编写出来的。比如风靡全球的PHP,常被用来写网站后台程序,再如Ruby等。

(6)用C语言可以写操作系统和驱动程序,并且这些只能用C语言编写。Linux操作系统的全部源代码都可以从网上得到。Windows操作系统虽然无法获取到源代码,但是一批开源运动者用C语言编写了一个Windows克隆版本的操作系统ReactOS,与Windows几乎一模一样,它的代码也是开源的,可以通过访问网站www.reactos.org获取相关信息。

(7)任何设备只要配置了微处理器,就都支持C语言。从微波炉到手机,都是由C语言技术来推动发展的。

一句话,没有C语言干不了的事情!何况它同时干了这么多事情。

2.掌握了C语言,其他类似语言不学自通

当掌握了C语言后,再去学习其他面向过程的语言,最多一个星期就能学会。因为万变不离其宗,其他语言只是在语法上有些许更改,而思想却没有更改。

3.C语言久经考验,有现成的大量优秀代码和资料

因为C语言已经存在很多年了,它有广泛的使用团体,并且有大量的现成代码可以利用。这就使读者能在过去程序的基础上,快速和高效地编写新的算法和函数。C语言是一个开源组织的语言,在全球著名的开源组织网站www.sourceforge.net上,能找到任何想要的开源代码。C语言使用者众多,讨论者也就众多,开发出了数不尽的资料可供学习。

4.简洁、紧凑,使用方便、灵活,功能强大,执行效率高

所有的优点都是基于C语言的简洁、紧凑,使用方便、灵活,功能强大,执行效率高。C语言仅有32个关键字,9种控制语句,却能完成无数的功能。在某些方面C语言可能确实不如其他语言优秀,比如在字符串处理方面就不如Perl语言;在数值计算方面就不如Fortran语言;在人工智能方面就不如Lisp语言。可是这些语言在其他方面却远远不及C语言。而且C语言其他的诸如表达力强、移植性好的特点,也许现在读者还无法理解,随着时间的推移,将会慢慢了解到。




很高兴回答问题!!

首先我觉得自己选择学习C++的原因不外乎是第一因为个人兴趣以及自己学习或者工作的需要。我觉得大部分人去学习C++的主要原因就是要用编程语言去实现自己的一个算法或者解放人力去让计算机执行重复的事情,从而把人从大量重复的劳动中解放出来。

再就是C++语言经过这么多年的发展,科技的日新月异,仍然在散发着它的光辉魅力。C++语言可以应用在IT行业的方方面面,它可以应用在大中小型网络后台服务、网络游戏、QT编程、以及MFC等。可以说应用在人类生活的方方面面。

虽然C++语言相对于C语言显得更加高级,但C++语言却是从C语言中抽象、继承而来,在运行速度上仍然有它的优势,相比于Java语言运行速度可以说是天壤之别。封装、继承、多态是C++语言的几个特性,通过类(Class)将数据及执行单元封装起来,然后通过继承衍生出子类,而子类则可以选择性的继承父类的数据。这样就大大提高了编程的效率。

望采纳,谢谢!!




我是码中寻乐,很高兴能为你解答。

本人凑巧高考志愿时报了计算机相关专业,而学校设置的语言主课程就是C/C++,不学也得学。

当然到大二暑假实践课时,老师给我们引入了RAD快速应用开发工具delphi,那时候的版本是6.0,当时觉得太惊艳了!各种界面开发、数据库报表弄起来感觉整个世界都美好了,比最开始用的TurboC2.0,VC6.0不要好用的太多太多!!! 当然后续的数据结构、数字图像处理依然是C/C++语言语言版本,还是得继续学。

待到毕业后,第一年第一家公司,因为产品延续的原因,又开始学VB6.0做工控软件,感觉跟delphi也差不多,都是控件方便拖。 第二年跳槽后又用回了delphi开发桌面转件。

第三年呢,偶然的机会公司嵌入式开发组有个linux C员工离职了,一时半会儿没招到合适的人。 领导就在公司内部看看能不能协调到人临时顶上,由于自己在学校学的C/C++,虽然毕业一直没用过它们做项目,但自我感觉还不错,于是自荐上去了。从此就开始了大约4年的嵌入式linux C编程,当然还得自己用delphi写配套的上层桌面客户端程序(苦逼吧)。

在后来就跳槽了,不再做嵌入式了,换成了X86平台下开发linux C++后台软件,从此也没再写桌面程序了。




纵观各种编程语言,C语言、C++语言、Java、C#、go、Python、PHP等等,要说一个技术思想覆盖最广的,只有C++语言了。C++是技术思想的集大成者,C++现在说是C的超集,是远远不够的。C++涵盖了C的所有技术点,同时还有很多技术点。Java、C#都是技术思想偏窄的语言,适用于特定领域。Java适用跨平台的,C#是最适合.Net框架的语言等等,C语言适合底层的开发。

从C++的发展趋势来看,C++一直保持活力,不断扩展更新,不断地完善自己融入新的思想。

C++能做的事情非常多,比如游戏开发,软件制作,图像处理,搜索引擎,操作系统,数据库,游览器等等,并且C++的执行效率是非常高的,虽然入门较为难一点,但是确实一门更加接近底层编程的语言。鉴于上述C++的强大,公司企业对于C++的技术人员需求都是非常大的。并且当你把C作为一门入门语言,当你学有所成后,其他的语言都更加容易上手。编程语言只是语言,作为一名优秀的IT技术人员,最重要的是思想,不然就会变成人们所戏说的“搬砖工”。




地表最强大的编程语言,学好c++,走遍天下都不怕。它不适合弱智,懦夫,丧志者,它属于强者,每个使用c++的人都值得敬佩。




学习c++的原因很简单,因为在研究开源项目时候,很多就是用c++编写的程序。为了达到研究目的,必须学习c++达到一个较高的水准。

但对于在校的计算机专业同学来说,选择学习语言的范围多了去了,可以选择java,android,ios,html +css +javascript,php...为什么要选择c++呢?

回答这个问题,我们只需要弄清楚c++的优势和劣势:

首先从c++本身的特性来分析:“c++是一门难学易用的语言”。--摘自《effective c++》

优势:运行效率高,功能强大,妙用无穷。不仅如此,像java ,android ,ios 都可以集成c++代码生成的静态库。

劣势:难学,语法广博,语义背后的思维深邃难懂

其次从就业方面分析:一般采用c++程序,作为开发语言的主要有以下四个方向:

1.网络游戏开发

2.操作系统开发

3.浏览器开发

4.浏览器引擎开发。

从上面四个方向可以看出,不光c++语言难学,c++还主要被用来做难做的项目(与手机app应用相比)。

我们可以从上面的资料中得出以下结论:

优势:因为c++难学,且开发的项目本身难度较大,所以c++的工资较其它编程语言的工资要高。不仅如此,我们更容易进大公司。(因为c++用人成本高,有钱的公司才舍得用)

劣势:就业面比其它语言要稍窄。一些公司为了节省成本,更容易的招幕合适的开发人员。会尽量避免使用c++作为程序的开发语言。

总结:如果你自身对游戏开发等几个开发方向感兴趣或者对高额的薪水感兴趣。同时对自身能力比较自信的同学,建议可以开始学习c++了。




c++盖房子,就用一块一块砌砖起来的,java就是一整面墙起来的!所以c++比java要完整的多

展开阅读全文

页面更新:2024-04-26

标签:底层   嵌入式   语法   操作系统   事情   优势   领域   语言   思想   代码   程序   项目   软件   公司   游戏

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top