php--一个重要的学习工具

    在大学里面,计算机专业的人都学过c语言版本的数据结构,本来数据结构的事项与算法都是很简单的几句话,当时用c写出来就会一大堆,特别是边界条件,特殊情况考虑的比较全的时候,我们会发现c的表达能力其实不是很好。
    php简单的理解就是一个c语言的类库,你去php.net 下面下载一下它的源代码就会发现,首先php的内核是zend engine ,它是一个用c语言写的函数库,用于处理底层的函数管理,内存管理,类管理,和变量管理。在内核上面,他们写了很多扩展,这些扩展大多数都是独立的。用操作系统来比喻的话,zend engine 就是一个操作系统,然后官方提供了很多“应用程序”,只是这个“应用程序” 不是media play 而是 mysql , libxml,dom。当然,你也可以根据zend engine 的api 开发自己的扩展,有空我会整理一下这方面的开发经验,给大家分享。
    php是一门很实用的语言,当然,效率可能不是很高,但是对于一般的需求已经足够了。不知道大家有没有考虑过,或者想过php版本的数据结构的问题。如果你对照ADT的定义,让然后用php开始写,你会发现,完成以前让你头疼的数据结构的题目已经变的很轻松了。举个例子,我们要实现一个stack,你会发现,php里面的array就已经有了全部的功能了,你已经没有必要写了,也许你觉得array不纯粹,那也没有关系,你可以用一个类简单的封装一下,而且还有一个好处,这个stack没有类型的限制,你要放int就int,放char就char,而其他语言中很有可能要用到什么泛型,模板之类的技术才可以实现。就我们领会stack的意义和来说,php版本的实现已经足够了。你会发现用php做你以前的数据结构题会很有趣,而且你对数据结构也会有新的理解。
    php专注于网络技术,如果你对搜索引擎感兴趣,并且看过一些用c++ 或者 java 写的搜索引擎,你可以简单的用php来实现一个,你会发现这个开发会很轻松,当然,你的搜索引擎在效率上不能满足大规模应用,但是这可以让你理解基本的搜索引擎的概念。
    在我看来php不仅仅是门很实用的语言,也是一个很好的学习的工具。他能让你不用去处理那些语言层次的乱七八糟的东西,直接面向问题的本质与思想。

你可能感兴趣的:(PHP)