如何学好C语言

转载 2012年03月21日 18:01:44

有人在酷壳的留言版上询问下面的问题

keep_walker :
今天晚上我看到这篇文章。
http://programmers.stackexchange.com/questions/62502/small-c-projects

我也遇到了和提问的老外一样的问题。。能给像遇到这样烦恼的程序员一点建议嘛?谢谢!

我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子。比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便利,但是对于程序员来说可能并不太好,原因有两个:

  1. 虚拟机屏蔽了操作系统的系统调用,以及很多底层机制。
  2. 大量的封装好的类库也屏蔽了很多实现细节。

一段时间后,你会发现你知其然,不知所以然。。我以前在CSDN上写过一篇《Java NIO类库Selector机制解析(》,在那篇文章中我说提到过(有讥讽的语气)Java的程序员不懂底层实现,所以很难把技术学得更扎实。此时,一部分程序员会不自然地想学学底层的技术,很自然的,C语言就被提了上来。

下面是我给这位朋友的一些建议:

  • 鼓励并为你叫好。我鼓励你想要去学C语言的想法和精神,很多人都觉得C语言好学,其实并不然。(你可以看看《C语言的迷题》)现在的这个社会更多地去关注那些时髦的技术,而忽略了这个流行了40+年的C语言。一门技术如果能够流行40多年,这才是你需要去关注和学习的技术,而不是那些刚出来的技术(过度炒作的技术Windows编程史)。这才是踏踏实实的精神。
  • 不要找借口。这一条路走下来并不容易,不要给自己找借口。我最不喜欢听到的就是“很忙,没有时间”这样的借口。我以前在银行做项目,早9点到晚10点,周一到周六,我一样可以每天抽1个小时来看书和专研,一年下来也能精读5、6本书。我现在的工作项目和招聘任务很紧张,刚生的小孩只有自己和老婆两人带,还需要准备讲课,但是我还是能够找到时间看文章写文章维护酷壳。所以,我可以告诉你,“时间就像乳沟,只要你肯挤,就一定会有”。

如果你能在2-3年内精读完这些书,并全部融会贯通,那么你就明白什么是一览众山小的感觉了!我足足花了5年时间才算是真正全部读完这些书的。最后,祝你好运!努力!

——-更新:2011/03/29 20:00——-

我想,这篇文章主要想告诉大家这么几件事:

  • 编程编到一定时候,你就需要了解底层系统的机制,否则,知其然不知所以然。
  • 我没有否定非C的程序员的逻辑,真正的逻辑是——如果你想要了解底层机制,请学习C语言和操作系统。
  • 40多年的Unix/C影响深远。包括影响了Windows。如果你想一通百通,一定要了解Unix。那是计算机文化真正的根。
  • 不要肤浅地去思考问题。比如,不要以为一个DBA就不会考虑数据库引擎的内存页面的问题。也不要以为Web程序员就不需要了解后台的服务器和脚本的运行性能以及TCP/IP的问题。

高手往往都是有很强的系统的基础知识的,表面的东西永远是肤浅的。

如何学好C语言,一个成功人士的心得!

来源URL:http://blog.csdn.net/yxnk/article/details/5976699/ 今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:...
  • u013160024
  • u013160024
  • 2014年09月14日 16:26
  • 11015

大学生如何学习c语言!

大学生该怎么学习c语言       先介绍一下我自己吧,我呢也是一个大学生,因为是中职升学在高中期间呢就有过接触c语言啦,c语言这门语言呢也是一门外语,但是他和英语有所不同,很多男孩子英语都不是很好...
  • Hxy639
  • Hxy639
  • 2017年12月21日 13:17
  • 74

浅析如何学好C语言

今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所有的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的...
  • u013467442
  • u013467442
  • 2015年07月26日 21:10
  • 1519

如何快速学习C语言

如何快速学习c语言 大家可能因为学习c语言有些困难,大多数人都把这个语言当做编程的入门语言。 方法 首先是兴趣,要...
  • STomorrow
  • STomorrow
  • 2015年07月20日 22:26
  • 424

C语言没学好,C++听不懂,怎么办?

一位老家的侄子给我来信,谈了学程序设计的不顺。他大一,计算机专业。当叔的正好能给建议。【来信】  叔,我上学期的学习中主要是C语言和英语有问题。俩门都是刚过,尤其是对于C的学习,基本没有什么兴趣,而且...
  • sxhelijian
  • sxhelijian
  • 2014年03月24日 21:39
  • 5291

如何学好C语言

有人在酷壳的留言版上询问下面的问题keep_walker :今天晚上我看到这篇文章。http://programmers.stackexchange.com/questions/62502/small...
  • liufei_learning
  • liufei_learning
  • 2011年03月30日 22:52
  • 714

c语言如何学好

无论学习任何一门语言都应该有一颗探索精神和坚持到底的心,学习C语言同样也是一样,只要你善于探索问题,解决问题,才能把C语言的精髓真正地掌握。  谈及C语言,我想凡是学过它的朋友都有这样一种感觉,...
  • m13286282
  • m13286282
  • 2015年05月11日 11:06
  • 204

如何学好C语言

http://coolshell.cn/articles/4102.html 有人在酷壳的留言版上询问下面的问题 keep_walker : 今天晚上我看到这篇文章。 htt...
  • lsy5631932
  • lsy5631932
  • 2013年09月29日 15:21
  • 587

如何学好C语言 & 如何学好C++

zz:如何学好C语言 & 如何学好C++ 这两篇文章是在一个博客上看到的,这个博主写的我长期以来一直觉得很受用,推荐一下:  http://coolshell.cn 如何学好C语言 ...
  • linshixina
  • linshixina
  • 2012年10月19日 18:15
  • 931

如何学好 C 语言

我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子。比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便利,但是...
  • wql19881207
  • wql19881207
  • 2011年04月02日 09:45
  • 326
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何学好C语言
举报原因:
原因补充:

(最多只允许输入30个字)