西西河

主题:【原创】新时代新潮流WebOS 【1】 -- 邓侃

共:💬594 🌺1902 新:
全看分页树展 · 主题 跟帖
家园 说点我写JS时的感受,连带试答邓兄的问题

我自己用Javascript做过一个小东西,05年在Yahoo Widget平台上写的一个3500行代码的Widget,名字没啥创意,就叫Infobar

点看全图

因为widget的JS引擎取自mozilla,所以和firefox完全一致

写这个程序都碰上哪些问题了呢?

一、JS没有包装事件委托的Context,而是就地运行。换句话说,某object把自己的一个方法a()提交出去,当a()被第三方callback时,这个方法根本就不知道自己的爹是谁。为了解决这个问题很是费了一通脑筋。因此,我认为没有闭包是JS的一大缺点,而不是优点。Java做的就不错,nested class除了语法麻烦点,语义还是很清楚的。C#的lambda算子我很喜欢,但是语义过于动态了。

二、我对动态改变class定义没有啥深刻的认识。但是在做设计时常会碰到要把两个完全不相关的类型树融合,对于单根继承的C# java, 这种情况痛苦无比。要是换成动态语言,允许直接改动基础类的定义,那就简单的多了。

三、弱类型在小范围使用时非常高效。在大项目中使用就是灾难。这个infobar后来不再维护,起因就是一个窗口的属性会随机乱变,无从跟踪,弄了几周都搞不好,不知道是谁干的。加上vista出来啦,侧边栏这块儿有了替代品,就停止更新了。相比之下我更看好自动类型推导

四、JSON比普通的序列化语义性好,比xml清爽得多。也没有big little endian,16bit/32bit integer等问题,在JS环境下可以简单的eval,自然就流行了。

五、调试的大牛要数firebugs,当年要是有这类东西,我这个infobar绝对不会做到一半就废了,嘿嘿。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河