正在加载图片...
anyone can get anything done with it. It doesn't even have x(Blub feature of your choice As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they 're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages He probably iders them about valent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub When we switch to the point of view of a programmer f the languages higher up the power continuum however, we find that he in turn looks down upon Blub. How can you get anything done in Blub? It doesn't even have y By induction, the only programmers in a position to see all the differences in power between the various languages are those who understand the most powerful one. (This is probably what eric Raymond meant about Lisp making you a better programmer. ) You trust the opinions of the others, because of the Blub parador. can't they 're satisfied with whatever language they happen to use, because it dictates the way they think about programs I know this from my own experience, as a high school kid writing programs In Basic That language didn't even support recursion It's hard to imagine writing programs without using recursion,but I didn't miss it at the time. I thought in Basic. And I was a whiz at it. Master of all I surveyed The five languages that Eric Raymond recommends to hackers fall at various points on the power continuum. Where they fall relative to one another is a sensitive topic. What I will say is that I about one of the things I find missing when I look at the othe, you think Lisp is at the top And to support this claim I'll tell yo four languages. How can you get anything done in them, I think, without z? And one of the biggest zs, for me, is macros.[5] Many languages have something called a macro. But Lisp macros unique And believe it or not, what they do is related to the are parentheses. The designers of Lisp didn't put all those parentheses n the language just to be different. To the Blub programmer, Lisp code looks weird. But those parentheses are there for a reason They are the outward evidence of a fundamental difference between Lisp and other languages Lisp code is made out of Lisp data objects. And not in the trivial sense that the source files contain characters, and strings are it's read by the parser, is made of data structures that you can t one of the data types supported by the language. Lisp code, aft traverse f you understand how compilers work, what's really going on is not so much that Lisp has a strange syntax as that Lisp has no Y ite pi n the e trees that get generatedanyone can get anything done with it. It doesn't even have x (Blub feature of your choice). As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub. When we switch to the point of view of a programmer using any of the languages higher up the power continuum, however, we find that he in turn looks down upon Blub. How can you get anything done in Blub? It doesn't even have y. By induction, the only programmers in a position to see all the differences in power between the various languages are those who understand the most powerful one. (This is probably what Eric Raymond meant about Lisp making you a better programmer.) You can't trust the opinions of the others, because of the Blub paradox: they're satisfied with whatever language they happen to use, because it dictates the way they think about programs. I know this from my own experience, as a high school kid writing programs in Basic. That language didn't even support recursion. It's hard to imagine writing programs without using recursion, but I didn't miss it at the time. I thought in Basic. And I was a whiz at it. Master of all I surveyed. The five languages that Eric Raymond recommends to hackers fall at various points on the power continuum. Where they fall relative to one another is a sensitive topic. What I will say is that I think Lisp is at the top. And to support this claim I'll tell you about one of the things I find missing when I look at the other four languages. How can you get anything done in them, I think, without z? And one of the biggest zs, for me, is macros.[5] Many languages have something called a macro. But Lisp macros are unique. And believe it or not, what they do is related to the parentheses. The designers of Lisp didn't put all those parentheses in the language just to be different. To the Blub programmer, Lisp code looks weird. But those parentheses are there for a reason. They are the outward evidence of a fundamental difference between Lisp and other languages. Lisp code is made out of Lisp data objects. And not in the trivial sense that the source files contain characters, and strings are one of the data types supported by the language. Lisp code, after it's read by the parser, is made of data structures that you can traverse. If you understand how compilers work, what's really going on is not so much that Lisp has a strange syntax as that Lisp has no syntax. You write programs in the parse trees that get generated
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有