p*****2 发帖数: 21240 | 1 Javascript搞的这么乱根源就是Java. 刚开始的要求就要往Java上边靠,靠了个不伦不
类。后来就是一帮只懂或者只学过Java的程序员来搞Javascript,就搞的乱上加乱了。
感觉拨乱反正好难呀。 |
d*******r 发帖数: 3299 | 2 你又挖新坑了
CoffeScript 或者 ClojureScript 有机会 拨乱反正 不? |
p*****2 发帖数: 21240 | 3
感觉很难呀。coffeescript加了一个恶心的class, clojurescript还是得靠clojure程
序员来发扬光大吧。但是clojure程序员还是小众呀。
JS自己都要加class了。
【在 d*******r 的大作中提到】 : 你又挖新坑了 : CoffeScript 或者 ClojureScript 有机会 拨乱反正 不?
|
r*******n 发帖数: 3020 | 4 前端WEB UI这块,用OO很自然啊
界面就是不断的变化状态
【在 p*****2 的大作中提到】 : : 感觉很难呀。coffeescript加了一个恶心的class, clojurescript还是得靠clojure程 : 序员来发扬光大吧。但是clojure程序员还是小众呀。 : JS自己都要加class了。
|
p*****2 发帖数: 21240 | 5
大牛说说不断的变化状态跟OO有啥关系呀?
【在 r*******n 的大作中提到】 : 前端WEB UI这块,用OO很自然啊 : 界面就是不断的变化状态
|
n*w 发帖数: 3393 | 6 同意,名字里还要带个java不知道混淆了多少人。 |
l**********n 发帖数: 8443 | 7 Java已经把OOP给扭曲了。js应该还原为以FP为中心的本色。
前端就是event-driven,以event和property为中心。event自然就是以function为中心
了,callback不是function是什么?前端更多的是用到mixin。所谓mixin就是一堆
property,runnable or not. |
r*******n 发帖数: 3020 | 8 界面是IO(我理解的IO操作就是更新状态),适合OO,
另外界面各种元素共同属性多,适合用OO继承做到代码复用。
【在 r*******n 的大作中提到】 : 前端WEB UI这块,用OO很自然啊 : 界面就是不断的变化状态
|
p*****2 发帖数: 21240 | 9
//你指的是imperative还是object oriented呢?是跟procedural比较还是跟
functional比较?
//共同属性跟代码复用有什么关系呢?
【在 r*******n 的大作中提到】 : 界面是IO(我理解的IO操作就是更新状态),适合OO, : 另外界面各种元素共同属性多,适合用OO继承做到代码复用。
|
r*******n 发帖数: 3020 | 10
我是指的OO 对 FP。
比如基本类window的共同属性 size
一般这样定义
int height;
int width;
int getHeight(){ return height;}
void setHeight(int h){ height=h;}
int getWidth(){return width;}
void setWidth(int w){ width=w;}
继承于window的类就自然有了size的功能。
界面元素,比如frame,dialog,button,这种共同属性比较多,
所以我觉得很适合用OO建模。
【在 p*****2 的大作中提到】 : : //你指的是imperative还是object oriented呢?是跟procedural比较还是跟 : functional比较? : //共同属性跟代码复用有什么关系呢?
|
|
|
g*****g 发帖数: 34805 | 11 Javascript is a prototype-based language, which is one style of OOP. It
incorporates first class function like most scripting language did, but it's
not a FP. It's similar to Ruby and Python. |
p*****2 发帖数: 21240 | 12
大牛说的这个,跟我的主题有什么关系吗?
【在 r*******n 的大作中提到】 : : 我是指的OO 对 FP。 : 比如基本类window的共同属性 size : 一般这样定义 : int height; : int width; : int getHeight(){ return height;} : void setHeight(int h){ height=h;} : int getWidth(){return width;} : void setWidth(int w){ width=w;}
|
p*****2 发帖数: 21240 | 13
's
对。但是很多JS程序员用Java的方式来写JS code。包括很多教科书也这么做。
【在 g*****g 的大作中提到】 : Javascript is a prototype-based language, which is one style of OOP. It : incorporates first class function like most scripting language did, but it's : not a FP. It's similar to Ruby and Python.
|
r*******n 发帖数: 3020 | 14 你的主题是Javascript ruined by Java。
Java是OO的代表,如果我理解对的话你是认为javascript不应该支持OO,
不应该有class; 我是认为javascript 主要作为web ui的前端语言,
而UI更适合用OO模型,所以我觉得javascript应该更好的支持OO;
如果加入class取代prototype我觉得是好事。
【在 p*****2 的大作中提到】 : : 's : 对。但是很多JS程序员用Java的方式来写JS code。包括很多教科书也这么做。
|
l*********s 发帖数: 5409 | 15 I don't have any web experience, but it seems to me that prototype is
similar to DOM, whereas java's OO style seems cumbersome at best.
【在 r*******n 的大作中提到】 : 你的主题是Javascript ruined by Java。 : Java是OO的代表,如果我理解对的话你是认为javascript不应该支持OO, : 不应该有class; 我是认为javascript 主要作为web ui的前端语言, : 而UI更适合用OO模型,所以我觉得javascript应该更好的支持OO; : 如果加入class取代prototype我觉得是好事。
|
p*****2 发帖数: 21240 | 16
我说的其实不是这个意思。我的意思是JS跟Java是完全不同的两种语言,除了syntax。
但是很多很多人用写Java的方法去写JS,结果把JS给搞乱了。比如你强烈推崇class,
但是JS根本就没有class这么个东西,就算准备加入的class只不过是syntax sugar, 就
是一个披着class外皮的function而已。加入之后只能是乱上加乱。Douglas Crockford
已经明确表态不会用class。而且他老也说过,JS上的绝大多数的bad parts都是从Java
过来的。如果你想用JS做OO的话,就应该用prototype来做。
【在 r*******n 的大作中提到】 : 你的主题是Javascript ruined by Java。 : Java是OO的代表,如果我理解对的话你是认为javascript不应该支持OO, : 不应该有class; 我是认为javascript 主要作为web ui的前端语言, : 而UI更适合用OO模型,所以我觉得javascript应该更好的支持OO; : 如果加入class取代prototype我觉得是好事。
|
c*******9 发帖数: 9032 | 17 什么东西都new来new去,确实很别扭。不过如果又要精简又要灵活性,DOM也不容易做
到。
【在 l*********s 的大作中提到】 : I don't have any web experience, but it seems to me that prototype is : similar to DOM, whereas java's OO style seems cumbersome at best. :
|
c*******9 发帖数: 9032 | 18 估计他想说的是共同方法。就目前看web UI还不需要,否则就和Desktop UI 没什么区
别了。
即便Desktop UI 也许有比继承更好的方式,这个可以再探讨。
【在 p*****2 的大作中提到】 : : 我说的其实不是这个意思。我的意思是JS跟Java是完全不同的两种语言,除了syntax。 : 但是很多很多人用写Java的方法去写JS,结果把JS给搞乱了。比如你强烈推崇class, : 但是JS根本就没有class这么个东西,就算准备加入的class只不过是syntax sugar, 就 : 是一个披着class外皮的function而已。加入之后只能是乱上加乱。Douglas Crockford : 已经明确表态不会用class。而且他老也说过,JS上的绝大多数的bad parts都是从Java : 过来的。如果你想用JS做OO的话,就应该用prototype来做。
|