TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Cultures of Code

63 点作者 vijaykiran超过 10 年前

8 条评论

kazinator超过 10 年前
&gt; * “No one cares much about LR(1) parsers anymore,” she said, referring to one of the classic tools of language processing. The remark saddened me because the theory of parsing is a thing of beauty. *<p>No one cares about LR parsing because:<p>1. It&#x27;s about speed and memory efficiency, throwing other requirements into the wind, like interoperability and debuggability. LR runs on what is de facto its own virtual machine (shift-reduce automaton) over its own machine language (an incomprehensible table). This architecture known to most hackers in the form of tools like Yacc, where this is done in absolutely the most minimal way possible just to get the parser working. If you write a recursive descent parser, you can put an ordinary breakpoint on a function which corresponds to a grammar rule, and instantly see rules that are involved, just by looking at the ordinary stack trace. &quot;Oh, we we got here by way of trying to parse an expression, then a term, then a factor, then an identifier&quot;. Moreover, unless you&#x27;re spectacularly terrible at programming, your parser is reentrant.<p>2. If you have lots of memory, fast CPUs, and the stuff being parsed isn&#x27;t very large, newer algorithms (or old ones that were not practical in the 1960&#x27;s) are now practical. Why bother with LR when you can just recursively match, with backtracking (infinite lookahead LL rediscovered as &quot;PEG&quot;), and, as a bonus, define the entire syntax in one grammar, down to the lexical tokens.<p>3. Parsing is about syntax, and syntax isn&#x27;t semantics. Once hackers mature, they lose interest in syntax, and consequently in stuff like LR parsing. Lisp shows us that we can get ahead by ditching the surface syntax. The best family of languages for language research, ironically, pretty much ignored and survived the whole LR craze, using recursive scanning routines dispatched by one or two characters of input. Once you know that parsing produces a tree, and that same tree is denoted by a tidy, unambiguous S-expression that requires no advanced parsing techniques, and that semantics only begins after that syntax tree, the excitement for parsing wanes, at least a little.
j2kun超过 10 年前
I&#x27;m not as worried about the author&#x27;s conclusions as he seems to be. I think there will always be more engineers than physicists, more financial experts than economists, and more security professionals than cryptographers. There will always be more people who want to take advantage of the fruits of basic research than there are people who want to do that basic research. And moreover, the basic researchers are generally not as publicly celebrated than their entrepreneurial counterparts (cf Steve Jobs vs Don Knuth or Dennis Ritchie). Without data showing the decline of the number of people who want to do basic science, I&#x27;m not convinced that things like the theory of parsing will be lost to history.<p>That being said, I think there is a lot of extremely exciting stuff going on in theoretical computer science (this is my field), and I think we could do a lot better publicizing our work to encourage more people to think about our problems. It&#x27;s a shame that there are no career benefits to doing so.
评论 #8980393 未加载
stillsut超过 10 年前
The article fails to mention Vick the Video Game programmer and Saul the security researcher.<p>Hackers and game developers are some of the best programmers in the world, just because there&#x27;s no academic departments for these, this author would probably dismiss them as not doing real computing. But they are doing real computing, focusing on areas where the application of computers has the most impact in real life. So if &quot;real&quot; computing is different from &quot;in real life&quot; computing, so be it, I&#x27;ll take the latter.
评论 #8980831 未加载
j2kun超过 10 年前
&gt; A prominent example is “What can be computed efficiently?” Theoretical computer science seizes on this question as one of its most central, existential concerns, but the answer also matters to those who write and run programs for practical purposes.<p>The problem is not that a theoretician has a different answer to the question than a software engineer, but that they are asking different questions with the same words. I think this is a good reason for the fields to be considered different.
评论 #8980415 未加载
drcomputer超过 10 年前
&gt; I would not contend that mastery of the more theoretical topics is a prerequisite to becoming a good programmer. There’s abundant evidence to the contrary. But it is a necessary step in absorbing the culture of computer science.<p>I personally don&#x27;t care about my feelings about the culture of computer science. I care about computer science, and I think you have to participate in all of the worlds, to achieve a mature understanding of the computer and it&#x27;s role in society. When I can separate my mathematical and logical mind from my emotional mind, I can focus enough to do work. When my emotional mind ramps up because I&#x27;m (rather unscientifically) comparing myself to a very selectively observational evaluation of the value of the achievements of others, I am not sure what gets done aside from the passage of time.
Mikhail_Edoshin超过 10 年前
[not related to content] I usually print interesting articles to XPS because the XPS reader on my tablet is so much faster than web browsers. As I&#x27;ve been doing this I&#x27;ve noticed that lots of sites out there just cannot be printed. For example, this article&#x27;s content is put into some sort of a container, I presume, that has a fixed width or something that cuts off a part of the text. Even the &quot;printer-friendly&quot; version exhibits this problem. Sadly, but for me this means I&#x27;m not reading the article.
评论 #8980082 未加载
评论 #8980041 未加载
评论 #8979805 未加载
jjwiseman超过 10 年前
Brian Hayes is a treasure, and so is American Scientist. American Scientist has taken over the role that Scientific American had in the 70s and 80s, when it was good, and Brian Hayes is almost the A. K. Dewdney (different, but better in some ways) of our current era.
mlangdon超过 10 年前
There&#x27;s at least a fourth even more removed culture, the plc programmer who is even more pragmatic than the software developer. He cares about the program about as much as the data scientist. It&#x27;s just there to do the job.