由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - hci, Clojure有类似windows COM那种东西吗?
相关主题
scala vs clojure ?scala 的感悟
pixie - Clojure寄生在C环境以后Web就是Node的天下了
转贴:[圣战] python 是个讨厌的语言我认为JVM上的语言,老大还是Java
Sun当年设计Java的败笔Scala 1-star, would not program again
现在学LLVM有没有前途Scala的用途
哪种脚本语言适合做代码的文本分析?Uncle Bob: Clojure is the new C
有哪些公司用Lisp开发程序functional programming lang里面 如果我说以後会大面积火的,还是lisp (clojure)
这么多人讨论 FP, 大牛推荐门语言吧大家推荐clojure几个重要的库?
相关话题的讨论汇总
话题: com话题: clojure话题: windows话题: java话题: msg
进入Programming版参与讨论
1 (共1页)
g****t
发帖数: 31659
1
windows COM可能是C++最成功的组件技术了。
例如你写个matlab那样的程序。另外一个程序要调用其画图功能。
你又不要开放源代码。那么clojure或者FP有现成的机制吗?
我初步检查,emacs是没有的。外部进程无法调emacs 改动其
buffer内容。
h*i
发帖数: 3446
2
没有

【在 g****t 的大作中提到】
: windows COM可能是C++最成功的组件技术了。
: 例如你写个matlab那样的程序。另外一个程序要调用其画图功能。
: 你又不要开放源代码。那么clojure或者FP有现成的机制吗?
: 我初步检查,emacs是没有的。外部进程无法调emacs 改动其
: buffer内容。

g****t
发帖数: 31659
3
Finally I found a nice example for OO methodology.
haha

【在 h*i 的大作中提到】
: 没有
h*i
发帖数: 3446
4
I doubt it has anything to do with OO methodology.
I don't even know what windows com is. I never programed windows. I was one
of the earliest Java people, jumped from Turbo C to Java directly.
When people were young, coolness is an important criteria for picking
technology. Windows programming was not considered cool for my generation.
People would think of VB, very uncool.
Java was cool back then, even perl was cool, so I did those.

【在 g****t 的大作中提到】
: Finally I found a nice example for OO methodology.
: haha

g****t
发帖数: 31659
5
com就是有比较丰富接口的dll吧。我的理解不一定正确。
最早是用来动态产生component的,例如word里面放个excel表格.
例如下面代码,可以python控制outlook。
我在公司gmail没办法用自动发邮件。outlook可以绕过
防火墙自己发邮件备份每天的重要事情。
import win32com.client
s = win32com.client.Dispatch("Mapi.Session")
o = win32com.client.Dispatch("Outlook.Application")
s.Logon("Outlook2003")

Msg = o.CreateItem(0)
Msg.To = "[email protected]"

Msg.CC = "more email addresses here"
Msg.BCC = "more email addresses here"

Msg.Subject = "The subject of you mail"
Msg.Body = "The main body text of you mail"

attachment1 = "Path to attachment no. 1"
Msg.Attachments.Add(attachment1)
Msg.Send()

one

【在 h*i 的大作中提到】
: I doubt it has anything to do with OO methodology.
: I don't even know what windows com is. I never programed windows. I was one
: of the earliest Java people, jumped from Turbo C to Java directly.
: When people were young, coolness is an important criteria for picking
: technology. Windows programming was not considered cool for my generation.
: People would think of VB, very uncool.
: Java was cool back then, even perl was cool, so I did those.

h*i
发帖数: 3446
6
Don't see anything uniquely OO methodology there.

【在 g****t 的大作中提到】
: com就是有比较丰富接口的dll吧。我的理解不一定正确。
: 最早是用来动态产生component的,例如word里面放个excel表格.
: 例如下面代码,可以python控制outlook。
: 我在公司gmail没办法用自动发邮件。outlook可以绕过
: 防火墙自己发邮件备份每天的重要事情。
: import win32com.client
: s = win32com.client.Dispatch("Mapi.Session")
: o = win32com.client.Dispatch("Outlook.Application")
: s.Logon("Outlook2003")
:

g****t
发帖数: 31659
7
The Msg object is generated dynamically when you call the com server.
It is some executable code segment.
The name/Id "Msg" works well as a handler/pointer that you can link to other
things that you want to do.
Msg.Body ---- property of email body
Msg.Send() ---- send method

【在 h*i 的大作中提到】
: Don't see anything uniquely OO methodology there.
x****u
发帖数: 44466
8
这个叫automation,就是idispatch接口实现的reflection包装
老实讲有无数c++轮子,但com是最流行的

【在 g****t 的大作中提到】
: com就是有比较丰富接口的dll吧。我的理解不一定正确。
: 最早是用来动态产生component的,例如word里面放个excel表格.
: 例如下面代码,可以python控制outlook。
: 我在公司gmail没办法用自动发邮件。outlook可以绕过
: 防火墙自己发邮件备份每天的重要事情。
: import win32com.client
: s = win32com.client.Dispatch("Mapi.Session")
: o = win32com.client.Dispatch("Outlook.Application")
: s.Logon("Outlook2003")
:

g****t
发帖数: 31659
9
Idispatch Iunknown的设计还是很牛的。JVM上面有类似的东西吗?
browser? LLVM?

【在 x****u 的大作中提到】
: 这个叫automation,就是idispatch接口实现的reflection包装
: 老实讲有无数c++轮子,但com是最流行的

h*i
发帖数: 3446
10
这就很牛了?这不还是dispath on type么?Lisp的multimethods能dispatch on
anything。
实在要dispatch on type, Clojure的Protocol能给任何类(包括别人写的类,JVM自
己的类,whatever)强加上任何interface,所以你想要干嘛就干嘛。

【在 g****t 的大作中提到】
: Idispatch Iunknown的设计还是很牛的。JVM上面有类似的东西吗?
: browser? LLVM?

g****t
发帖数: 31659
11
这个要从编译器绕个弯进去。
重用的是动态生成的可执行代码。但是本身又没有包含一个编译器。
需要考虑编译器细节。
难度和解释语言不同。尽管原理最后都是查方法的lookup table什么的。

【在 h*i 的大作中提到】
: 这就很牛了?这不还是dispath on type么?Lisp的multimethods能dispatch on
: anything。
: 实在要dispatch on type, Clojure的Protocol能给任何类(包括别人写的类,JVM自
: 己的类,whatever)强加上任何interface,所以你想要干嘛就干嘛。

1 (共1页)
进入Programming版参与讨论
相关主题
大家推荐clojure几个重要的库?现在学LLVM有没有前途
有人搞編譯器麽?哪种脚本语言适合做代码的文本分析?
大家用python 调用C++是如何搞的有哪些公司用Lisp开发程序
golang為什麼語法和關鍵詞這麼冷門?这么多人讨论 FP, 大牛推荐门语言吧
scala vs clojure ?scala 的感悟
pixie - Clojure寄生在C环境以后Web就是Node的天下了
转贴:[圣战] python 是个讨厌的语言我认为JVM上的语言,老大还是Java
Sun当年设计Java的败笔Scala 1-star, would not program again
相关话题的讨论汇总
话题: com话题: clojure话题: windows话题: java话题: msg