

"Pen Science" is to Writing as CS is to Web 2.0 - amichail

Do you agree with this analogy?
======
cperciva
No. A better analogy would be that English literature is to blog posts as
Computer Science is to Web 2.0: Blog posts and Web 2.0 are very marginally
influenced by -- and are studied on the margins of -- English literature and
Computer Science respectively, but they're both primarily sociological
phenomena.

EDIT: Looking back at the topic, I'm not sure if the submitter is aware of
Dijkstra's comment about the nature of Computer Science: "Computer Science is
no more about computers than astronomy is about telescopes". Comparing
Computer Science to "Pen Science" (which is presumably the study of pens)
simply demonstrates a lack of understanding of what Computer Science is.

~~~
ochiba
Whereas the original "pen science is to writing as CS is to web 2.0" analogy
might be awfully skewed, you do have to ask yourself how frequently it is
necessary to apply the kind of algorithms and techniques [that CS is in part
comprised of] in a typical Web 2.0 application.

~~~
cperciva
I also ask myself how frequently it is necessary to apply the plot and
characterization -- or for that matter, grammar and spelling, apparently -- to
blog posts. Gulliver's Travels is better writing than most blog posts, just
like the FreeBSD kernel is better code than Reddit. If most Web 2.0
applications don't apply many concepts from Computer Science, it says more to
me about the quality of Web 2.0 applications than it does about the importance
of Computer Science.

~~~
amichail
Web 2.0 apps should of course make use of many concepts from Computer Science
-- just as professional writers should make use of the latest word processing
software.

But you can still have the case that the web 2.0 apps are much more
interesting than the CS concepts on which they are based.

~~~
cperciva
"you can still have the case that the web 2.0 apps are much more interesting
than the CS concepts on which they are based"

Which is more interesting, opera or football? Personally, I'm interested in
opera -- and Computer Science -- but I'm willing to accept that most people
find football (and web 2.0 applications) to be far more interesting.

But you thinking that Computer Science is boring doesn't imply that Computer
Science is analogous to studying pens any more than me thinking that football
is boring implies that football is analogous to the mating behaviour of male
elk. In both cases there is similarity at first glance -- Computer Science
courses tend to focus on very simple and well-understood algorithms
(quicksort, binary search, minimal spanning tree, etc.), while to someone
without understanding of tactics, football appears to be nothing more than a
bunch of large males running at and into each other -- but if you take the
time to understand either of these you'll see that the analogies fail quite
quickly.

------
neilk
Response #1:

By which you mean, one makes the other possible?

In the middle ages, can you imagine the trouble it was to make your own ink,
collect and maintain quills of the appropriate type, train oneself to wield
the quill skillfully and not cause inkblots, and finally deal with the fatigue
of manipulating such a large object?

Nowadays pens are so cheap and easy to use you never even have to think about
it. So you move onto other questions, like what to write.

Response #2:

This statement is idiotic. Computer science is essential to the collection of
technologies people call "Web 2.0".

The most advanced Web 2.0 sites allow for quick search across enormous
databases, and efficient, many-to-many messaging. These problems are hard.
Using the appropriate algorithm is essential to scalability. Look at Facebook;
they deploy Stanford whiz kids to invent their own infrastructure (hmmm, that
sounds familiar) and they're growing faster than anybody else in this space.

~~~
amichail
It's true that scalability is hard once you get users. But by then you will
have VC funding to hire experts who could do that stuff for you. So it's not
essential knowledge for entrepreneurs.

~~~
neilk
I checked out your blog. Someone who blogs about Scala doesn't need schooling
from me on CS. ;) I think I see what you're doing now.

Ok, to tell you the truth -- this is something I've wondered about recently
myself. I happen to know about the codebases of several successful Web 2.0
sites post-acquisition. And in many cases, they used the naive solution and
got away with it until acquisition. It's difficult to blog about these things
in public, but I've circulated similar speculations privately, that maybe all
CS knowledge is a huge waste of time for entrepreneurs.

Using naive solutions has definitely worked for some startups. But it comes at
a fairly heavy price. You are essentially betting everything on being acquired
before you get so slow that your own users start hating you. Once acquired,
you then get a reprieve from death, and then you spend about one year building
your 2.0 version that actually scales decently (all the while fighting fires
with the clunky 1.0 version). Meanwhile your users scratch their heads
wondering why, once you got all that money, you stopped building any new
features. This pattern has been repeated many times for successful web 2.0
startups.

Contrast that situation with a company like Google or Facebook. One of
Google's main advantages was scaling, from their algorithms to their ability
to create vast computing infrastructures. Facebook acquired this sort of
talent a little bit later in their history, but they are definitely there
today. So when they got offers to buy their company for millions of dollars --
even a billion dollars -- they were able to say no. Because they knew they
could grow faster by themselves. Last year Zuckerberg was considered an idiot
for turning down a billion dollars. But he knew that F8 was in the pipeline,
and he was very smart to say no.

Being able to scale means freedom. Ignoring scalability is a high-stakes bet.
But either strategy might work, depending on what the startup's business model
is, and the talents and inclinations of the founders.

------
pius
It's a pretty terrible analogy, to be honest with you.

------
henning
No.

The basic work on relational databases was done by computer science
researchers. And actually people in labs built the Internet, come to think of
it. And they pioneered the ideas behind dynamic languages like Ruby. Before
there was Matz or Larry there was Alan Kay and Guy Steele.

What would we do without computer science researchers?

------
Zak
Linguistics is to writing as CS is to computing. Web 2.0 is a subset of
computing.

~~~
cperciva
I think you mean "Linguistics is to (the use of) language as..." -- linguists
study spoken language as well was written language.

~~~
metachor
Just as computer science studies algorithmic theory as well as implementation.

