如何成为一名牛逼的C/C++程序员?

每一个学技术的人

都想干个三五年就能成为大牛

跳槽去大厂,薪水翻番

或者在一个小公司里,带个小团队

在30岁左右成为项目经理

晋升管理层

买房买车,实现人生理想

然而技术之路漫漫

想要成为牛×的程序员

还有很长的路要走

那么,成为一个很牛的C++程序员,需要修炼哪些技能呢?

1.C/C++语言

如果你的基础很差,建议不要一开始就学C++语言,从C开始学起,对程序有个初步的认识,循序渐进。C语言的书嘛,先买一本300页以内的,把书中的每一个例子都通过键盘敲打进去到Visualstudio里面去,然后单步执行,逐行调试去看各个变量的值。或者自行添加一些printf语句去输出变量的值。这样当你看完一本书后,你就有编写小程序的感觉了。

记住,千万不要偷懒,不敲进去,自以为聪明,能看懂,或者直接从光盘复制。偷懒的代价是会花费更多的时间学习,最后还没有学会,给自己的自信心造成巨大打击,再也不想学程序了。

C语言看完一本书后,下来你就可以买一本C++的书看了。C++的书也是一样,必须300页以内的那种,不要一来就想学《C++Primer中文版》这样的好书,因为太厚了,怕你没有信心能够看完,即使你很有信心,花费一年的时间才看完,不值得。这种经典的厚的好书,适合作为资料查阅,不适合挨个细节都看。

还是要提醒各位,一定要把书中的例子挨个敲打到电脑里面,单步执行。一定不要从光盘复制,一定要单步执行。

经过两本书的磨练,估计你对C/C++肯定有比较深入的了解了,下来应该可以进入实战了。

2.带界面的应用程序

学会了C/C++语言本身,可能还没有什么成就感,毕竟都是控制台的程序,老是输出一串字符串,整天面对各黑框框,成就感估计不是那么爽。要是能搞个带UI界面的程序就爽了。

下来就看个人的志向了,如果走微软路线,那你下来学MFC好了,如果要走开源路线,那开源跨平台的界面库多得是。

通用的并且简单的就是wxWidget了,官方网站为www.wxwidgets.org。你下载后看具体的例子,把里面的例子程序敲到你的Visualstudio里面,去调试,看运行的结果,你也可以试着去修改例子,添加按钮,响应按钮事件等。

走到这一步,恭喜你,可以照葫芦画瓢的搞个小应用程序了,还带界面。

3.网络应用程序

语言搞懂了,UI程序也会了,下来该学学网络咯,现在哪个程序不需要联网啊,懂网络对你理解很多程序非常有帮助。但是网络应用程序从哪里入手呢?

我来告诉你,从《UNIX网络编程》这本书入手吧,这本书可以教会你网络套接字的底层原理,把上面的例子好好学习,自己动手写一个回应服务器。写一个服务器端,再写一个客户端。服务器端请务必学会select这个简单的多路复用模型,这样你才能慢慢的深入里面poll,epoll,IOCP之类的模型。

4.文件操作

所有的程序,基本都会用到文件的读写操作,windows系统有自己的文件操作API,比如CreateFile,DeleteFile等,请新手不要学windows的文件操作API,新手请学标准C语言的文件操作函数,简单易学还跨平台。就那么几个函数,三下五除二你也就学会了,fopen,fclose,fread,fwrite,fseek,ftell就这么几个而已。

5.深刻理解内存与指针的关系

作为一个C/C++程序员,从学习程序的头一天开始,就要和内存的分配释放作斗争。你必须理解内存与指针的关系。怎么样才能理解呢,请大家去看《高质量C/C++编程》里面自带的几个经典例子吧。把那几个例子搞得清清楚楚,基本能够理解其中的原理了。

6.修炼C++

我上面说的基本都是修炼C的,要修炼C++,还得再花3年功夫,才有可能练成C++高手。C++太博大精深了,其中最复杂的莫过于泛型编程思想,不要以为能写个模板类就认为泛型编程不过如此而已。仔细看看STL源码,Boost源码,你就知道泛型编程有多么的博大精深了。修炼C++,可以从用C++封装的MFC, wxWidget入手,看高手如何通过C++语言,封装这样庞大的UI库,里面应用了很多的C++机制,最典型的就是多态机制,还有很多的设计模式应用可以研究。

7.深研设计模式

设计模式是程序设计的灵魂,是通用方法,当你面对一个大型项目的时候,如何设计一个有弹性的系统,是所有系统分析员应该掌握的技能。在设计模式的研究上,要结合实际的项目进行。

修炼到第八层,基本上就可以算作一个C++高手了。然而具体的每一层,都需要你一步一步慢慢地去走。

不想人到中年失业,走下坡路,甚至“被下岗”,面临中年危机,需要提前规划好自己的人生,尤其是程序员这种相对比较吃“青春饭”的职业,利用好你的时间充分学习,提前将自己的技术修炼到一定水准。

原文地址:https://www.cnblogs.com/junzi11/p/10976142.html

时间: 2024-08-30 07:26:35

如何成为一名牛逼的C/C++程序员?的相关文章

史上编程最牛逼的9位程序员,你心中的No.1是谁?

