把这几天有关技术的东东都随便说一下,没有什么主题,题目是随便写的。
从令狐的一篇《声音》链到这两篇《 》和《我眼中的Python》。
在ABP那个贴子里,ajoo说得很在理(就是被令狐收录的那段^O^)。而在JAVAEYE的那个贴子里,ajoo也跟了一贴,对贴主Robbin所说的:我虽然使用Java开发软件已经有5年的历史了,但是能不用Java的时候,我一定不会用Java的。表示同意。
没有什么语言是万能的,必须根据实现情况选择合适语言进行开发。
但这同样会有问题。
昨天和令狐在MSN讨论了一下他最近接触的WebWork–一个JAVA的轻量级WEB开发框架,谈到其中的非侵入WEB应用实现。令狐说:
在以前的框架比如Structs里,你无法独立测试这些模型,因为他们跟框架本身有耦合(extends了Structs中的Action基类),所以,除非把整个框架跑起来,否则不能测试。
而在WebWork中,用户是通过实现接口来和框架进行耦合的,而我们知道,接口本身是一个虚的东西,并没有实际的代码,所以,这个模型实质上是和框架独立开的(除了对接口的一个import之外)。所以,它可以独立测试。至于测试所需的上下文,在WebWork中也有考虑,你可以通过实现一个简单的MockObject来模拟用户提交过程。
我说,这正是我理想中的Web解决方案。
但是这样的方案要移植到别的语言上就会有困难。C++就算了,Python倒还可以考虑。^O^
令狐还发现JAVA中的JMX正是他早就想要实现的一个通用管理框架。
我们的感觉就跟JAVAEYE那位Robbin对Python/Zope/Plone所作的形容:……直到我看到了python和zope,我终于找到了梦寐以求的东西,兼有脚本语言开发的高效率,兼有低部署成本的易用性,同时又有完备的面向对象的强大支撑能力,同时又具备完善的强大的appserver支持。最令我生气的还是plone,这个运行在zope之上的软件,你可以称之为portal,或者称之为cms,或者其他的什么名词,但是我知道它几乎可以实现任何网站想要实现的功能。……
令狐说:我们的视野还是不够宽。而且还是比较矛盾。不接触么有些东西别人做了很多自己还在傻乎乎的想,接触太多么又没那么多精力。
其实视野宽了也很郁闷。
如何取舍?如何整合?都是问题。
比如前面说的移植,我最近一直在尝试将JAVA的轻量级容器的思路移植到DELPHI下,但问题是一堆接着一堆。上次我说过我试图用DELPHI自动的接口变量引用计数来模拟GC–本质上跟C++中的带引用计数的SmartPtr差不多。但结果却是很难看:
定义一个:IGCInterface = interface
提供一个:function GetObject : TObject;
再定义一个:TGCObject = class( TInterfacedObject, IGCInterface )
实现GetObject:Result := Self;
本来想说只要让一个CLASS从TGCObject派生即可,但使用中却发现因为Delphi没有template,不支持GP,所以应用代码就会变成:
TMyGCObject = class( TGCObject )
…
obj : IGCInterface;
…
obj := TMyGCObject.Create…
( obj.GetObject As TMyGCObject ).doSomething…
不但难看,而且需要进行动态的向下类型转换,存在着出错的风险和性能的问题。
貌似这样说来,支持GC和GP的C#是一种各种特性都比较平衡的“好”语言。但是.net平台却一直是阻碍重重。比如我自己,常用的三台电脑中,只有一台装了.net(这也是我后来舍弃SharpReader改用Sage的一个重要原因)。上次DDJ的一位.net专家宣布退出.net圈子,而MS的Charles Sterling的一句话又被这位周星星同学批了一通。呵呵。
最近感觉比较混乱,今天先写到这。
我第一
>>最近感觉比较混乱,8写乐。……。偶发现撩可以8的素材也。有米有人来继续发掘。~:p
-_-|||C彩旗8厚道啊 TOT
务虚一点就没这么多烦恼了。
DELPHI不支持GP,我也一直曾想在设计上用各种技巧绕过它….结果往往是开始容易,后来某些地方卡住便吐血数升…想到CORBA与COM的 IDL编译器到如今仍然有很强生存力..有了一个估计可能很馊的主意..干脆扩展DELPHI语法,使用插件,进行预编译…
最近感觉比较混乱,今天先写到这。汗ing~~~~我是看得比较混乱,晕的说!
TO:哈欠偶已经中JAVA的毒太深,也认为“代码生成是一种恶行”,所以我在试图用DynamicProxy来取代CORBA/COM那样的IDL/MIDL。^O^
多谢推荐这篇介绍Python的文章,写的很不错。可惜偶也是讨厌scripting language的人,使用python纯属被迫,因为IBM的WebSphere选Python为其admin语言之一。
愁死我了看不懂的说
和楼上的同愁。:P