跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 想看 SCIP, 铁子们有没有推荐的打开姿势?
未分類
2021 年 2 月 5 日

想看 SCIP, 铁子们有没有推荐的打开姿势?

想看 SCIP, 铁子们有没有推荐的打开姿势?

資深大佬 : asanelder 3

终于按耐不住自己的好奇心了, 下定决心, 干它!

但干它之前, 想问问铁子们, 2021 年了, 这本书有没有正确的打开姿势?

俺怕自己看偏了, 消磨了兴趣

另外, 有没有铁子说一下, 为什么要看这本书捏? 看之前和看之后, 有啥不同?

大佬有話說 (34)

  • 資深大佬 : Rasphino

    不懂就问,什么是 SCIP ?只听说过 SICP

  • 資深大佬 : dalibaxiaoliba

    直接看就好了,还么看就有疑问么…

  • 資深大佬 : IsaacYoung

    SICP
    6.S081
    CS143

  • 資深大佬 : misaka19000

    干就完事儿了

  • 主 資深大佬 : asanelder

    @Rasphino #1 哈哈, 一直拼错
    @dalibaxiaoliba #2 准备就着 mit 的视频看了
    @IsaacYoung #3 看 http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ 没问题吧
    @misaka19000 #4 奥力给!

  • 資深大佬 : darksword21

    顺势安利 emacs

  • 資深大佬 : Accessing

    想看 SCIP, 铁子们有没有推荐的打开姿势? 想看 SCIP, 铁子们有没有推荐的打开姿势? 想看 SCIP, 铁子们有没有推荐的打开姿势?
    在没有上下文环境的情况下,不要用缩写
    否则给人的感觉就是这家伙在装

  • 資深大佬 : Accessing

    真的装了其实也挺好的
    拼错了可就全毁了
    想看 SCIP, 铁子们有没有推荐的打开姿势?

  • 資深大佬 : catsoul

    据扯,凌晨 1 点 45 分左右,在南墙根儿点一盏烛灯(没有烛灯可用煤油灯代替,电灯不行),人在对角线盘腿坐下,闭幕诵念 108 次“天灭 Vim,用 Emacs 包平安”后,以左手是指轻触舌尖后翻书,修炼方可获得最大功效(逃

  • 資深大佬 : imzhazha

    我不是计算机专业的,当年接受了知乎上的建议,上手就是这本。有啥正确的打开姿势,看就完事了。

  • 主 資深大佬 : asanelder

    @Accessing #7
    @Accessing #8 这个缩写应该是学计算机的都知道, 只是俺一直在拼错(逃~~~)
    @darksword21 #6
    @catsoul #9 这个为啥能和 emacs 产生关系呢? 二位铁子?

  • 資深大佬 : gricn

    借着在这问一下,直接看书和配合 MIT or Stanford 的视频比,有哪些差别?

  • 資深大佬 : gricn

    我的个人感受目前只有一个,push 自己的学习进度

  • 資深大佬 : qidada4880

    http://composingprograms.com/
    我看的这个, 虽然后来又把原版书也读了一遍
    墙裂推荐, 没什么好说的

  • 資深大佬 : dc25b

    我是有点懒。。把伯克利的 CS61a 做了一遍,所有 lab 加 project,算是浅尝辄止吧。

  • 資深大佬 : gowk

    https://www.bilibili.com/video/BV1Xx41117tr

  • 主 資深大佬 : asanelder

    @qidada4880 #14
    @gowk #16 感谢铁子给的资源, 看了一下, 好东西

  • 資深大佬 : 546L5LiK6ZOt

    我就是题主说的消磨了兴趣的人,已经看到了第 4 章。
    我觉得如果作为编程入门,SICP 是一本很好的书。我看的时候,一直在后悔入门学的还是谭浩强的 C 语言设计。
    但是编程久了,SICP 里面讲的一些理念自然早已理解,我看的时候感觉有点无聊,最近刚打算放弃读下去。

  • 資深大佬 : oneforallsoft

    像 mit 一样 所有该系本科生入学前都应该看完

  • 資深大佬 : zwpaper

    emacs 是因为 lisp

  • 資深大佬 : levelworm

    我觉得别纠结做完练习,练习里头有一些算法的东西,还有一些比如什么电子工程的玩意。我觉得可以找名校课程跟着他们的作业和实验就好了。

  • 資深大佬 : levelworm

    话说大家有没有兴趣搞个 discord 一块看?最好是跟 CS61A 而不是看书,因为习题实在太多了。周末可以视频或者音频聚一次,大家总结一下经验和问题,平时就文字讨论,如何?

  • 資深大佬 : 1490213

    直接看就行了,能有啥问题?只是后面几章需要多花点时间琢磨一下而已。

  • 資深大佬 : xpresslink

    主是要干以前 scheme 版还是现在的 python 版?

    scheme 版, 百度 《计算机程序的构造和解释( SICP 中文第 2 版)
    https://download.csdn.net/download/a19980115/10289121
    https://github.com/huyubing/books-pdf/find/master

    python 版
    https://wizardforcel.gitbooks.io/sicp-py/content/

  • 資深大佬 : namelosw

    除了第五章没看完其他都看得差不多了. 一些打开方式:

    * 快速扫一遍, 确认真的想读. 很多人读过了大呼上当, 其实前半本书很多东西都跟日常工作对应.

    * 看完了就忘是最没意义的, 尝试避免这点, 不然还不如不看.

    * 从快到慢多看两遍效果比较好. 不然上来精读总也看不到后边, 前面其实都不重要.

    * 找个时间心气高的时候一口气看一两章, 然后接下来的几天里努力把第三章啃完

    * 看二三章之后如果看不下去了, 可以回顾一下, 拿一些现代的工具比较一下, 思考一下优劣. 比如里面的 data directed 和 Java 的扩展机制比有什么优劣. 再比如第三章既介绍了 map 和 flatMap, 又介绍了 stream, 这两个能不能合并起来呢? 其实合并起来就是 Reactive extension.

    * 第三章的结束是一个重点: OO 和 FP 思想的区别. 可以找一下原教旨的 OO 语言比如 Smalltalk 玩一玩, 感受一下和 Java 有什么不一样的. 然后再找个现代函数式语言试试, 比如 Elixir(易)或者 Haskell(难).

    * 看完要做题, 但是卡住了直接跳到下一道, 基本上做上一半或者三分之一就代表你大概理解了, 赶紧趁热乎看后续章节, 别纠结. 某些题一看就很花时间就跳过, 或者上网看一下思路.

    * 第四章第五章基本就不是第一轮看的. 大部分人都会看两三章就放下了, 然后过几个月就全还回给书了. 所以二刷的时候可以快速温习一下前三章.

    * 第四章看完可以试一下 Prolog/Datalog, 比如 Datomic 数据库.

    * 四五章看到后面觉得不着地可以再去看 crafting interpreters 看, 前半本跟第四章对应, 后半本跟第五章的一部分对应.

    * 学不学 Emacs 都行, 不学 Emacs 就用 Racket, 里面有 SICP 的 language pack. 但是如果看不下去书的时候又没啥好做的可以折腾一下 Emacs, 然后折腾烦了再看书. 切忌把 Emacs 当前置条件, 同时学两个东西很容易互相卡住.

    —

    大概列一下提纲, 感兴趣的同学可以大概扫一眼是不是真的感兴趣:

    * 五章五个主题, 这五个主题描述的是和编程语言相关的主要话题, 一个编程语言的重点是它如何处理原语, 组合, 抽象.

    * SICP 的特点是扔掉现实世界, 在一个极小的 LISP 世界里从 0 开始构建所有关于计算机的基础知识.

    * 前两章讲介绍了 LISP 原语 /组合 /抽象, 第一章是函数抽象, 第二张是数据抽象(最终引向多态)

    * 前三章和规模化软件开发相关, 也就是日常我们说怎么写可维护可扩展的软件. 第三章说的是引入状态之后编程会变得复杂, 就有了函数式和面向对象两种互相矛盾的思想. 面向对象是把状态拆散, 函数式风格是不分状态而靠函数组合模块化(横切纵切), 他们各有合适的场景, 比如量子物理模拟用面向对象就没有意义, 书里的逻辑电路模拟用函数式风格就特别难写.

    * 第四章先讲了怎么用 LISP 实现 LISP 解释器, 这样对 LISP 的实现就有了一半的理解. 后面套用 LISP 解释器的套路, 可以把 LISP 改造成风格不同的 LISP, 也可以改造成其他语言, 可以解决风格迥然不同的实际问题(既然没有最好的语言, 只有最适合的语言, 那么最好的语言就是可以变成最适合语言的语言).

    * 第四章借用了很多 LISP 原语, 所以只有一半理解, 第五章从头实现一个假想的电脑: 固定逻辑计算机, 寄存器, 汇编语言, 重新实现解释器, GC, 最后再重新给这套假想的电脑实现一个到假想汇编的编译器 (最后一个作业是用 C 重写一遍…).

  • 資深大佬 : levelworm

    @namelosw 其实我一直好奇直接看第四章第五章行不行。当然事先把基本语法过一遍。

  • 資深大佬 : no1xsyzy

    @levelworm 如果有软件工程的底子应当是没问题的,但不确定是否有部分前面直接疏通过去了

  • 資深大佬 : Kirsk

    这本书我都搞不懂好在什么地方 只看了目录就不想看了 大概太菜

  • 資深大佬 : namelosw

    @levelworm 我觉得能看懂代码就完全没问题. 这本书前面都在讲上层建筑, 后面讲基础设施, 走的两个方向, 关系的确不大.

  • 資深大佬 : hurryning

    干就完了

  • 主 資深大佬 : asanelder

    @546L5LiK6ZOt #18 俺就是好奇这书到底有没有说的那么神
    @zwpaper #20 soga!
    @levelworm #21 不纠结
    @xpresslink #24 打算就是 scheme 原汁原味
    @namelosw #25 铁子给的建议好啊, 大大减轻了俺的抵触心理. 书就应该这么看! 俺现在越来越期待了

    有一个问题, 现在函数式语言可不可以用 Scala?

  • 資深大佬 : namelosw

    @asanelder 这本书很多内容用 Scala 很难写, 因为 Scala 是静态类型语言. 宏也没有 LISP 那么简单好用.
    日常用 Scala 函数式风格肯定是没问题, 毕竟向 Haskell 对齐的语言.

  • 資深大佬 : levelworm

    @namelosw 多谢那我之后试试看过了第一章然后直奔第四章。Python 的那个倒是挺好懂的。我觉得我还是不习惯 scheme 比如说没有循环,所以得重练下第一章某些习题。

  • 主 資深大佬 : asanelder

    @namelosw #32 ok

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具