Size: 149
Comment:
|
Size: 4499
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
[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
- 以及前示的项目管理了!
@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 的注释文本,生成干净的代码文件