阅读更多

8顶
0踩

编程语言
近日,开发者Chris Grainger(前微软Visual Studio开发团队成员)在其个人网站中介绍了一款新型的IDE——Light Table。该IDE基于一个简单的理念:代码需要在一个积极的环境中编写,并能够显示它正在做什么,以及如何探索和编辑它。

一个好的IDE应该基于以下原则:

  • 你不应该也不需要去查找文档
  • 文件不是代码最好的表现方式,而只是一种比较方便的存储形式
  • 编辑器应该可以在任何地方显示任何内容,而不仅仅是文本
  • 即时反馈,对代码的改动能立即显示结果
  • 能够显示相关的代码
这些想法在其他IDE中可以通过代码提示和自动完成功能来实现,但最重要的区别是:在Light Table中,代码是活的,你可以看到你所创建的内容正在做什么。

下面来看看在Light Table中如何体现这些原则:

1.  文档无处不在

在Light Table中,与代码相关的信息会直接显示在侧边栏。把光标放到上面就可以显示详细的信息。



这对于处理一些你不了解的函数特别实用,你无需再去查找外部文档了。



2.  即时反馈

能够即时显示代码的结果,例如,当输入(+ 3 4)时,不需要按Ctrl+Enter之类的快捷键,即可直接在右侧显示结果7。



甚至还会显示整个计算过程。这允许开发者尝试不同的参数,并能够快速地得到反馈。



3.  “绘图台”功能

在开发中,我们没必要把自己限制在一个以文件为最小操作单位的世界里,当我们能通过概念层次对代码进行管理时,我们可以看到更多更复杂的代码之间的交互及影响,这可以通过“代码气泡”(更直观、容易地查看代码片段)的形式来实现。这类似于其他行业工程师所拥有的大工作台,在工作台上可以放置图纸、工具和其它有用的东西。



甚至你可以在Light Table工作台中直接嵌入所开发的游戏,这样就可以排查每行代码,把问题抛给Light Table。



4.  光照模式

在“光照模式”下,Light Table能够直观地显示当前编辑的代码中使用到了哪些方法,并在侧边栏中显示这些方法的代码实现。



目前,Light Table只是一个原型系统,只支持Clojure,但Chris计划推出一个基于该原型的开源项目,进一步推动Light Table的发展。Chris称,未来Light Table将支持JavaScript。

视频演示:Light Table
  • 大小: 52.6 KB
  • 大小: 32.3 KB
  • 大小: 8.7 KB
  • 大小: 17.7 KB
  • 大小: 87.8 KB
  • 大小: 103.5 KB
  • 大小: 97.4 KB
8
0
评论 共 11 条 请登录后发表评论
11 楼 oaklet 2012-04-18 23:58
lisp???
10 楼 dsjt 2012-04-18 21:01
听上去非常新鲜,真有想象力
9 楼 plusoft 2012-04-18 19:03
看不懂。
鉴定完毕。
8 楼 ioly 2012-04-18 16:38
刚用clojure写了个东西,正好拿来练练
7 楼 samfisher 2012-04-18 16:24
所见即所得,firebug就是IDE的终极目标
6 楼 dave_luo 2012-04-18 14:29
称得上智能IDE.
5 楼 dave_luo 2012-04-18 14:29
称得上只能ide
4 楼 mjlixm 2012-04-18 09:19
比较适合调试用吧
3 楼 weng 2012-04-18 08:57
一直努力尝试emacs
2 楼 geminiyellow 2012-04-18 07:39
1 楼 rainv 2012-04-17 20:48
很诱人,很有创意。但是即时显示结果也就只能html能做到吧。

发表评论

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

