Git Product home page Git Product logo

learning-sicp's Introduction

Hi there 👋

(_2b || !_2b).is_a? Question

learning-sicp's People

Contributors

batkiz avatar cjf-666 avatar cliffwoo avatar deathking avatar endyul avatar gitter-badger avatar howlaind avatar hulang1024 avatar ijihio avatar kangni avatar mingyang91 avatar mut0u avatar networm avatar rtmagic avatar ustcscgy avatar windfarer avatar xlijun avatar yitapi avatar yufenglan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

learning-sicp's Issues

给各位一个惊喜,节约数个人月的工作量!

根据我的观察,各位是从mit官网上的pdf字幕文件中提取出英文内容,再翻译(这是最主要的工作量),然后调时间轴(很无聊的工作)。

实际上,调整时间轴的工作量完全可以不用做了!!这位神人默默丢下一句“sicp subtitles, from youtube. ”就消失了(这是他去年唯一一个commit)。

我这里也在进行SICP字幕的翻译,完成的很少,见笑了,不过也避免了重复劳动... 源在https://github.com/ustcscgy/sicp-subtitles。我对原英文字幕的修改有Lec1a、Lec7a各一处错误修正,修复Lec8a时间轴(从头修到尾)。

各位不妨以这些现有的、完整的英文字幕作为新的起点。

最后说些个人的看法:恐怕各位之中真正看完20集SICP的没有几个,只有前3集的字幕是没有后面的字幕是一个阻碍(这也是我计划翻译的一个动力——如果有中文字幕的话,那些没有学过C语言的小盆友们就可以接受最好的计算机入门教育了);另一个阻碍接着看下去的原因是,前几集讲的比较浅显,最初让我误认为视频比书还简单,于是没有继续看下去。直到最近发现这些完整英文字幕,看到Lec8b左右,才发现我错了,这些视频比想像中有价值的多:

  • 两位教授会反复强调重要的东西,其中有些在书中强调的不够。看了视频,才发现我遗漏了许多东西。
  • 视频有比书中更丰富、更难的内容,有时候台下同学的提问导致教授们长篇的解答,这些都是不曾出现在SICP中,而被认为是比SICP更高一层的内容。

Good Luck!

YouTube 支持?

不好意思請問下,字幕會打算做支持 YouTube 的格式嗎?

lec2a打轴、校订

届时我会把lec2a分为四份,然后我、@ChingfanTsou、@abbshr@pokerG这周内完成打轴及校订。

然后这周把lec2a和lec2b一起出了。

lec2b校订及#TBD部分就交给@cliffwoo了。

line3647

forward oil

  • 实在不知道怎么翻译,怀疑是字幕错了可也听不出来别的可能

Lec2b-翻译过程中的新术语

  • abstraction boundary,抽象屏障
  • constructor,构造函数,构造子
  • contract,契约
  • compound data,符合数据
  • clouds,云彩(用于描述有理数时所做的抽象)
  • data objects,数据类型
    • 这里没译作数据对象是因为描述的是RAT(有理数),应该看作一种新的数据类型
    • 数据对象的译法很奇怪
  • wishful thinking,按愿望思维
  • selector,选择函数,构造子,选择器
    • 这个似乎跟constructor有对应关系,求解有没有更好的译法
  • layered system,层次系统

关于标点

  • 英文字幕的标点全部保留
  • 中文字幕只保留除以及以外的标点

确认每次讲义的主题及对应课本章节

