阅读更多

据国外媒体今日报道,美国麻省理工学院开发的一种最新技术,使得编程人员可以使用截图替代代码,从而简化代码编写流程。


 

  在上世纪80年代以前,要使用电脑软件需要记住大量的命令才完成相应的任务。但随后出现了GUI(图形用户界面),使用者只需要借助直观的按钮 或其他视觉元素即可操作软件。但GUI的出现并没有给程序员带来便利,他们仍然需要借助代码来实现相应的功能。如果要让不同的软件相互配合,也同样要进行 代码调用。

 

  而麻省理工学院开发的Sikuli项目则可以使得这一过程变得更加简单,只需要略懂一点编程语言即可完成简单的编程和程序间的调用。利用Sikuli,用户要使用其他的界面元素,或调用其他程序,不必输入代码,只需要插入相应的按钮或图标截图即可。

 

  例如,当编程人员想要编写一个脚本,实现如下功能:当所上班时所乘坐的公交车到达某一站时,自动向手机发送一条提示信息。如果是在以前,需要对 相应的坐标进行确定,并通过文本的方式将其编写成代码。而如果在当地公交网站上有一个通过谷歌地图绘制的公交路线图,而且上面有活动的路标,那么编程人员 便可将路标移动到需要发送短信的位置,并进行截图。这样一来,只需要将该截图插入到If之后,即可设定好条件语句,从而触发特定的信息。当然,这同样需要 具备一些基本的编程基础。

 

  当用户需要调用其他程序时也可以使用这一功能,例如,需要调用其他程序上的某个功能,则只需要将该功能所对应的按钮截图插入到代码中对应的位置即可。

 

  除了方便编程外,该技术还可以用于进行大规模的程序测试。例如,测试某一按钮是否正常工作。这时,通过Sikuli来调用待测试的按钮便可节约大量时间。

 

  此外,Sikuli还可用于可视化搜索。例如,对生活中的某一事物拍摄照片,即可搜索相关的信;或是在某一地区迷路,只要将周围环境的照片上传到搜索引擎,便可得到相应的地理位置。谷歌此前推出的Goggles也具备了类似的功能。

 

  据麻省理工学院的研究人员介绍,Sikuli的工作模式与人眼一样,直接识别图像,而不是底层代码,因此因此不会产生不兼容的问题。Sikuli在墨西哥维乔印第安人(Huichol Indians)的语言里是“上帝之眼”的意思。

来自: sina
9
5
评论 共 9 条 请登录后发表评论
9 楼 yangtsefisher 2010-01-26 18:48
所谓“面向图片”的编程,关键是已经有实用性的脚本语言http://sikuli.org/出来了,试了一下,速度还可以,在GUI自动测试,图片搜索方面大有可为啊。
作者是台湾的,就是写“追求神乎其技的程式设计之道”的那个小子,下面是他的博客http://blog.vgod.tw/
8 楼 yiwenshengmei 2010-01-22 16:18
我更希望IDE变得越来越漂亮,而不是让代码变得"漂亮",因为前者能让我工作时有个好心情,而后者却颠覆了我的常识.
7 楼 aChip 2010-01-22 14:48
这种编程方式太过造作,程序的特定环境太多,不是引用一个GoogleMap的特例可以说清楚的,必须要有强大是视觉识别引擎和宇宙量的知识库,就是上帝之眼打开了才会实用。但计算技术真正达到上帝之眼的状态时,绝对不会使用这种IDE界面和语言,是使用一种叫做“小秘”的语言,IDE界面和编程语言和现在广大老板正在使用的完全兼容,一处编译,到处调戏。
但是到那个时候,电子商务又回到了供销社时代,因为已经发生了无数起电脑偷窃主人的网银密码,在淘宝上购买一种叫做“无影手”和“香港脚”的外设,安装后对主人进行报复后潜逃的案例,工信部决定对所有电脑进行备案,在CPU中安装驴爸,一旦发现电脑思想不崇高,不跟D走,立即自我引爆。同时取消银行卡,电子商务的使用,取而代之的是白花花的银两。
Teok 写道
MIT果然高人辈出啊,前几天印度小子的那个项目,已经给世界一波了。。

