leo学习系列之一——leo介绍

2024-01-21 13:59
文章标签 学习 介绍 系列 leo

本文主要是介绍leo学习系列之一——leo介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--一些介绍

随着时间的推移,相当多的读者向我推荐 Leo。Leo 是与我所提到的其他编辑器/IDE,或者大多数读者将要使用的任何东西都很不相同的一类应用程序。Leo 的根本特点在于 Donald Knuth 的“literate programming”的概念——也就是那种认为源代码只是构成程序的一小部分的想法。程序的真正主体是对它的算法、结构、目的和用法的描述——实现它的源代码并不是主要的。总之,这是一个概念;我并没有对此深信不疑,我也并不确认这种想法是错误的。

图 3. 欢迎使用 Leo

Leo 界面的屏幕快照

一个 Leo 工程被组织为一组要点,这些要点基本上是一个对应到程序中的分层的可折叠的 内容(节点)树。一些节点包含有源代码片段,一些节点包含的是文档,还有一些节点主要是组织深层的子节点。在树中选择一个节点可以在编辑区中显示出代码或者相关内容。例如,一个 Python 模块通常会作为一个节点,并包含对应于它的类的子节点。每个类节点可能包括一些文档,还会有一组方法节点。结果是,这种对节点的组织在编辑环境中产生了深层次的折叠;但是一个节点远不只是一个折叠点——例如,节点可以被克隆,所以在一个大的工程中,同一个节点可以出现在多个相应的位置。

可以通过 tangling和 untangling 工程来在 Leo 工程外部创建实际的源代码,或者将其导入到 Leo 工程。例如,Leo 可以很好地从一个存在的 .py文件中自动生成要点。当然,您还可以从头开始一个 Leo 工程,并指定哪些内容被写入到哪些文件 (用什么语言、代码或文档)。节点的描述详细说明了当 untangle 时哪些需要被写入,以及这些部分的外观和行为。

对编辑者来说,Leo 的内容区与 IDLE 是等同的。Leo 中的交互式 Python shell 实际上看起来是直接借用于 IDLE。但是 Leo 并没有真正致力于传统的代码编辑问题——而是作为组织者、工程工作空间以及结构化开发环境。Per Knuth 的观点认为实际的代码只不过是外围的东西。

事实上,我还没有真正充分使用 Leo,以完全 理解它所推崇的开发风格。我觉得它可能对很多类工程来说是确实有用的,包括应用程序和文档——但是这需要去适应 Leo 的风格。尽管如此,我的许多读者对它还是非常推崇。



选自:http://www.ibm.com/developerworks/cn/linux/l-cpyide/

http://www.open-open.com/lib/view/open1324649712030.html




  • Leo is ...

  • 这个纯Python 的编辑环境用最简单的代码实现了如此丰富的编程思想
    • Leo 可以是 一个通用的数据管理环境

    • Leo 可以是 一个柔韧性的项目,程序或是其它数据的浏览器

    • Leo 可以是 一个项目管理器

    • Leo 可以是 一个提纲式的程序编辑器

    • Leo 可以是 ....
  • 下载帮助文件来学习 _sbooks.chm

    • 在线阅读 : The Leo Tutorial — Leo 4.11 documentation

    • Slides — Leo 4.11 documentation

    • Leo’s Users’ Guide — Leo 4.11 documentation

开发体验


这篇关于leo学习系列之一——leo介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/629776

相关文章

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示