列表

  • Lec1a:Lisp概览(Part I, Sec1.1)
  • Lec1b:过程及计算过程:代换模型(Part I,Sec1.2)
  • Lec2a:高阶过程(Part I,Sec1.3)
  • Lec2b:复合数据(Part I,Sec2.1)
  • Lec3a:Henderson Escher的例子(Part I)
  • Lec3b:符号化导数系统、引用(Part I,Sec2.2)
  • Lec4a:模式匹配:基于规则的代换(Part I)
  • Lec4b:通用运算符(Part I,Sec2.3)
  • Lec5a:赋值、状态和副作用(Part I,Sec3.1&3.2)
  • Lec5b:计算对象(Part I,Sec3.3)
  • Lec6a:流 I(Part I,Sec3.4)
  • Lec6b:流 II(Part II,Sec3.4)
  • Lec7a:元循环求值I(Part I,Sec4.1)
  • Lec7b:元循环求值II(Part II,Sec4.2)
  • Lec8a:逻辑式程序设计I(Part I,Sec4.4&4.5)
  • Lec8b:逻辑式程序设计II(Part I,Sec4.4&4.5)
  • Lec9a:寄存器机器(Part I,Sec5.1)
  • Lec9b:显式控制求值器(Part I,Sec5.2)
  • Lec10a:编译(Part I,Sec5.3)
  • Lec10b:存储分配与垃圾回收(Part I,Sec5.4)

[MUSIC PLAYING]部分通用译法

原英文字幕中的[MUSIC][MUSIC PLAYING]以及其它类似部分通用译成:

[音乐]
[JESU, JOY OF MAN'S DESIRING]

避免求BGM党

译法的原则与约定

  • 所有存疑或者待议的都是用#TBD标记
  • 如果一个词有多种译法,且都适用于该语境,优先选择书上的译法
    • Operands,我们通常说操作数,但采用书上的运算对象译法
    • Conventional Interface,书上采用的译法为约定的界面,而在lec1a中明显不应该指“界面”,故译为约定的接口
    • 术语表/译名表请查阅译名表
  • 标点
    • 保留所有英语标点
    • 保留所有除逗号、句号外的汉语标点
  • 文件格式
    • 换行符:UNIX
    • 文件类型:srt
    • 编码类型:UTF-8
  • 其他约定
    • [MUSIC PLAYING][MUSIC]统一按照如下方式翻译:
[音乐]
[JESU, JOY OF MAN'S DESIRING]
  • 人名、地名以及其他专有名词
    • 著名人物的名字请译成中文,如柏拉图Lec1a:1369
    • 非著名人物的名字请保留英文,如HeronLec1a:215
    • 定理请译出提出者的中文名,如牛顿法
    • 所有格请译为中文,如Plato's Concept译为柏拉图式
    • 语言、国籍请译为中文,如Sumerian译为苏美尔语Lec1a:288
    • 著名或有俗成译法的地名请译成中文,如亚历山大埃及Lec1a:215Lec1a:71
    • 非著名或很难确定中译名的地名请保留英文
  • 英文字幕的最大字符数
    • 由于85个字符在Georgia 12号字体下就会变成两行,推荐最大字符数为80
      我先回复一下,占个位再编辑……先在issue里面确定好

WiKi:https://github.com/FoOTOo/Learning-SICP/wiki/Convention

在Wiki上建立翻译规则文档

将一些翻译中的基本规则整理到上面,例如
#8 #15 #6

均是在协同翻译时需要确认的,把这些整理好,有利于后来人按照规则进行翻译和整理

我发现可以把youtube的英文字幕搞下来,是否对你们翻译有帮助

SRT格式,类似这种

1
00:00:00,000 --> 00:00:03,879


2
00:00:03,879 --> 00:00:14,550
[MUSIC PLAYING]

3
00:00:14,550 --> 00:00:15,790
PROFESSOR: I'd like to
welcome you to this

4
00:00:15,789 --> 00:00:17,269
course on computer science.

5
00:00:17,269 --> 00:00:28,369


6
00:00:28,370 --> 00:00:29,990
Actually, that's a terrible
way to start.

7
00:00:29,989 --> 00:00:32,739
Computer science is a terrible
name for this business.

8
00:00:32,740 --> 00:00:35,572
First of all, it's
not a science.

9
00:00:35,572 --> 00:00:40,300
It might be engineering or it
might be art, but we'll

10
00:00:40,299 --> 00:00:43,469
actually see that computer
so-called science actually has

关于回滚的说明

关心本项目的朋友也许会发现本项目进行了一次回滚,这个issue就是用来说明这件事的。
首先可以见 #30#31 ,我们接受了 @ustcscgy 的建议,将带有时间轴的英语字幕版给Merge了进来,以期避开制作时间轴的麻烦。但经过实践我们发现,英语版字幕的时间轴并不适合中文版,也不适合我们修改分辨率后的视频。因此经过慎重的考虑,我们决定将版本回滚到合并之前。虽然如此,也非常感谢 @ustcscgy 的contribution,谢谢他对我们的大力支持!
回滚之后将是什么呢?正真的勇士,敢于正视淋漓的时间轴!

lec1a,line227~233讨论

书上将guess译为猜测值,我认为这个译法放在这里是可以的。但译为假定值更符合数学的使用习惯。这两个的取舍有待讨论。

关于improve,我觉得应该保留它的实意改进。因为改进是个具体动作,其对象直接指上文中的guess,而迭代指的是改进,如果把improve译为迭代似乎不太合适。

而如果把improve译为改进的话,guess就应该译为猜测\猜测值了。

感谢所有译者 :)

👍 感谢所有译者!

对于还没翻译的视频,不知能否先上传到 youku / youtube ? 好像没有找到英文原版视频.

Syntactic sugar

  • 特殊语法形式,为那些完全可以采用统一形式描述的东西给出的另一种表面结构,通常被成为语法糖
  • 各种不同种类的表达式组成了程序设计语言的语法形式
  • Lisp语法简洁,对各种表达式的求值规则都可以描述为一个简单的通用规则和一组针对不多的特殊形式的专门规则(这里是说Lisp为了强调统一形式而避免引入语法糖,且因其本身的灵活性使得这一点不方便也变得微不足道???)
  • 程序变大变复杂时,语法糖弊大于利
  • 在C语言中,a[i]可看作*(a+i)的语法糖

任务列表课程名字

可以把任务列表中每个任务的名字写上么?
这样可以根据个人兴趣去翻译~
觉得后面的章节会越来越慢

Sprint: 一月内完成三个lec

这个项目拖得有点久了 经常也有一些朋友在催。然后我这边 Gap 了一个月,可以 Full-time Translation,希望利用这有限的一个月的时间,尽可能多的完成视频翻译工作。

目前的计划,也就是这一个月的必须完成的任务,就是把 DreamAndDead 翻译的剩余三课给全部校订、制作并发布:

  • Lec6b:流 II(Part II,Sec3.4) [ half on the way ]
  • Lec7a:元循环求值I(Part I,Sec4.1)
  • Lec7b:元循环求值II(Part II,Sec4.2)

其余的课程,根据时间剩余情况做出调整。

本次 Spring 完成后,项目将加速,争取明年6月份之前全部结束。

欢迎投喂

line2837

I'm considering every number to be the same size.

  • 所有数值一样大小 or 所有数值占用一样大小的空间

Lec1b翻译建议

  • 第4行的音乐可以改为本课的内容(程序及过程的代换模型?),并提早结束。
    • Procedures & Process: Substitution Model需要翻译一下。
  • 修改下面两行(变Lisp的前缀为中缀):
    • 31:x的平方 加上
    • 33:y的平方的和
  • 34:这里 x的平方是指x乘以x的积
  • 54:这大体上是正确的
  • 57:所以电压与电流并不总成线性关系
  • 76:这里有
  • 80、8182、83:分别合成一句话
  • 90、91:合并成一句话
  • 264:时间轴好像慢了一点。

暂时提到这里吧,这些都只是建议,选择合理的修改就可以了。有下面几个出发点:

  • 如果字数不多,意义相近则可合成一句(比如我提到的这几句我看了下时间轴,几本上都是一口气说的)
  • 运算时的Lisp式前缀表达式,在口头表述时,还原成中缀
  • 部分引导从句的副词可以译出,比如where可以译为这里的

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.