印度小子的思想比这有很多可取之处,但是没有把技术好好弄上去,估计是让胜利冲晕了头脑,比如投影机的连最基本的防抖功能都没有,也不会锁定投影位置,对于像我这种取暖基本靠抖的人一到冬天根本没法使用。
6 楼 sky_zhangyf83 2010-01-22 13:02
期待。。。
5 楼 pengchhx 2010-01-22 11:37
4 楼 pengchhx 2010-01-22 11:36
当所上班时所乘坐的公交车到达某一站时,自动向手机发送一条提示信息。
3 楼 Teok 2010-01-22 10:02
MIT果然高人辈出啊,前几天印度小子的那个项目,已经给世界一波了。。
2 楼 liucunliang 2010-01-21 20:56
恩,神奇。 估计还是很有局限性吧
1 楼 altchen 2010-01-21 17:00
我草 。。这么神奇。。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 定制记事本个性平时摘录临时记录文本使用。可以自动监控剪切板自动摘录复制的内容到记事本,打印,系统工具调用,透明度,置顶等

    工作当中经常要用到记事本,或临时摘抄文本,如果不能置顶,需要来回切换窗口,有时候想边看边输入很麻烦,这时候就需要窗口置顶。有时候不想被遮盖文字,就设置透明(快捷键alt+上,下,左箭头),省事操作可自动摘抄复制内容,边看边摘录。自动监控剪切板功能(快捷键alt+c,复制需要的文本会自动添加到记事本,关闭时提醒保存)非常省事。每次复制自动换行,过滤(换行变空格等)更多功能可定制哦。全局热键功能使用及界面介绍参阅https://blog.csdn.net/uaime/article/details/124473210 有更好建议欢迎提出,空闲时更新一下。

  • ADO

     一、左边Treeview选择,右边grid显示详细   1、分别绑定adoquery1,adoquery2;adoquery2的datasource设置为datasource1 ,adoquery的sql:select * from X where id=:ID----------“:ID”为adoquery1的sql中的字段

  • Delphi文件拷贝

    //文件拷贝 procedure TbsFileUrlPop.copyFile(Sender: TObject); var f1 : tfilestream; f2 : tfilestream ; begin try f1:=Tfilestream.Create('\\10.180.5.238\share\1234.rar',fmOpenRead); ...

  • Delphi ClientDataSet复制记录

    数据源记录集:ClientDataSetSource;目标记录集:ClientDataSetCopy 1)复制一条记录。   ClientDataSetCopy.Close;   ClientDataSetCopy.Fields.Clear;   ClientDataSetCopy.FieldDefs.Clear;   //复制字段定义   ClientDataSetCopy.Fiel

  • Delphi ADOQuery 的一些操作

    Prepared用来确定ADOquery是否要准备好了再查询,如设为true,则系统会先编译后再运行,在多次重复使用某一查询的情况下能有效提升运行速度,但对于只执行一次的查询反面会导致速度下降(编译会消耗时间): adoquery.sql.text:='select * from table1' adoquery.prepared:=true; while condition do adoquery.open; end; ADOQuery.Prepared属性的True/False与ADOQuery.P.

  • Delphi开发学习二:使用ADOQuery控件对SQL数据库表进行操作

    在delphi学习一中,已经使用ADOConnection控件设置属性连接数据库SQL了。 在这里开始使用ADOQuery控件对SQL数据库表进行操作。 首先我们在SQL中创建数据库名为PERSONNELMG_SYS的数据库,然后在这个数据库里创建USER_TABLE表,用来存放用户账户信息。 USER_TABLE表的结构如下图所示: 该表有用户名(USER_NAME) 、用户密码(USE

  • copy线上数据库到本地

    有的时候线上的数据不能随意修改,这时候我们可以copy线上数据库到本地,修改application.properties文件的数据库连接信息为本地,就可以大胆的测试自己的接口了~ 1.在本地创建一个数据库 2.copy线上数据库 选中要copy的数据库—右键—转储SQL文件—结构和数据… 这时将SQL文件保存在桌面备用 3.copy线上数据库到本地 连接本地数据库,选中本地数据库—右键—运行SQ...

  • 按键精灵之自动复制粘贴到Excel单元格中

    按键精灵之自动复制粘贴到Excel单元格中#本文将分享按键精灵(Q语言)的一个脚本使用,自动实现从输出窗口A中,将输出的数据内容复制,然后粘贴到事先设置好的Excel表格B中。

  • 用python制作的粘贴板小工具,复制的内容自动保存在文件中,遇到喜欢的文字,只需要Ctrl+c,最后再找对应的txt,就不用打断浏览节奏了。

    开启应用后,粘贴板的文字会自动存在生成的pasteHelper中。可能应用于,浏览文章时,有摘抄记录的小伙伴。遇到喜欢的文字,先Ctrl+C,最后再去粘贴板小工具所在的文件夹,找到对就的txt文件,你复制的文字都在那里啦。 下载地址: ...

  • 新增记录时复制某一条记录的示例.mdb

    新增记录新增记录时复制某一条记录的示例.mdb

  • windows下实现文件自动复制与转移

    我们可以利用系统自带的copy命令进行复制转移.如:copy  D:\gmdata\*.* E:\gmdataback\ 就是说把D盘的gmdata文件夹下的所有文件复制到E盘gmdataback文件夹里面.首先我们新建一个文本文档,把copy  D:\gmdata\*.* E:\gmdataback\的语句复制进去并保存,然后文件的后缀名改为bat,改完后,则可以双击运行.

Global site tag (gtag.js) - Google Analytics