Research on SiC in C developers' eyes

Source: Internet
Author: User

Research on SiC in C developers' eyes

Let's talk about some experiences of Self-reading the SICP.


Chapter 1 constructor process Abstraction

In fact, this chapter is equivalent to the C language, and it can be skipped quickly without going deep into LISP. Basically, there is no great value.

The core value of this chapter is the following three sentences. Even if you have understood this chapter, you have read it.

Language Prototype System
· How to combine
· How to provide high-level abstraction


These three sentences are the core of all languages. Basically applies to all users. Why did someone learn Java in three days, or three years. The key lies in your understanding of the language.

To learn any language, you can directly follow this topic. Therefore, some Dictionaries can be skipped. Any language, 3 days is enough to get started.

The recursion and iteration behind it are not much different from C. If you do not want to review algorithms, you can skip them. For higher-order functions, the function pointer of C is a little painstaking and can be substituted.

Closure, which can be replaced by the following painstaking structure.

Typedef stClosureFunc {

Void * ctx;

Void * pFunc;

} ClosureFunc

All in all, you can skip the first chapter of lisp within one to two hours. It is of little help to actual development capabilities. (If you want to switch to Lisp development, it is still necessary to spend 1-2 months doing the exercises)


Chapter 2

The preceding data abstraction is no different from the method C. It is basically not worth looking. Concerning data representation, I personally think that tree representation of complex data is theoretically not a problem, but according to the KISS Principle,

It's a bit overhead with B. In this regard, Perl is the most favorite and appreciated. From a Language Perspective, arrays, lists, and hash tables should be basic elements.

The second chapter focuses on the 2.3 Symbol System. However, C is basically not provided, and it has always been intended to rely on C Mixed meals.


From the example given in the book, we can basically feel the obvious theoretical flavor, which is basically a curse in China.

In fact, if you were an interviewer, everyone would say abstract and hierarchical. What has the core value is that it is reasonable to judge the abstraction, And the hierarchy is right and reasonable.

This is valuable in actual projects. I'm so excited that I have full confidence in my exercises. I have to work on a project, and the design is still a scum.


Chapter 3 about serialization, which is also widely used in the actual C Project, is basically a common technology. The idea of stream is very new, but although I am working on a signal processing system, I haven't seen anyone using it.

C uses the pipe idea of Unix system or message queue idea. Message Queue is actually a combination of serialization and stream technology.


The first three chapters are basically entertainment, with little practical value. Chapter 2 describes the parser implementation. The top-down style is used. This basically leads to the ultimate development of recursion.

I have been studying compilers for some time last year. However, I have been a bit confused when I read it. I didn't see lexical analysis. I don't know if the lisp language has no vocabulary requirements, but I still don't understand it myself.

The concept of regular expressions such as finite state machines does not know how lisp is embodied. Another pity is that there is no performance analysis in the book. It is completely intended for students, which is much worse than longshu.

The reality is that it is the right way to study longshu.


The second chapter is similar. It is a bit of value to feel different implementation methods. However, if you don't want to learn lisp, it doesn't really have much engineering value.


In general, this book is worth the most part in Chapter 5th, which is helpful for understanding the nature of computer models. The previous steps 1-3 have no in-depth significance. Chapter 2 is a little bit open.

Of course, it takes 3-6 months for C to go deep into 4-5 chapters.



Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.