从高级语言学起还是从c学起?
编程学什么语言?这个是难以回答的问题,以下勉强算是一个回答,你看呢?
编程万变不离其宗,在c中学到的知识一就是“宗”,在未来的语言学习中会有莫大的帮助。
以文件操作为例。若对c标准标使用熟练,无论php的fopen,ruby的File.open都会理解成这只是对c的open/fopen的一个封装。又由于对c中的open熟悉,那由编程万变不离其宗,在c中学到的知识一就是“宗”,在未来的语言学习中会有莫大的帮助。
以文件操作为例。若对c标准标使用熟练,无论php的fopen,ruby的File.open都会理解成这只是对c的open/fopen的一个封装。又由于对c中的open熟悉,那由此会产生更多有帮助的信息以避开一些可能的问题,如本操作会占用文件描述符,及时关闭是好习惯。只要与系统的交互都绕不开c的标准库。这也是为什么学会c就很容易学会其它语言。
但由于学c的时间相对漫长,特别是知识二的过于底层的特性花费了大量精力去理解却在脚本面前毫无用武之地,显得有些无用功。对比直接入手php在只知其一不知其二也可以无碍使用下,就不得不让人考虑值不值。以fopen为例,不知道c的php使用者的思想可能为fopen返回一个resource,而resource将占用系统资源,用fclose可以关闭它,听别人说及时关闭是个好习惯。
再加之,在php中有许多c中没有的知识,如gc,面向对象思想,著如md5_file,urlencode等大量标准库以外的函数,数据库操作,xml,json等等一系列web知识。网页编程和c中还是有着巨大的知识差别。
综上所述一句话:时间充裕就从c学,没时间就算了。学c不吃亏,有空最好还是学学。此会产生更多有帮助的信息以避开一些可能的问题,如本操作会占用文件描述符,及时关闭是好习惯。只要与系统的交互都绕不开c的标准库。这也是为什么学会c就很容易学会其它语言。
但由于学c的时间相对漫长,特别是知识二的过于底层的特性花费了大量精力去理解却在脚本面前毫无用武之地,显得有些无用功。对比直接入手php在只知其一不知其二也可以无碍使用下,就不得不让人考虑值不值。以fopen为例,不知道c的php使用者的思想可能为fopen返回一个resource,而resource将占用系统资源,用fclose可以关闭它,听别人说及时关闭是个好习惯。
再加之,在php中有许多c中没有的知识,如gc,面向对象思想,著如md5_file,urlencode等大量标准库以外的函数,数据库操作,xml,json等等一系列web知识。网页编程和c中还是有着巨大的知识差别。
综上所述一句话:时间充裕就从c学,没时间就算了。学c不吃亏,有空最好还是学学。
程序猿们满意吗?
转发到新浪微博轻松一刻
- 所有评论
下一篇: Python 是否是下一个 PHP?