今天为大家介绍的这九位是对整个编程史影响甚远的程序员,他们每一个都在编程史上留下了自己的痕迹,他们要么是一些技术大神,要么是编程语言创始人,那么在编辑名人堂里,最厉害最牛掰的程序员会是谁呢? 1.丹尼斯·里奇:DENNIS RITCHIE 丹尼斯·里奇被誉为"C语言之父",他在生前与贝尔实验室的合作伙伴肯·汤普森(Ken Thompson)一起利用这种编程语言开发出了 Unix 操作系统.在互联网上,几乎所有东西都会使用C语言和Unix操作系统,但C语言之父的离世却很少有人缅怀.201

全球最牛逼的 14 位程序员大佬,请收下我的膝盖~

全球最厉害的14位程序员是谁,你知道的有几位呢? 以下排名不分先后: Jon Skeet 个人名望:程序技术问答网站Stack Overflow总排名第一的大神,每月的问答量保持在425个左右. 个人简介/主要荣誉:谷歌软件工程师,代表作有<深入理解C#(C# In Depth)>. 网络上对Jon Skeet的评价: · "他根本不需要调试器,只要他盯一下代码,错误之处自会原形毕露." · "如果他的代码没有通过编译的时候,编译器就会道歉." · &q

如何成为一个牛逼的C/C++程序员?

这个题目的噱头太大,要真的写起来, 足够写一本书了. 本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走弯路. 每个人的情况不一样,我下面的描述可能并不适合每一个看到这篇文章的人. 一.C/C++语言 如果你的基础很差, 建议不要一开始就学C++语言,从C开始学起,对程序有个初步的认识,循序渐进.C语言的书嘛,先买一本 300 页以内的,把书中的每一个例子都通过键盘敲打进去到 Visual studio里面去,然后单步执行,逐行调试去看各个变量的值.或者自行添加一些printf语句去输

(面试感悟)一名3年工作经验的程序员应该具备的技能

前言 因为和同事有约定再加上LZ自己也喜欢做完一件事之后进行总结,因此有了这篇文章.这篇文章大部分内容都是面向整个程序员群体的,当然因为LZ本身是做java开发的,因此有一部分内容也是专门面向咱们java程序员的. 简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,一共有面试了有6家公司(因为LZ不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少),其中成功的有4家,另外两家失败的原因在于: 1.阿里巴巴B2B事业部的面试,两轮技术面试都过了,最后一轮

一名资深架构师规划Java程序员五年职业生涯指南

每个程序员.或者说每个工作者都应该有自己的职业规划,如果你不是富二代,不是官二代,也没有职业规划,希望你可以思考一下自己的将来.今天我给大家分享的是一篇来自阿里大牛对五年工作经验程序员的职业建议,希望对你们有启发. 第一阶段: Java程序员 Java初级程序员 第一阶段我认为对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人.这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的企业级开发. 第二阶段: Java中级程序员 企业标准程序员 第二阶段—又是

【转】如何成为一个牛逼的程序员

来自:http://www.cnblogs.com/preacher/p/4205277.html   说的很有道理!!! 上边这个网站不是原文网站,,,原文网站地址:http://blog.csdn.net/foruok/article/details/42061247 该作者应该是主要为程序员职业规划知道,,,相关的  程序员漫谈系列  值得一看!!! ------------------------------------------------ 作为程序员,身边总是有牛逼的前辈.后辈或者

如何成为一位牛逼的大咖

每个人都想过做一件牛逼的事情,做一个牛逼的项目,或者想成为一个牛逼的大咖.甚至我们还不懂到底什么是大咖,所谓的"大咖"其实就是在某个领域有这一定影响力,拥有众多的粉丝和号召力的人.如果想成为一位牛逼的大咖,那么你必须在某个领域有着自己的独有的价值.做大咖很多人以为会很舒服,人只要出了名什么好事都会轮到他.不但会获得很多的社会资源还有很多的商业价值.所以,能成为一位牛逼的大咖说明已经非常成功了,就是不操作什么项目也活得相当滋润了.很多人把我当成了大咖来向我讨教经验,其实我也不是什么大咖,

如何成为牛逼的程序员

著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:vczh链接:http://zhuanlan.zhihu.com/p/19796639来源:知乎 我有一个想法,不一定对. 第一篇文章(第一篇文章就贡献给投票了 - vczh的日常 - 知乎专栏)果然给了我灵感耶,标题的图片就是从评论里截出来的.为了以后回答那些层出不穷的月经问题,我决定写下这么一篇文章,讲一下我对牛逼的程序员的理解.为什么我要讲这个呢,当然首先我还是觉得自己是很牛逼的,不然我就不会讲这个了(误 一个牛逼的

修炼一名程序员的职业水准(林庆忠__署名原创)

http://blog.csdn.net/baselive/article/details/306412 摘: 作者:林庆忠,1990年毕业于昆明工学院计算机软件专业,后又于1999年毕业在南京大学 完成软件工程专业硕士的学习,现供职于CNPC旗下的一个行业软件研发中心,因为在网上看了许多有经验的各路软件开发人员写的好帖,一时手痒兴起,也凑一篇壮壮声势. 假设你是一名软件专业毕业的本科学子,如何在工作中修炼成为一名有较高职业水准的程序员呢,本文试图总结作者从事15年软件开发工作的感想,希望对有志