菜鸟请教一些问题.。。

07-06-27 shaguar
大家好,我是一个大一的学生,在学习用php做网站。无意中闯进这里,看了banq老师不少的贴子,有一些困惑想请教一下大家,见笑了!

1、我觉得面象对象不应该局限与某一种语言的(比如java),可是大家为什么一谈面向对象就好象非java不可呢?不错,java里是有类的所有特性,但是这只是一个语法的问题啊,好象不应该牵扯到思想上来吧?我相信,php同样可以写出来非常优秀的代码的。

2、我看了banq老师关于一个一百人同时在线的问题,说的名词太多,我大多数都不甚了解,但是如果一个网站只能承受同时在线人数一百个,那是不是太失败了啊。即使他的开发模式再先进也同样是失败的。例如:http://blog.sina.com。同时在线人数能达到几十万,可是这个网站却完全是用php写的,雅虎也是php写的。而php没有那么多的开发模型之类的,但是这些大站都采取了它,是为什么呢?所以我觉得做网站(或者软件)它的性能是首要的,其次才是别的。你们觉得呢?

3、还有一个是基层的问题,我看了banq老师的一些说法,似乎并不怎么关心基层的实现,或者算法的优化,而这些都是非常重要的东西啊。或者我中的毒太深了,我始终觉得,如果一个程序员只考虑向上而不向下看看,那么也是相当危险的呀。

4、另外一个问题是,banq老师说的数据时代结束了我看了以后真的非常震撼,你们说的持久层,表现层之类的,我也不是很明白,但是,光光脱离了数据库字段,表,和库的类型和操作,但这也并不能说明有多高明或者多么先进啊。用mysql或者xml或者mssql,这都不重要,你一个小时能换一个用又能如何?这只是相当于小孩玩积木,能变出各种花样来,可是并非所有的东西都需要变化的,mysql很稳定了,为什么要换成xml呢?OO思想是好的,可是并非只有OO能解决问题的啊。

我只是从我的出发点说了一些话,大家不要见怪啊,我以前一点也不了解你们说的那些,这一下午我看了很多贴,才得出来以上的那几个观点,希望你们能够多多指教。我内心也觉得banq老师和你们说的有道理,但是是否有点偏激呢?

              

Newbie1978
2007-07-04 11:41
学习java,我也第一次来这里。

gougou3250
2007-07-04 19:24
小伙子有前途,BANQ的很多观点并不一定正确

1.oo包括两方面,语言特性与系统分析

站在分析的角度,谁都可以构建一个OO的系统,UML是与编程语言无关的

语言特性,JAVA的支持比较直接,但是你用其他语言照样可以写出OO的代码,例如JAVASCRIPT 一个脚本语言照样可以是OO的,象MODELLY就是一个JS语言的比较优秀的OO封装 OO是什么?只是封装 继承 多态,然后把这种思想往系统设计上扩展

2.100人同时在线,如果不存在内存泄露,各种配置不出问题,结构合理,速度是非常快的。100人同时在线不代表着100个并发

现在的JAVA虚拟机非常强悍,回收垃圾的效率远远胜过创建一个对象池来维护一些小对象,所以没有必要为JAVA虚拟机的频繁启动而担忧,而JAVA虚拟机将越来越强大。IBM就有一个项目,是让JAVA虚拟机每隔多少秒启动一次。JAVA虚拟机启动的时候,好象是先标记存在引用的对象,标记完后,把所有未标记的对象全部回收掉。大型网站的高并发是靠集群来实现的。在每个省都有一个集群服务器,然后定时从主服务器上取得更新的内容。模式是解决开发中某些问题的业界比较成熟公认的方法。两者是不同的问题领域。

3.基层的东西算法之类,你有时间嘛就多学学,技多不压身。这些东西都有现成的JAR包可以调用,而且人家的东西是经历时间环境考验的,而自己写的也许会存在这样那样的问题。做企业开发,真的象BANQ说的那样,搭积木,你知道这个积木是干什么的,该怎么用就OK了,至于积木的内部实现,有时间你就慢慢研究吧,积木海了去了,也许你努力了N久,可以开发出一个更好的同类积木,OK,那大家以后全用你的。人的生命是很短暂的,我们应该有自己的专注领域,是某几个积木?还是用N个积木搭出来的那个玩具?取决于你的兴趣爱好

4.首先OO并不是万能的,他有自己的涉及领域,而且他也有不少的缺点,一个企业应用仅仅依靠OO是远远不够的。数据库是一定要的,别听BANQ瞎说。但是他的作用在弱化,这是事实。数据永远是企业的重点保护对象,不然还需要容灾倍份干嘛。软件只是数据搬家,中间再加点转化而已。数据重要还是搬家的工具重要?数据在向海量化发展,我们对工具的要求不断的在提高。

分层主要是为了把工具分解成不同的零件,当有一天某个零件坏了,我们可以很快的把他给换掉,而不影响到其他的零件。

请大家指正我的错误,谢谢

猜你喜欢