What are the characteristics of lisp language?
In some people's eyes, lisp is a kind of "anti-intellectual" language that violates the logic of human natural language. It only has a certain meaning in mathematical logic. It turns out that it can only be used in a small area, but it is often recommended that it be promoted and promoted. Regarding the different views and opinions of the LISP language, I feel that we should be brave in practice and learn to judge ourselves. Don't think or reject yourself without thinking and practicing. The only role of these ideas is to provide you with a new perspective on things and a starting point for investigations. This article is only a personal summary of the characteristics of the LISP language and a general summary, please forgive me if there are any deficiencies. The programming language itself is not developed to conform to the logic of natural language. It is to develop software for people. It is to make it easier to be compatible with machines. Machine understanding is the primary consideration. Lisp is also the same. Mathematical logic is just a set. The method, Lisp is a concrete realization of the living, obviously more practical than the theory of high-force, which is more advanced than mathematical logic. Early programmers used Lisp a lot, but later, with the expansion of software scale, there are more things to expand, and Lisp is known for its simplicity. Because its development environment is too simplistic, it is increasingly impossible. Accepted by most programmers. In fact, it can develop existing software, as long as you are willing to use it, it will never lose any popular language. People admire it on a large scale and are influenced by some people and then try to satisfy their curiosity. Are there really so many people who admire Lisp? Really use it to develop things? I can't answer this. View one: (support) 1, lisp advanced and basic , lisp does not have convenient array or hash operation functions in python or ruby, in many cases, lisp data consists of only two parts: (AAA, BBB) The first element, AAA, is called the car part and the rest is the other half. No matter how many, it is called the cdr part. It is the second element of symmetry. This is called the con cell element. Many complex data structures, such as arrays, hash tables, red-black trees, and binary trees, are implemented by it. You said it is not basic? However, lisp is very advanced. One of the features of the C language is that the machine efficiency is high, but the labor efficiency is very low. Unlike lisp, "Hacker and Painter" pointed out that lisp only needs one-tenth of the code of c language to achieve the same function. And lisp can even directly manipulate the registers of the cpu, which advanced virtual machine language can be achieved? 2, lisp is very concise , in one sentence can summarize the syntax of lisp: For example (ABC) Enclosed in parentheses is called a list, the first atom in the list is treated as a function, and the other atoms are treated as variables. Elements preceded by single brackets are not considered (not evaluated) and are returned only as they are. It’s all that simple. All that's left is the details. To know that the truth is very concise, such as e = mc2, the truth is so simple. So lisp is very strong. In the words that most people can understand, lisp does not have a "reserved word." We know that each language includes c but has reserved words. This means 2 points: (1) Their processing statements and data are separate and different. (2) They are all restricted But lisp has no reserved words, why? You see that most languages ​​are like C++. Java has no symbols at all. Ruby has symbols, but there are few applications. Unlike lisp, most atoms of lisp are symbols. For example (print atom-1 atom-2), each symbol can be connected to a function definition, or a variable definition. This example evaluates the two symbols atom0 and atom-2 to find out their variable definitions. Then hand it to the print function to operate. You can transfer it over. (atom-1 print atom-2), this example is to evaluate the two symbols of print, atom-2, find their variable definition and then give it to the function of atom-1 connection. The difference may be that print may be A system pre-defined function, and atom-1 may be a user-defined function. So Lisp has no reserved words and does not need to keep words. So we can see that lisp has a famous feature, the data and the statement are the same, how is it achieved. Very simple, the same thing, you put it in the first part of the list, is the function, otherwise it is a variable, if you add single quotes not to evaluate, it is data. In this way, lisp can also implement very powerful macro systems, which is unique, and no other language can, because they can not distinguish between data and statements. Simply put, the macro accepts a parameter and then returns the corresponding code, inserted into the location of the calling macro. ( defmacros (args) `(defun aaaaa(,args) ;; process )) Such things Restore the corresponding code to the corresponding position, only the value is required, it is no different from the ordinary code. So lisp can. Other languages ​​are not available. You return a statement, what is the data type of this item? It is data, not a statement. To run it, eval it, and then only get one result (in my understanding of ruby, it is already much more flexible than java). Unlike lisp, which can replace a part of the source code, such as a part of a replacement function, this code can manipulate parameters. Can other languages ​​be used? But lisp is so powerful, why was it invented in 1958, and Lisp has not been widely used for half a century? Lisp is not without application. In the field of teaching, lisp is a very widely used language. For those schools that are not eager for quick success, such as MIT, the introductory course uses schme (a dialect of lisp), and in the commercial field, the famous "hacker and painter" The author P··G used lisp when he founded viaweb, the world's first Internet company. The reason why lisp is not widely used is because it is too powerful. It seems a bit languid, but power means flexibility, and flexibility means almost no grammar. Those business companies want only stability, get the job done, they don't care what language you develop. They can't wait for every line to be nailed. Everyone writes a function with a name, because it can be maintained with less money. The father of ruby ​​Matsumoto Hiroshi once said: The problem with lisp is that as long as you master the s expression and want to write what kind of program, this means that lisp is not grammatical. This brings some trouble to the application. I don't want my language to be grammatical. So ruby ​​has added a certain grammatical restriction. From a programmer's point of view, in my opinion, most people don't seem to be so smart, and most people like to use a dead language (java/c++) is also understandable, because their thinking may be dead. Lisp may be more suitable for powerful hackers, ones that are strong for themselves or a few people, and that is a hacking language, not a business language. In summary, lisp is flexible and unconstrained. In my opinion, once you use lisp, you don't want to use other languages. Lisp has a harmonious beauty. I think that things like Fortran, C++, and Java are born out of necessity. They are designed to meet current needs and hardware conditions. Lisp was born from the beginning to cater to the truth and beauty. So 50 years later, lisp is not outdated. Lisp is the truth of the computer world. I remember that there is such a sentence in the comic book "Fengyun", because no matter where it is, truth (or a similar word) is the truth, so the shape of the peerless good sword is the same everywhere. The same is true for lisp. The language of other names may appear in the future, or it may not be called lisp, but the truth is always truth, so the shape of the peerless good sword is always the same. But from a realistic point of view, we have to program, how to use lisp? Emacs uses emacs lisp as the architectural language (not just the extended language), which is a great way to learn lisp Common lisp and scheme are well known as the two most famous dialects of lisp. However, there are many applications in the field of education. Actual use seems to be less The GNU organization uses guile as the gnu universal extension language, but I haven't heard of any application. The most popular clojure, you may have heard, this is a kind of lisp running on a java virtual machine, compiled into java bytecode, with the same speed as java, using it can seamlessly use all the libraries in jdk And java's myriad third-party libraries, now you know it's a bonfire. A subset of clojure can be compiled into javaascript and run in the browser, which brings endless possibilities. Enjoy the achievements of those fools. node.js seems to work as well. View 2: (not supported) I think that Lisp will never be a mainstream programming language. They believe that the root cause of Lisp's failure to become mainstream is that the language is anti-human, and its advancement is advanced to the machine, just as binary is advanced for computers. People are creatures, and there is a need for diversity of things. The human language has more than one beautiful adjective. The requirements for color are always more than black and white, so the decimal is chosen instead of binary. It is the most basic humanity. Lisp uses S expressions to smooth out all kinds of diversity, prohibiting the rules of the infix expression of A+B that humans have chosen for thousands of years, which violates human nature, so it is rejected by the majority of developers. Simply put, the Lisp language violates the need for the diversity of things in human nature and cannot become the mainstream in programming languages. LISP is a functional programming language, and all operations can be implemented in the form of functions acting on parameters. LISP does not have common assignment statements and variables in imperative language programs. Repeated procedures can be represented using recursive function calls without the use of a looping pattern. LISP is an old functional language, weak type, dynamic inference, and the code itself is a variety of lists. Each entry can store any type of data such as numbers, functions, symbols, or a sub-table. At the time of encoding, it can be operated at any time to update the list. The LISP core operator has only seven operators: quote, atom, eq, car, cdr, cons, cond. The first three quotes, atom, eq are used for symbol inference; car, cdr, cons manipulate tables; cond is responsible for branch judgment. This succinct definition, very close to the pure functional language of the Turing machine prototype, is completely unmatched by modern languages. The relative disadvantage of LISP as a weak type is the low efficiency of operation. The shortcomings of the original definition make it difficult to large-scale development projects, from the bottom to the top, from two-dimensional table query to object-oriented, users need to embed more functions to achieve, resulting in the derivation of LISP's many dialects. - Unusual grammar is a filter for IQ - Syntactic sugar is especially suitable for editor optimization, and the language itself does not give you any unrestricted limits. - Emacs configuration is inherently personal. The amount of code will not be very large, just put grep in the same directory. Therefore, there is no problem that multi-person development leads to a decline in quality.
56 Jack.China leading manufacturers and suppliers of 6P4C RJ11 Female Connector,RJ11 JACK W Metal Legs, and we are specialize in RIGHT ANGLE RJ11 Jack,1X4PORT RJ11 Socket, etc.
The RJ-45 interface can be used to connect the RJ-45 connector. It is suitable for the network constructed by twisted pair. This port is the most common port, which is generally provided by Ethernet hub. The number of hubs we usually talk about is the number of RJ-45 ports. The RJ-45 port of the hub can be directly connected to terminal devices such as computers and network printers, and can also be connected with other hub equipment and routers such as switches and hubs.
6P4C RJ11 Female Connector,RJ11 JACK W Metal Legs,RIGHT ANGLE RJ11 Jack,1X4PORT RJ11 Socket ShenZhen Antenk Electronics Co,Ltd , https://www.atkconnectors.com