Live data from Hacker News

Cultures of Code

americanscientist.org

11–20 of 26 posts

Re: Cultures of Code

#11
post #10

I'm not as worried about the author'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 general…

"I think we could do a lot better publicizing our work to encourage more people to think about our problems"

One step would be to tear down the paywall that keeps decades of super-interesting computer science research locked up. I'm looking at you, ACM. (Paywalls really limit access from people non-affiliated to any subscribing institutions, and even for affiliated people, it might be that slightly annoying barrier that make them not bother if they don't really need to)

Re: Cultures of Code

#12
post #9

> 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. 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…

In a hypothetical situation I could be developing a piece of software and have an algorithm that is astronomically more efficient than its closest alternative, BUT if the efficient algorithm is good at doing exactly one thing and nothing else, while its alternative can be easily adopted to a variety of tasks and furthermore can be more easily understood by the guy who comes along after me, I am going to use the one that is just good enough for the task at hand. The developer is interested in practicality while the theoretician is interested in ideality.

Re: Cultures of Code

#13
> * “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. *

No one cares about LR parsing because:

1. It'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. "Oh, we we got here by way of trying to parse an expression, then a term, then a factor, then an identifier". Moreover, unless you're spectacularly terrible at programming, your parser is reentrant.

2. If you have lots of memory, fast CPUs, and the stuff being parsed isn't very large, newer algorithms (or old ones that were not practical in the 1960's) are now practical. Why bother with LR when you can just recursively match, with backtracking (infinite lookahead LL rediscovered as "PEG"), and, as a bonus, define the entire syntax in one grammar, down to the lexical tokens.

3. Parsing is about syntax, and syntax isn'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.

Re: Cultures of Code

#14
post #10

I'm not as worried about the author'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 general…

"I think we could do a lot better publicizing our work to encourage more people to think about our problems" One step would be to tear down the paywall that keeps decades of super-interesting computer science research locked up. I'm looking at you, ACM. (Paywalls really limit access from people non-affiliated to any subscribing institutions, and even for affiliated people, it might be that slightly annoying barrier t…

your reply is dead on! It's not only ACM but pretty much all other publishers (ieee, springer, ...). What makes me angry is that all those research papers were in most cases funded by tax payers' money. Anyone remembers Aaron Swartz?

Re: Cultures of Code

#15
The article fails to mention Vick the Video Game programmer and Saul the security researcher.

Hackers and game developers are some of the best programmers in the world, just because there'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 "real" computing is different from "in real life" computing, so be it, I'll take the latter.

Re: Cultures of Code

#16
post #9

> 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. 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…

In a hypothetical situation I could be developing a piece of software and have an algorithm that is astronomically more efficient than its closest alternative, BUT if the efficient algorithm is good at doing exactly one thing and nothing else, while its alternative can be easily adopted to a variety of tasks and furthermore can be more easily understood by the guy who comes along after me, I am going to use the one t…

Unless of course, you realize you need to optimize that particular use case... then you implement that ideality as a special case. ;)

Re: Cultures of Code

#17
post #6

[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've been doing this I've noticed that lots of sites out there just cannot be printed. For example, this article'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 "printer-friendly" versi…

As I coincidentally just mentioned minutes ago in a different article's thread: Firefox Alt-V Y N for no styles, renders in black and white, text flows within the browser's border.

Thank you for the hint; somehow the change doesn't apply to printing though.

Re: Cultures of Code

#18

The article fails to mention Vick the Video Game programmer and Saul the security researcher. Hackers and game developers are some of the best programmers in the world, just because there'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 i…

It's a shame the article missed them, but while they may not be as prevalent security and game programing do have their own academic departments these days. Often times they are placed under the "CS department", but that is to be expected. Astronomy, theoretical physics, soft-matter and applied physics all share the same department as well.

Computational Science is a bit of an outsider I have noticed though. It varies by university whether it is math, physics, computer or general science. Probably because it occupies the cross-roads between these.

Re: Cultures of Code

#19

[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've been doing this I've noticed that lots of sites out there just cannot be printed. For example, this article'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 "printer-friendly" versi…

You have solved your problem here, but also take a look at: https://www.squarefree.com/bookmarklets/zap.html#zap_style_s...

This is exactly what I needed; thank you very much!

Re: Cultures of Code

#20
post #9

> 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. 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…

In a hypothetical situation I could be developing a piece of software and have an algorithm that is astronomically more efficient than its closest alternative, BUT if the efficient algorithm is good at doing exactly one thing and nothing else, while its alternative can be easily adopted to a variety of tasks and furthermore can be more easily understood by the guy who comes along after me, I am going to use the one t…

Another issue is that from a theoretical perspective, in a lot of cases, an algorithm that terminates, even if it takes longer than the heat-death of the universe, is an immense improvement over the current state.

And the problem will be solved. And most of the field upheaved.

But is the problem really solved solved? Nah.

Post reply on HN