-----------二分流掌门人 ~也来共享共享我的程序学习方法~

lin_style 2010-03-03 10:27:54
一家之言,如果你觉得天天看书无效、纠结语法的时候可以试试我的方法。

当我初学C/C++的时候,按照网络上的方式,无一例外的进行一系列的图书洗礼,什么C++ PRIMER,effective。。一拉下来。每次都以终于好不容易熬完一本书为荣,这真是太紧了,当然,不是我太大(韩寒语)。
过去的一年,我看了很多领域的杂书,包括经济的,推理的,记录的。尤其看到“太监”一性别诞生的时候,以即日后引得风波浪涛,真的是哑然一笑。任何物品的出现,都是以创造为主的不是吗?从这条线推下来,我发现越后来的人真的是越难。比如同时写出一个排序算法,后来人的排序价值明显不如前人。当然这不是说前人占便宜。整个历史文明的推动既要靠前人的奠基,又要靠后人的提升;同时在整个价值体系里,做出来的东西又要满足各种人的变态需求,今天要胖的,后天要瘦的,搞不好大后天又要胖的,这不是大小的问题,这是体位的问题。
我相信任何想要有成就的人,时时刻刻不在憧憬着一个理想的信念,能在每天早上,对着镜子中疲惫不堪的自己不断地提醒自己。做程序的也甚是同理,能够从技术中、生活中、各种价值体系中捕捉自己的创造力。并且为之孜孜不倦。世界是很大的,一些语法细节是很渺小的,有一些甚至本身就是个错。
自从去年下半年我心中有个非常想做的东西后,我基本是这样进行的:
备有的书:effective,标准库例子,google.
备有的时间有:每天忙完工作后,回去有时都11点了,基本都坚持写会代码,即时只有几行,也尽量的把在路上思考的方案记录。至此,SVN版本快到200 了。(去年12月份起)
遇到一些复杂的语法问题我基本都绕过,我发现涉及到复杂语法的八成都是设计有问题。遇到一些不解的语法地方,直接调试汇编观看(其实都是一些内存读取)。也没很系统的看过汇编书,不懂得就查一查,复杂的语法用到的也不多。每天都看一些牛人的BLOG,能找到很多共同点。 唯一做的不好的地方是,我做的东西已经有很多库里有了,我也知道闭门造车不好,但是就是抑制不住自己不断思考的冲动。不过我也深信不疑:等我彻底完成它后,产生的价值最低限度也比那些讨论语法的强多了。
每个人都有自己的成功方法。我相信这个是目前阶段最适合我的。我就想创造出它来。这也就是我目前方法的核心,带有创造性的去学习。说来也搞,专业的C++ 书籍倒是一本完整的都没看过,倒是WINDOWS/LINUX,带有这种字眼的编程完整的看过几本,并且还不断地查询里面的内容,专业的C++翻阅甚少。


也来说说算法的学习:
1.算法能力的转移
计算机发展到今天,随着尘归尘,土归土的概念,很多算法都用不着你操心,有时候学了半天,一样都没用到,那也是太紧了。 换种角度来看,算法问题其实也是一个解决方案而已。当你能懂得抓取和提炼其他问题的解决方法,再怎么差,遇到同个等级算法问题也不至于惊慌失措。
2.算法条件的构造
举个简单的例子来说(不太严谨),假设从一个1千万条的数据库里,取出某某大于多少的记录。可能算法上已经极限了,但是你可以在插入的时候做点手脚,比如按值区域分区等等。包括各种优化,缓存等等,都是在利用已知的条件来构造解决的方法。
这就是我在算法上掌握的大方向,当然有空也会看些专业的书,毕竟还是非ACM选手等级的。



最后一句话结尾,没有什么一个东西会用完语言的所有特性,除非是一个完整的操作系统(内核+软件)。文章内容学术性较差,追求共鸣性。如果不爽,欢迎拍砖,必口水还之。
...全文
296 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
tuccty 2010-05-15
  • 打赏
  • 举报
回复
刚从战帖过来,顶个,接分。
jinxfei 2010-03-05
  • 打赏
  • 举报
回复
顶,写的很好,很赞同。
enter333 2010-03-05
  • 打赏
  • 举报
回复
看高手分享经验。
回复内容 回复内容太短了!
kongbai308416350 2010-03-05
  • 打赏
  • 举报
回复
其实语言设计语法的时候和自然语言一样,本质都是为了表达信息,之所以有语法,就是为了让表达信息更加规范,更加清楚,消除二义性以及简明.
因此,从这个角度上来说,大部分的信息应该都能被"语法"很好地适应---毕竟优胜劣汰,不能把大部分信息以优美简明地表达出来的语言是禁不住考验的.毕竟没有人为了折磨自己,硬要去使用复杂无比的东西...
纯属个人想法....大神略过.
Jinhao 2010-03-05
  • 打赏
  • 举报
回复
我不是来顶贴的,我是来看有没有人来打酱油
healer_kx 2010-03-04
  • 打赏
  • 举报
回复
关于“复杂语法 -> 设计问题”这里,我很晕,最好有个例子,来说明问题~这样更让人信服。
healer_kx 2010-03-04
  • 打赏
  • 举报
回复
引用 22 楼 guosha 的回复:
我发现涉及到复杂语法的八成都是设计有问题;

