zoukankan      html  css  js  c++  java
  • C开发人员眼中的SICP学习

    谈谈自己看SICP的一些体会


    第一章  构造过程抽象

    这一章事实上和C语言全然等价, 不打算深入学习LISP的能够高速略过。

    思想上没有太多新的东西。

    这一章最核心的价值就是以下3句话, 理解了这一章就算看完了。

    语言的原型系统
    ·怎样组合
    ·怎样提供高层抽象


    这3句话是全部语言的核心。 基本上适用全部人。 

    后面的递归和迭代。 形式上和C区别大, 思想上事实上和C没多大区别。 高阶函数。 C的函数指针略微呕心了点,也凑合着能替代。

    闭包, 用以下呕心的结构也能凑合替代。

    typedef  struct stClosureFunc {

    void * ctx;

    void* pFunc;

    } ClosureFunc

    总而言之, 不打算深入学习lisp的第一章1-2个小时能够高速略过。

    (假设想转Lisp开发, 还是有必要花1-2个月做做题)


    第二章  

    前面的数据抽象。 和C的玩法也没啥大差别, 熟悉的话不用花太多时间。

    第二章主要要学的是2.3符号系统。C基本不提供。非常值得看看。能开拓视野。


    第三章 关于序列化,这个在实际C项目中也大量用。 基本是共通技术。关于流。 想法非常新, 就不清楚详细项目上是否使用过。

    C用的很多其它是Unix系统的管道思想, 或者消息队列思想。

    消息队列其实是序列化和流技术的结合。


    前面3章基本上是基础的东西。 第4章。 讲的是解析器实现。

    採用的是自上而下风格。

    非常有意思。

    去年自己一直在研究编译器, 有些不一样的体会。 有点遗憾的是, 没看到词法分析。

    有限状态机等正則表達式概念不知道lisp是怎样实现的。

    还有一个非常遗憾的问题,是书中性能分析比較少。

    怎样优化方面介绍的比較少。


    第5章, 是精华, 也是这本书最值得学的章节。 对理解计算机模型本质非常有帮助。

    个人体会 第1-3章看书加习题。大概1个月

                     第4章  1-2个月

                     第5章  3-6个月



  • 相关阅读:
    [Unity3D]调用Android接口
    android studio build.gradle中 project.ANDROID_BUILD_SDK_VERSION
    java中static{}语句块详解
    [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
    c++中 extern
    android studio一直卡在Gradle:Executing tasks
    Android Studio导入第三方类库的方法
    Android按返回键退出程序但不销毁,程序后台运行,同QQ退出处理方式
    Ubuntu64位下使用eclipse闪退的解决
    Android4.1中BinderService的作用
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6875788.html
Copyright © 2011-2022 走看看