Automation 为什么不';是否有更多编程语言具有与窗口管理器的内置接口?

Automation 为什么不';是否有更多编程语言具有与窗口管理器的内置接口?,automation,x11,autohotkey,window-managers,Automation,X11,Autohotkey,Window Managers,编程是计算机任务自动化的核心。 大概这些任务通常由人工完成。 人类通过键盘、鼠标以及与控制台或窗口管理器的交互来使用计算机但是很少有语言具有内置函数来为这些基本计算对象提供接口。 一个值得注意的例外是autohotkey,它是windows上的一种开源语言,提供内置函数,允许执行以下简单任务: *获取像素信息 *获取鼠标位置 *键盘宏 *模拟关键笔划 *模拟鼠标点击 *窗口管理 请参见上的示例 在linux上已经有过各种尝试,其中许多都没有解释就被停止了。 一个是非活动的tcl库:android

编程是计算机任务自动化的核心。
大概这些任务通常由人工完成。
人类通过键盘、鼠标以及与控制台或窗口管理器的交互来使用计算机
但是很少有语言具有内置函数来为这些基本计算对象提供接口。

一个值得注意的例外是autohotkey,它是windows上的一种开源语言,提供内置函数,允许执行以下简单任务:
*获取像素信息
*获取鼠标位置
*键盘宏
*模拟关键笔划
*模拟鼠标点击
*窗口管理
请参见上的示例

在linux上已经有过各种尝试,其中许多都没有解释就被停止了。
一个是非活动的tcl库:android。用谷歌代码搜索android,lang:tcl

我怀疑这个前提是真的。Java可以做所有这些,除了“窗口管理”,因为我不知道这是什么意思

如果你不能用c做这件事,我会很惊讶


如果有许多语言不能做到这一点,我猜这是因为如果不将语言与操作系统绑定,很难做到这一点。

没有人机界面设备交互的计算机执行的任务数量远远超过了由人类直接驱动的任务。

编程语言尝试(或至少目前正在尝试)独立于平台。例如,在.net中,您必须引用一些Win32 api来完成上面指定的一些工作。将其内置在核心编程语言模型中,.net将与操作系统耦合得太多,因此,创建其单声道对应项将太单调乏味


关于击键、宏和一些东西,我现在最简单的方法是使用true vbscript或powershell:)

我编写web服务器代码。没有人与代码交互。它只是Apache的许多复杂插件

人类通过键盘、鼠标以及与控制台或窗口管理器的交互来使用计算机

对我来说,这是完全错误的。“用户”通过HTTP发送请求。没有键盘,没有鼠标,没有控制台,没有窗口管理器

用户可能正在使用某种奇特的GUI,但这对我或我的软件都无所谓。我看到的只是HTTP GET和POST请求。纯文本

“但很少有语言具有内置函数,为这些基本计算对象提供接口。”


对。我不使用键盘、鼠标、控制台或窗口管理器。

所有个人计算平台都有这样的库

问题是,这需要在所有系统上标准化用户交互。Java尝试了这一点,但没有取得很大成功。还有其他一些库或多或少取得了成功,Qt可能是迄今为止最有希望的库


当然,为一个平台编写一种包含所有UI基础知识的语言是可能的。也可以用GUI和库来伪造它。然而,无论是否有GUI,我们都有理由想要一种在任何主要平台上都可用的语言。

首先,我想你会问,为什么编程语言的标准库没有内置的窗口管理器接口。语言本身及其库是截然不同的

一个重要原因是可移植性。如果一种编程语言的库中有太多的特定函数,则很难将其移植到其他系统。例如,I/O、数学函数、字符串、各种数据结构和相关算法都是通用的,几乎可以在任何计算机上工作


但是,像窗口管理器、GUI等,它们更特定于某些平台,这就是为什么它们不包含在标准库中的原因。这就是C/C++如此便携的原因。

你认为语言的“标准库”是语言本身的一部分还是内置的?例如,
文件是否内置于C编程语言中,因为它位于C运行时库中?请将其设置为社区Wiki。没有编程,也没有真正的答案。>没有编程…
我发布了几个编程任务,以及实现它们的代码链接。@Naveen:编程一词与发布代码示例不同。没有密码。这使得这成为一个边缘问题。此外,没有合适的答案——这是一个讨论的话题。请将其设置为社区Wiki.S.Lott:>编程与发布代码示例不同。没有密码。您想用java发布示例代码吗?比如说键盘宏:我相信编程将是未来人们的一项基本技能。用户将是程序员!您可以限制自己编写服务器代码,但希望自动与服务器交互的用户将使用键盘、鼠标或窗口管理器。他们会比你多得多。纳文:没错,关键是这一点。GUI不是语言的一部分。GUI是一个附加组件。这是我的观点。用户界面应该是语言的一部分(如果是一个插件,则是一个紧密结合的插件)。。。顺便说一句,键盘不是图形化的,窗口也不必是图形化的(文本窗口(可见或不可见)也适用)。@Naveen:你没有领会我的意思。它不足以使它成为语言的第一流部分。它方便的情况——虽然很重要——并不是该语言的唯一用例。GUI必须是可选的,就像web应用程序一样。我很乐意使用可选的。对于大多数主流语言来说,它甚至不是一个选项,忘记一个内置的。共有13000名注册用户,相比之下,约30000名注册用户和15000名注册用户需要“一流的用户界面访问”