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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl