阅读更多

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 ...

  • 基于Matlab/Simulink的风电调频与风储联合频域模型仿真及应用

    内容概要:本文介绍了利用Matlab/Simulink进行风电调频与风储联合仿真的方法。针对传统时域仿真耗时的问题,提出了一种基于频域模型的方法,实现了快速高效的仿真。文中详细描述了虚拟惯性控制和储能下垂控制的具体实现方式及其对系统频率稳定性的影响。通过频域模型,将复杂的微分方程转化为简单的矩阵运算,显著提高了仿真速度。同时,加入了SOC(荷电状态)管理和滑动平均滤波,确保了储能系统的安全可靠运行。实验结果显示,在相同的硬件条件下,频域模型的仿真速度比传统时域模型快了近十倍,且频率偏差明显减小。 适合人群:从事电力系统仿真、风电调频研究的专业人士和技术爱好者。 使用场景及目标:适用于需要快速验证风电调频控制策略的研究人员和工程师。主要目标是在保证仿真精度的同时大幅提高仿真速度,为风电并网提供技术支持。 其他说明:本文提供的模型专注于调频性能分析,不涉及风机内部动态细节。对于更详细的风机模型,作者提供了进一步的参考资料。

  • 含碳交易与绿证的智能楼宇微网优化调度模型及其MATLAB实现

    内容概要:本文介绍了一种针对电热综合能源系统的优化调度模型,该模型在传统微网(风、光、储、火)的基础上加入了电动汽车(EVs)和智能楼宇单元,并引入了碳排放和绿色证书交易机制。模型通过MATLAB和YALMIP工具进行求解,主要关注于优化能源分配方案,降低整体成本并控制碳排放。文中详细讨论了模型的目标函数设计、约束条件设定、电动汽车充放电策略、智能楼宇温控负荷预测、绿证交易价格机制等方面的内容。实验结果显示,在考虑碳交易和绿证交易的情况下,系统的灵活性和经济性均有所提高。 适合人群:从事电力系统优化、智能楼宇设计、电动汽车调度等领域研究的专业人士和技术爱好者。 使用场景及目标:适用于希望深入了解电热综合能源系统优化调度方法的研究人员,尤其是那些对碳市场和绿证交易感兴趣的从业者。目标是提供一种能够有效整合多种能源形式并兼顾环境效益的解决方案。 其他说明:文中提供的代码片段展示了具体的实现细节,对于想要进一步探索相关领域的读者具有很高的参考价值。此外,作者还分享了一些调参经验和遇到的问题解决办法,有助于初学者更好地理解和应用这一复杂的优化模型。

Global site tag (gtag.js) - Google Analytics