Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2005-01-05 12:32:39
Size: 149
Editor: ZoomQuiet
Comment:
Revision 9 as of 2005-01-05 13:48:17
Size: 4499
Editor: ZoomQuiet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
= 文学编程 =
 * LiterateProgramming -- 文章化编程
  * 也就是那种认为源代码只是构成程序的一小部分的想法。
  * '''程序的真正主体是对它的算法、结构、目的和用法的描述——实现它的源代码并不是主要的。'''
= Leo =
 * http://webpages.charter.net/edreamleo/LeoProse.gif
 * [http://webpages.charter.net/edreamleo/front.html Leo is ...]
 * 这个纯Python 的编辑环境用最简单的代码实现了如此丰富的编程思想!
  * Leo 可以是 '''一个通用的数据管理环境'''
  * Leo 可以是 '''一个柔韧性的项目,程序或是其它数据的浏览器'''
  * Leo 可以是 '''一个项目管理器'''
  * Leo 可以是 '''一个提纲式的程序编辑器'''
  * Leo 可以是 ....
 * 下载帮助文件来学习 attachment::sbooks.chm

== 开发体验 ==
 * 通常的界面:
  * attachment::leo0-snap.jpg
  * 可以发现,Leo 仅仅使用了Tk 来实现GUI ,可以说是Python 中最轻巧,通用的GUI组织方式!
  * '''File encoding: UTF-8''' 所有的文件是以 UTF-8 编码管理的!
  * Leo 文件本身却是标准的XML文件!
  * 我开发后期全都使用Leo 管理了项目文件
    * 下载尝试: attachment::CVSanalyser.leo
 * 我喜欢的形式:
  * attachment::leo1-snap.jpg
  * Leo 4.0 以后,由于文章化编程的发展,已经实现了很多方便的功能!
  * 不过在下仅仅学会了其中几种就感觉有些离不开了!
  * 这种有强烈快感的杀手级工具,近日来就发现了 [http://wwy.iseetimes.com/blog/?q=node/view/494&PHPSESSID=bb5a4a0f6bf2ac3a1cfaff7b173c41c8 Scrapbook! FireFox 的资料管理插件!]

  * Leo 知道已经有两年了,可是一直没有使用起来....后悔!
    * 仅仅用作分类记事本:
    * attachment::leo-regbook.jpg
=== @file ===
 * 使用 '''@fiile''' 标签(directive) 就可以将 Leo 环境用作
 * '''知识管理''','''项目管理'''
 * attachment::leo-scrap.jpg
 * 以及前示的项目管理了!
  * 因为可以自动与外部文件同步哪!
  * 注意上面的截屏,在Leo 载入时,自动的将 '''@file '''指示的文件,从外部文件更新入Leo 文件了!
  * 而且,在Leo 中进行了编辑保存时,也会自动更新外部文件
  * 所以,可以象 NewEdit,UltraEdit 等等编辑环境那样来开发程序,而在外部执行调试!
    * 其实 Leo 也开放 Script 接口,你可以来开发定制一些功能的!
==== @others ====
 * 在使用 '''@file''' 标签后,
 * 可以简单的使用 '''@others'''标签来包含当前结点以下的所有结点!
 * 象XSL 中的{{{<xsl:for-each select="//.">}}} 哈哈哈!!!
 
==== 自动导入 ====
 * Leo 的 '''File/Import.../Import To @file''' 命令,支持对 C/C++/C#;Java;Python;Perl...语言的自动分析文章化组织的导入!
 * 不过,自动生成的文本中可能有一些标签:
  * {{{@ignore
@language python
}}}
  * 是不属于 '''@file''' 管理范围的,
  * 只要简单的注释掉,就可以成为标准的,可以自动同步外部文件的文本结点对象了!
  

=== @root ===
 * 是'''文章编辑环境'''的标准支持
 * 可以用以 编写文档
  * attachment::leo-doc.jpg
 * 组织代码也一样
  * attachment::leo-root.jpg
 * 章,节,段落 显式的组织在几个窗口中
 * 对应的代码中的 类,子类,函式等等也以同样的形式组织起来
 * 直观的将我们的注意力,限定在小范围的代码中
 * 而整体代码的结构,由Leo 管理了! 优雅!聪明!

==== <<section>> ====
 * 在 '''@root'''限定处理下,各子结点的引用,与包含处理是使用'''<<章节>>'''标记
 * 比如说:上一截屏中的 '''<<file>>'''
==== Tangle|Untangle ====
 * 这时,针对外部文件的同步,需要人工操作
  * '''File/Tangle.../Tangle''' - 混出
  * '''File/Untangle.../Untangle''' - 混入
  * 是一对相应的操作
    * Tangle 是将当前的编辑混出到外部文件中
    * Untangle 反之
==== @silent ====
 * 比'''@file''', 好象'''@root'''的内容管理麻烦些
 * 但是有一点好处是可以声明 '''@silent'''
 * 命令Leo 在同步文件时,不向外部文件输出 Leo 的注释文本,生成干净的代码文件
 
 

自然,方便的开发管理环境! TableOfContents

文学编程

  • LiterateProgramming -- 文章化编程

    • 也就是那种认为源代码只是构成程序的一小部分的想法。
    • 程序的真正主体是对它的算法、结构、目的和用法的描述——实现它的源代码并不是主要的。

Leo

开发体验

  • 通常的界面:
    • attachment::leo0-snap.jpg
    • 可以发现,Leo 仅仅使用了Tk 来实现GUI ,可以说是Python 中最轻巧,通用的GUI组织方式!
    • File encoding: UTF-8 所有的文件是以 UTF-8 编码管理的!

    • Leo 文件本身却是标准的XML文件!
    • 我开发后期全都使用Leo 管理了项目文件
      • 下载尝试: attachment::CVSanalyser.leo
  • 我喜欢的形式:
    • attachment::leo1-snap.jpg
    • Leo 4.0 以后,由于文章化编程的发展,已经实现了很多方便的功能!
    • 不过在下仅仅学会了其中几种就感觉有些离不开了!
    • 这种有强烈快感的杀手级工具,近日来就发现了 [http://wwy.iseetimes.com/blog/?q=node/view/494&PHPSESSID=bb5a4a0f6bf2ac3a1cfaff7b173c41c8 Scrapbook! FireFox 的资料管理插件!]

    • Leo 知道已经有两年了,可是一直没有使用起来....后悔!
      • 仅仅用作分类记事本:
      • attachment::leo-regbook.jpg

@file

  • 使用 @fiile 标签(directive) 就可以将 Leo 环境用作

  • 知识管理,项目管理

  • attachment::leo-scrap.jpg
  • 以及前示的项目管理了!
    • 因为可以自动与外部文件同步哪!
    • 注意上面的截屏,在Leo 载入时,自动的将 @file 指示的文件,从外部文件更新入Leo 文件了!

    • 而且,在Leo 中进行了编辑保存时,也会自动更新外部文件
    • 所以,可以象 NewEdit,UltraEdit 等等编辑环境那样来开发程序,而在外部执行调试!

      • 其实 Leo 也开放 Script 接口,你可以来开发定制一些功能的!

@others

  • 在使用 @file 标签后,

  • 可以简单的使用 @others标签来包含当前结点以下的所有结点!

  • 象XSL 中的<xsl:for-each select="//."> 哈哈哈!!!

自动导入

  • Leo 的 File/Import.../Import To @file 命令,支持对 C/C++/C#;Java;Python;Perl...语言的自动分析文章化组织的导入!

  • 不过,自动生成的文本中可能有一些标签:
    • {{{@ignore

@language python }}}

  • 是不属于 @file 管理范围的,

  • 只要简单的注释掉,就可以成为标准的,可以自动同步外部文件的文本结点对象了!

@root

  • 文章编辑环境的标准支持

  • 可以用以 编写文档
    • attachment::leo-doc.jpg
  • 组织代码也一样
    • attachment::leo-root.jpg
  • 章,节,段落 显式的组织在几个窗口中
  • 对应的代码中的 类,子类,函式等等也以同样的形式组织起来
  • 直观的将我们的注意力,限定在小范围的代码中
  • 而整体代码的结构,由Leo 管理了! 优雅!聪明!

<<section>>

  • @root限定处理下,各子结点的引用,与包含处理是使用<<章节: invalid macro name>>标记

  • 比如说:上一截屏中的 <<file>>

Tangle|Untangle

  • 这时,针对外部文件的同步,需要人工操作
    • File/Tangle.../Tangle - 混出

    • File/Untangle.../Untangle - 混入

    • 是一对相应的操作
      • Tangle 是将当前的编辑混出到外部文件中
      • Untangle 反之

@silent

  • @file, 好象@root的内容管理麻烦些

  • 但是有一点好处是可以声明 @silent

  • 命令Leo 在同步文件时,不向外部文件输出 Leo 的注释文本,生成干净的代码文件


-- ZoomQuiet [DateTime(2005-01-05T12:32:39Z)]

LeoEnvironment (last edited 2013-10-22 01:25:18 by ZoomQuiet)