关于学习编程的一点想法
在Zee的论坛里面和大家讨论了一下关于如果学习编程的问题,觉得挺有意思的,干脆贴在BLOG上了,呵呵。
On Apr 6, 6:08 pm, dennis <dennis.d...@gmail.com> wrote:
> 哈哈,罗素同志说过:"须知参差多态乃是幸福的本源",在他老人家看来,要是世界上只有一种语言,那是一件多么痛苦的事情啊:)
>
> 编程语言虽然多,但其实正如Ricky所言,没有优劣之分,只有更合适。要是追求语言的时候一定要追求"最强大,最先进,最能够让人获得现实收益的语言",那就堕了魔道了。
>
> 我从小学的时候开始接触编程语言,从BASIC到大学时候的Fortran,C,C++,然后又学了些Shell(包括awk和sed),Perl,看了点Java,最近又开始对Python和Ruby有兴趣了--说起来,也接触了不少东西,当然说到比较精一点的,也就是只有BASIC/C/C++,Shell/Python的水平还算过得去,Java/Ruby就算是入门水平了。
>
> 说了这么多,重点不是表扬自己有多牛,关键的是,我学习语言基本上都是有项目要求或是学习的背景的,个人感觉是,如果纯粹只是为了学习一门语言而去学习,难度相当大,有了一个具体的学习背景,学习起来就感觉好多了。像我最近在学习Python语言,其实是为了两个开源的项目,一个是LDTP,一个是pywinauto,有这个背景,学习到的东西可以不断拿来做实际的工作,感觉进步还是挺快的。
>
> 其次,说到学习一门具体的语言,我总的感觉就是,编程语言和自然语言本质上都是"用一种符合语言规范的方式表达解决问题的方法",编程语言相比自然语言更加简单,因为它需要解决的问题都是逻辑问题,用一套简单的逻辑符号就可以表示--顺序/循环/分支。所以我现在在学习任何一门语言的时候,都是按照这个顺序来的:
> 1,变量类型和变量表示法
> 2,流程控制
> 有了这两个基础,基本就能解决大部分的编程问题了。
> 3,面向对象的部分
> 4,语言的特色(例如C的指针,Python中的元组/动态函数生成等)
>
> 在07-4-6,Ricky <ricky....@gmail.com> 写道:
>
>
>
>
>
> > 最近有点不知所措。大家给点点建议。
>
> > 计划了半年多了,要好好学学Perl,总集中不起来精神。
> > 一会翻翻Shell的书,一会看看PL/SQL的编程。
> > 兴致来了,又想好好掌握sed和awk(学过两个月,没有什么是精通的),不过心中总在告诫自己:语言没有优劣之分,只有更合适。
>
> > 哎,总感叹,要是世界上只有一种语言多好啊。
>
> > On Apr 6, 8:57 am, "Zee.lgao" <Zee.l...@gmail.com> wrote:
> > > 有的时候,感觉学习的这个过程挺痛苦的。
> > > 特别是在什么也不懂的时候。
> > > 一些函数单独的知道是什么意思。
> > > 可是怎么也组织不成一个完整的小程序。
> > > 没有整体的概念。
> > > 我打算用一段时间来看看C,只看C的东西。
> > > 各位在学习的中,有什么好的建议?或者心得?
On Apr 6, 6:08 pm, dennis <dennis.d...@gmail.com> wrote:
> 哈哈,罗素同志说过:"须知参差多态乃是幸福的本源",在他老人家看来,要是世界上只有一种语言,那是一件多么痛苦的事情啊:)
>
> 编程语言虽然多,但其实正如Ricky所言,没有优劣之分,只有更合适。要是追求语言的时候一定要追求"最强大,最先进,最能够让人获得现实收益的语言",那就堕了魔道了。
>
> 我从小学的时候开始接触编程语言,从BASIC到大学时候的Fortran,C,C++,然后又学了些Shell(包括awk和sed),Perl,看了点Java,最近又开始对Python和Ruby有兴趣了--说起来,也接触了不少东西,当然说到比较精一点的,也就是只有BASIC/C/C++,Shell/Python的水平还算过得去,Java/Ruby就算是入门水平了。
>
> 说了这么多,重点不是表扬自己有多牛,关键的是,我学习语言基本上都是有项目要求或是学习的背景的,个人感觉是,如果纯粹只是为了学习一门语言而去学习,难度相当大,有了一个具体的学习背景,学习起来就感觉好多了。像我最近在学习Python语言,其实是为了两个开源的项目,一个是LDTP,一个是pywinauto,有这个背景,学习到的东西可以不断拿来做实际的工作,感觉进步还是挺快的。
>
> 其次,说到学习一门具体的语言,我总的感觉就是,编程语言和自然语言本质上都是"用一种符合语言规范的方式表达解决问题的方法",编程语言相比自然语言更加简单,因为它需要解决的问题都是逻辑问题,用一套简单的逻辑符号就可以表示--顺序/循环/分支。所以我现在在学习任何一门语言的时候,都是按照这个顺序来的:
> 1,变量类型和变量表示法
> 2,流程控制
> 有了这两个基础,基本就能解决大部分的编程问题了。
> 3,面向对象的部分
> 4,语言的特色(例如C的指针,Python中的元组/动态函数生成等)
>
> 在07-4-6,Ricky <ricky....@gmail.com> 写道:
>
>
>
>
>
> > 最近有点不知所措。大家给点点建议。
>
> > 计划了半年多了,要好好学学Perl,总集中不起来精神。
> > 一会翻翻Shell的书,一会看看PL/SQL的编程。
> > 兴致来了,又想好好掌握sed和awk(学过两个月,没有什么是精通的),不过心中总在告诫自己:语言没有优劣之分,只有更合适。
>
> > 哎,总感叹,要是世界上只有一种语言多好啊。
>
> > On Apr 6, 8:57 am, "Zee.lgao" <Zee.l...@gmail.com> wrote:
> > > 有的时候,感觉学习的这个过程挺痛苦的。
> > > 特别是在什么也不懂的时候。
> > > 一些函数单独的知道是什么意思。
> > > 可是怎么也组织不成一个完整的小程序。
> > > 没有整体的概念。
> > > 我打算用一段时间来看看C,只看C的东西。
> > > 各位在学习的中,有什么好的建议?或者心得?