编程呢真是坑爹

编程真难,真的.
举一个例子来说明这个问题.比如说编一个文件搜索的程序,功能就是window系统自带的搜索功能
大家先别看后面的,想一下,这东西简单吧?这么简单的东西,就是cout<<"hello world"的难度嘛
......
是这样吗?
首先,得知道目录相关的函数才能做文件搜索.要了解系统提供的API吧,熟悉系统的API是最基本的.window程序设计之类的东西要掌握的.

然后,想一下核心算法.其实是文件系统的遍历.找到文件名匹配的.文件系统的逻辑结构,实质上是------树.看,数据结构用上了吧.
从速度上考虑,总不至于用递归来做树的遍历吧.大家想下,自己还记得非递归的树的遍历吗?先根,后根,层序...

再之后,图形界面得搞个吧?好了,MFC学得如何呢?或者是用别的,反正又需要用到很多知识.

再然后,想一下如何提高搜索速度,想到了没?多线程.这就又需要相关的并行程序设计的知识了.线程的同步,互斥.以及对操作系统更深入更透彻的了解.

再之后,应该做到更加的用户友好.所以,* ?之类的的模糊匹配要做出来.又是数据结构,体现对字符串的驾驭能力的时候到了.题外话,还记得KMP算法不?
就从C++语言的角度讲,可以把* ?搜索中的模糊匹配做成一个类的,方便以后重用.这汲及语言功底的扎实性,以及设计模式相关的东西
也许应该做得更好.支持正则表达式如何?或许有些现成的正则表达式的库类可用.这时又需要使用.

之后,如果真的做到这一步了,程序出来了.大家回头再想一下,有多少潜在的BUG?内存泄露一大堆?程序的健壮性如何?

最后,想一想自己写出来的代码,易懂不?优雅不?美观不?是不是看着就怕?其实程序员不怕病毒,就怕自己写的程序!

说了这么多,有兴趣的试着做一下吧.不是有人问"大家的编程能力如何"吗?
不想每天写hello world的可以拿这个程序练练手.有多少人能确定自己能完成这个程序呢
也许很多大学毕业生,还达不到这种程度....四年混过来的,毕业设计网上随便抄个修改一下....

这是个极简单的例子.就汲及到了多少东西啊!如果真正的编程,写个迅雷出来如何?其实难度变化就是把代码量扩大几十倍.需要的知识量再扩大几倍.
或者更深的东西.从底层开始,把Tcp/Ip网络体系写出来.数据链路层,网际层,传输层...所有的源码自己实现出来.

不会了吧?废话...这都会了还考研做什么呢
唉,总之,编程真难~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值