这话说得很好,但可以再高一个层次。当你的软件实现显得很复杂时八成是设计有问题


你这句话说得,显然是用UNIX的审美标准来衡量的。。。

十一文 2010-03-04
  • 打赏
  • 举报
回复
我来顶的!!!!!!!!!!!
快乐田伯光 2010-03-04
  • 打赏
  • 举报
回复
我发现涉及到复杂语法的八成都是设计有问题;

这话说得很好,但可以再高一个层次。当你的软件实现显得很复杂时八成是设计有问题
lin_style 2010-03-04
  • 打赏
  • 举报
回复
引用 20 楼 kongbai308416350 的回复:
引用 14 楼 lin_style 的回复:
引用 11 楼 kongbai308416350 的回复:
恩,说到底还是要有目标性.光看书,看语法,看起来是有"目的":为了学好语法.甚至还有可以很多理由:学好了语法才能更好地编程;磨刀不误砍柴工;理论指导实践;还能找出很多"至理名言".


实际上,这些东西你仔细想想,没有一个能触及你心里最底层的东西.换句话说,你没有最原始的动力.

对于学习,特别是学习编程这样需要动手实践能力的,最好的方法就是找到具体的编码目标.带着问题学习..
而且,像语言一样,这些规则并不是一开始就存在的,而是为了程序的易读,易表达和快速运行这种带有很强实践意义的目标而制定且不断更新的.只有在实践中,才能体会,为什么规则要这样设定..甚至很多时候会与规则,语法产生强烈共鸣.

我理解的是创造性。比如我文中提到的排序算法例子,必须创造出一个更有新意的。不知道您的目标性是否和我大体一致。不过无碍,共鸣即可
其实所谓的创造性也是建立在有明确目标性的基础上.有了明确清晰地目标后,就会有发自内心的把目标完美实现的内在动力,在这种动力的影响下,就会想方设法去完成目标,创造性也是这时候迸发出来的.
对于一个没有目标的人来说,创造性实在是可有可无的东西.


虽然略有不同,但是大意一样,有共鸣!
kongbai308416350 2010-03-04
  • 打赏
  • 举报
回复
引用 14 楼 lin_style 的回复:
引用 11 楼 kongbai308416350 的回复:
恩,说到底还是要有目标性.光看书,看语法,看起来是有"目的":为了学好语法.甚至还有可以很多理由:学好了语法才能更好地编程;磨刀不误砍柴工;理论指导实践;还能找出很多"至理名言".


实际上,这些东西你仔细想想,没有一个能触及你心里最底层的东西.换句话说,你没有最原始的动力.

对于学习,特别是学习编程这样需要动手实践能力的,最好的方法就是找到具体的编码目标.带着问题学习..
而且,像语言一样,这些规则并不是一开始就存在的,而是为了程序的易读,易表达和快速运行这种带有很强实践意义的目标而制定且不断更新的.只有在实践中,才能体会,为什么规则要这样设定..甚至很多时候会与规则,语法产生强烈共鸣.

我理解的是创造性。比如我文中提到的排序算法例子,必须创造出一个更有新意的。不知道您的目标性是否和我大体一致。不过无碍,共鸣即可

其实所谓的创造性也是建立在有明确目标性的基础上.有了明确清晰地目标后,就会有发自内心的把目标完美实现的内在动力,在这种动力的影响下,就会想方设法去完成目标,创造性也是这时候迸发出来的.
对于一个没有目标的人来说,创造性实在是可有可无的东西.
qqwx_1986 2010-03-04
  • 打赏
  • 举报
回复
最近很闲啊 !
lin_style 2010-03-04
  • 打赏
  • 举报
回复
引用 25 楼 healer_kx 的回复:
关于“复杂语法 -> 设计问题”这里,我很晕,最好有个例子,来说明问题~这样更让人信服。
哥好。以下是小弟观点:
首先,不管是语法抽象的语言还是朴实的hello world,只要能够表示出人类的逻辑意识即可。其次不管用那个你必须
做出东西来。
其次,既然都能表示出人类的逻辑意识,那必然有抽象和朴实两大派。至于这2个谁好谁坏没什么好争得,公司里技术头头主推
哪个就是哪个,另外一个只能说是气数不够。
所以,我的观点就是,别说自己语法多好多好,重要的是拿出成品来比一比。
traceless 2010-03-04
  • 打赏
  • 举报
回复
先支持一下。。。

再说
lgccaa 2010-03-04
  • 打赏
  • 举报
回复
up
up

交流帖要顶一下
yshuise 2010-03-04
  • 打赏
  • 举报
回复
loki就是在炫耀语言技巧。
yshuise 2010-03-04
  • 打赏
  • 举报
回复
学c++不仅是语法问题,语法比较强的《c++ primer》, loki库。
实用性比较强的库:boost。不信,可以自己读读源码,这些是从书上以及csdn上得不来的。
yshuise 2010-03-04
  • 打赏
  • 举报
回复
支持楼主。。。。。。。。。。。。。
赵4老师 2010-03-04
  • 打赏
  • 举报
回复
对学习编程者的忠告:眼过千遍不如手过一遍!(书看千行不如手敲一行!)
mtfxabc 2010-03-04
  • 打赏
  • 举报
回复
楼主写得半死,顶了!
加载更多回复(17)

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