由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Detective版 - [bssd]看完了hacker news上的所有literate programming帖子... (转载)
相关主题
haver把牛鬼蛇神给引出来了我的大老板不喜欢ipython notebook/Rmarkdown
[原创]2011年最牛B的一部小说——必须得看!-2[bssd]python, 数值计算,working flow pain
纽约警方设套诱捕卡恩 卡恩还说嫩啊 (转载)用R的同学,可以试一下Jupyter
堂堂直辖市副市长妻女在北京都没有一套住房 还需要借徐明的 (转载)OS X上有没有轻量级的TextEdit软件?能语法高亮
不如搞两套班子,习李一套,薄书记刘志军一套 (转载)atom很好用
Re: 德车是德国产品特例 (转载)哪种跨平台编辑器能把文字和代码都比较好的组合
折腾了一上午vim微软的visual studio code真心不错
教小孩编程[bssd] functional programming matters...
相关话题的讨论汇总
话题: literate话题: jupyter话题: 代码
进入Detective版参与讨论
1 (共1页)
g****t
发帖数: 31659
1
【 以下文字转载自 Programming 讨论区 】
发信人: guvest (我爱你老婆Anna), 信区: Programming
标 题: [bssd]看完了hacker news上的所有literate programming帖子...
发信站: BBS 未名空间站 (Mon Sep 5 11:57:53 2016, 美东)
这几天一直在考虑python的working flow for my own usage。
本版问了很多问题,也问了很多同事。再次感谢之前参与讨论和
回答问题的各位朋友。
那么现在总结一下。分享给大家。欢迎批评指正。
勿上封面,主页头条。本贴已转去侦探版保存。
先说结论:
--------------------------------------------------------------
反正现在我的结论就是要两套代码。一套Jupyter或者knitr/Rmarkdown
生成。一套按把前面的代码修改补充,封装,重新安排组织,
用sublime做。
--------------------------------------------------------------
1.
我个人认为,这一两年来,python/R的崛起是因为jupyter notebook和
R markdown等等类似的tool。很多场合下,太好用了。
2.
我开始不知道literate programming这个概念。
因为我有Mathematica的经验,所以理解jupyter的坑。Jupyter最大的问题是
不同的cell可以以不同的顺序evaluation。那这很容易跑乱。我当初
Mathematica就老出这个问题。最后我的解决办法就是永远只是顺序执行
cell。
那么这时候我意识到,我其实只需要一个支持好的格式的heavily注释的工具
就行了。然后查到了Docco, org-mode, ....
最后发现这就是克努奇的literate programming。
可以说从Mathematica和Jupyter, Rmarkdown的思考,
我自行发现了这个系统的哲学和其中的道理。
3.
克努奇的literate programming也对也不对。
我自己分析了以下对我自己的价值和原理。
a.市面上大多数的literate programming不支持程序块的顺序重排。
Rmarkdown不行。但是Mathematica, Jupyter可以对程序块改变次序执行。
leo可以。其他的不行。
b.literate programming按克努奇的说法是,instead of 教电脑
干什么,说明为什么人让电脑干什么。这样甚至可以取代unit test。
我不这么看。我认为这个文档和code,code的结果混排的好处在于容易
卖东西。
有的算法容易用code的片段,以及片段的结果来解释,有的算法容易用
文字来解释。这就要求混合起来的可执行。
我个人观点:
literate programming = 天生的销售员利器。
4.
那么回到coding。现在就有一个矛盾。
按照
(A)销售逻辑或者slides 逻辑,也就是人类的装B逻辑来组织代码,
(B)还是按照电脑语言的实现逻辑,性能逻辑来组织代码?
这两者是互动的。因为你选一个A和B之间的trade off。
那么为了解释这个trade off,这又是一个逻辑,然后你就进入了AA,AB,ABA,...
这个问题literate programming没有解决。
有人说literate programming是有害的。其实说的很对。因为有的程序是
60ms定生死的。或者逻辑差一点,后面会引起严重的维护困难和后果。
对这个问题,我也没有答案,也没找到tool。现在这方面的讨论都是各执一端。
那么我换个脑子想一下。既然不能一次性解决问题。那不如找个中间点。
所以现在认为的最好的答案就是:
写两套代码,
(A)一套是literate programming的。
(B)一套是从literate programming里面自己tangle出来的,可以高效
被电脑执行的代码。
我希望达到这样的目的,A,B所需的工作量可能是只写一套的1.2倍。
但是这20% 的额外功夫是完全值得的。且不说对代码质量的提高,
只说销售,花20% 的时间弄销售或者内部communication是很便宜的。
------
反正现在我的结论就是要两套代码。一套Jupyter或者knitr/Rmarkdown
生成。一套按把前面的代码修改补充,封装,重新安排组织,
用sublime做。
------
<回头有空再补充资料链接,以及其他研究>
h*******2
发帖数: 5093
2
看不懂
哥只用c, 是不是老古董了!

【在 g****t 的大作中提到】
: 【 以下文字转载自 Programming 讨论区 】
: 发信人: guvest (我爱你老婆Anna), 信区: Programming
: 标 题: [bssd]看完了hacker news上的所有literate programming帖子...
: 发信站: BBS 未名空间站 (Mon Sep 5 11:57:53 2016, 美东)
: 这几天一直在考虑python的working flow for my own usage。
: 本版问了很多问题,也问了很多同事。再次感谢之前参与讨论和
: 回答问题的各位朋友。
: 那么现在总结一下。分享给大家。欢迎批评指正。
: 勿上封面,主页头条。本贴已转去侦探版保存。
: 先说结论:

g****t
发帖数: 31659
3
我讨论的是销售的学问。
literate programming最开始是pascal,更古董。

【在 h*******2 的大作中提到】
: 看不懂
: 哥只用c, 是不是老古董了!

g****t
发帖数: 31659
4
這是我當年的一點Notes。Jupyter notebook肯定比演示效果ppt強。因為ppt不包含可
執行代碼
,這方面演示效果不強。最多弄個gif,
Video
1 (共1页)
进入Detective版参与讨论
相关主题
[讨论] Literate Programming不如搞两套班子,习李一套,薄书记刘志军一套 (转载)
Don Knuth and TAOCP: The InterviewRe: 德车是德国产品特例 (转载)
[讨论] Literate Programming折腾了一上午vim
[bssd]去年研究CS最大的收获教小孩编程
haver把牛鬼蛇神给引出来了我的大老板不喜欢ipython notebook/Rmarkdown
[原创]2011年最牛B的一部小说——必须得看!-2[bssd]python, 数值计算,working flow pain
纽约警方设套诱捕卡恩 卡恩还说嫩啊 (转载)用R的同学,可以试一下Jupyter
堂堂直辖市副市长妻女在北京都没有一套住房 还需要借徐明的 (转载)OS X上有没有轻量级的TextEdit软件?能语法高亮
相关话题的讨论汇总
话题: literate话题: jupyter话题: 代码