相关推荐

  • 【Unity3D进阶4-15】Lua热更新

    Lua语言支持面向对象编程和函数式编程,它提供了一个通用类型的表table,可以实现数组、哈希表、集合、对象的功能。 Lua支持协同进程机制。 作为一门可扩展的语言,Lua提供简单而稳定的交互接口,如Lua和C程序可...

  • Java 之父 James Gosling 最新访谈:JIT 很好,但不适合所有语言

    计算机编程确实是一门艺术。James Gosling,“Java 之父”, 完成了 Java 的原始设计,并实现了 Java 最初版本的编译器和虚拟机。90年代初,James Goslin...

  • 最全编程开发常用单词词汇

    面向对象编程 常用 JDK(Java development kit) java开发工具包 常用 JVM(java virtual machine) 虚拟机 常用 classpath 类路径 常用 Version 版本 常用 author 作者 常用 java 解释命令 常用 ...

  • Java并发编程常见面试题总结

    梳理Java并发编程相关的面试题,主要参考《JAVA并发编程实战》(Brian Goetz, Joshua Bloch, David Holmes, Tim Peierls, Joseph Bowbeer, Doug Lea 著, 韩锴, 方妙 译)一书,其余部分整合网络相关内容。

  • 计算机编程 常用术语英语词汇大全 记忆

    第一部分、计算机算法常用术语中英对照 Data Structures 基本数据结构 ...第二部分、编程词汇 ...概念 concrete 具体的 concrete class 具体类 concurrency 并发、并发机制 ...

  • 计算机编程常用术语英文词汇

    data table 数据表 (for database) datagram 数据报文 DBMS (database management system)数据库管理系统 (for database) DCOM (distributed COM)分布式COM dead lock 死锁 (for database) deallocate ...

  • 计算机编程英语词汇大全

    data table 数据表 (fordatabase) datagram 数据报文 DBMS (database management system)数据库管理系统 (fordatabase) DCOM (distributed COM)分布式COM dead lock 死锁 (for database) deallocate 归还 ...

  • 编程术语英汉对照

    基础型别 ( 等同於 base class)   batch 批次(意思是整批作业) 批处理   benefit 利益 收益   best viable function 最佳可行函式 最佳可行函式  (从 viable functions 中挑...

  • 计算机编程语言 | C 语言浅析

    C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。海风教育退费 海风教育在线辅导0元一对一试听课等你来领取,领取课程方法: 1、私...

  • 计算机编程词汇

    data table 数据表 (fordatabase)  datagram 数据报文  DBMS (database management system)数据库管理系统 (fordatabase)  DCOM (distributed COM)分布式COM  dead lock 死锁 (for database)  ...

  • 计算机编程常用词汇

    data table 数据表 (for database)  datagram 数据报文  DBMS (database management system)数据库管理系统 (for database)  DCOM (distributed COM)分布式COM  dead lock 死锁 (for database)  ...

  • 软件编程常用术语表

    软件编程常用术语表

  • 嵌入式C编程的代码优化小技巧

    常用代码优化的方法 优化永远是追求一种平衡,而不是走极端。...idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句...

  • other -> 计算机编程及常用术语英语词汇大全

    data table 数据表 (for database)  datagram 数据报文  DBMS (database management system)数据库管理系统 (for database)  DCOM (distributed COM)分布式COM  dead lock 死锁 (for database)  ...

  • 编程人员不得不知的高频专业词汇***

    编程人员不得不知的高频专业词汇*** A2A integration A2A整合 abstract 抽象的 abstract base class (ABC)抽象基类 abstract class 抽象类 abstraction 抽象、抽象物、抽象性 access 存取、访问 access level访问...

  • Unity3d 周分享(20期 2019.6.30 )

     与传统的面向对象的游戏系统设计方式相比,Unity的新ECS功能可以实现巨大的性能提升,但面向数据的设计是一种截然不同的思维方式。观察如何以面向数据的方式思考,以便您可以利用这些新功能。演讲人:Elizabeth ...

  • 开发为王!顶级编程人员推荐软件

    在"互联网+"时代,为了更好地发挥网络资源,开源已经是大势所趋。其中最具代表性的要数Linux。由于Linux开放源代码的特性,越来越多的中大型企业、政府投入更多的资源开发Linux。而开源的编码器也是形形色色,看得让...

  • R数据分析:方法与案例详解--自学笔记

    数值型(numeric) 整数 小数 科学数 字符型(character) == 夹杂单引号或者双引号之间==“MR” 逻辑型 ==只能读取T (TRUE)或 F (FALSE)值 复数型 a+bi 原始型(raw) 以二进制形式保存数据 默认值(missing ...

  • 大学生创新创业训练计划经验分享.zip

    大学生创新创业训练计划(以下简称为“大创计划”)是一项旨在提升大学生创新能力和创业精神的实践活动。通过这项计划,学生可以在导师的指导下,自主开展研究性学习和创业实践。下面我将分享一些关于大创计划的经验和建议。

  • node-v12.22.3-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics