
What we lost (now that web programming is mainstream) - davidw
http://antirez.com/post/what-we-lost.html
======
jamess
This is exactly what I was thinking today. I've spent the last couple of weeks
implementing TLS (This is the second time I've had to do this now, it's
endless fun) and this time I'm sort of "cheating", because the platform I'm
writing for already has high quality ASN.1, crypto and X.509 libraries and
enough of PKCS#1 that I scarely have to lift a finger.

Web programming is horrifically dull scut work to my mind, I'd far sooner be
writing the heavy lifting in the back end.

~~~
9oliYQjP
Web programming is only boring because companies have been focussing on using
the newer frameworks and tools to reduce the amount of time it takes to
develop typical projects instead of setting loftier goals to use them to
develop bigger, better, things. We should be building cathedrals, but instead
a lot of people/companies are focussing on churning out the same old brick
building; only faster and cheaper with a better paint job.

~~~
mlinsey
That's an interesting idea - what are examples of things you would consider a
cathedral? I get the sense that what you're getting at might not just be a
failure of ambition but a failure of imagination.

~~~
9oliYQjP
One idea in general, is jumping out of the browser, and not in the
Silverlight/Apollo way. It's important that we begin thinking of the Internet
in more abstract ways instead of the current primarily visual experience.
We've reached a point where a lot of objects we deal with on a daily basis are
augmented by computers (e.g., our cars). We're on the cusp of these devices
and many more being augmented by the Internet. What does it mean for my
fridge, book shelf, or weight-lifting equipment to have Internet access?
Questions like this have been left in the domain of so-called futurists or
academics. But I think it's time for industry to start taking these seriously.
The technology is here.

~~~
breily
The problem with that is that while there are millions of computers that can
connect to the internet, hardly any cars/fridges/whatever can do that right
now. The technology is there, but not widespread. So as a young startup trying
to get attention, the millions of potential users from traditional computers
pulls much more strongly than a few thousand internet ready fridges.

~~~
yters
Is it ever good for a startup to anticipate the future, or should they try to
surf the wave?

~~~
breily
Of the successful startups I can think of off the top of my head, few - if any
- were first to market. Especially with new technologies being riskier and
more expensive, it seems the wisest thing for a cash-strapped startup is to
stick with whats popular. Though avoiding risk is probably not a common trait
among tech entrepreneurs.

~~~
yters
I guess if I want to be cutting edge I have to either be academia or military,
huh?

------
jeroen
"[..] still algorithms, data structures, and low level programming are
marginal and it's hard to become a good developer without being exposed to
this concepts."

The people who would have become good developers in the "old days" will find
their way to this information and become good developers anyway.

~~~
Herring
This bears repeating. People think increased difficulty identifying the good
developers (lower signal:noise ratio) means there are fewer good developers.
It's a heuristic bias, as far as I can tell.

<http://en.wikipedia.org/wiki/Availability_heuristic>

------
DaniFong
"take reddit or even a much more complex application like ebay, if you take
away scalability I bet it is very hard to discover some very cool algorithm
inside."

I didn't know that assessing what people would like enough to read or buy was
a solved problem. ;-)

~~~
lg
maybe he's subtly alleging that they didn't do much in the way of solving it.

~~~
DaniFong
Maybe, but I think his main point was that the environment has changed, and
now that the gritty fundamentals of just making a web app are polished,
there's nothing left to do.

Except there probably is. In previous years, you'd have to do all sorts of
backbending to get your software in a cardboard box and on someone's shelf. Or
schlepping to the Fortune 500. Now, people can access underlying magic, if
there is any, much more directly. I can't think of a better example than
Google.

There's a certain magic to reddit, too. In it's heyday, the frontpage was
really, genuinely good. An algorithm doesn't have to be complex to work well.

And consider eBay. Let's just let people post stuff, right? But it would be a
mess without a search system, without a way to detect fraud, and without a way
to award users. None of these things are solved problems, really, and the
existing solutions took enough thought that many would be online auctioneers
said they thought it would never work.

~~~
neilc
I think that's all true -- there are core algorithmic issues in both reddit
and eBay that are interesting and for which there is a _lot_ of room for
improvement. But at least to me, the problem with most of the work being done
on webapps is that very little of the time is spent on these kinds of problems
-- the vast majority focuses on moving data back and forth from the database,
adjusting the UI, working around browser bugs, and similar grunt work. IMHO,
anyway.

------
dangoldin
I guess I can see where he's coming from but the point of all these frameworks
is to get the tedious/boring stuff out of the way to focus on your core
competency.

No longer can you just be a very good hacker to succeed, you also need to be
able to raise money, market your product, and quickly adapt as the excrement
hits the fan.

In any case, for good sites there is a lot of algorithm work going on in the
back end that may not be visible at first sight (pun intended). This goes back
to having good service - you shouldn't have to notice the good but you
definitely notice the bad.

~~~
wright
I agree that the frameworks are _great_ for automating a lot of the junk we
used to have to do manually. The "problem" is that people are cutting their
teeth on things that don't require much knowledge, so they may miss out on a
lot of fundamentals.

After the low-hanging fruit, there are some real problems that require some
serious knowledge to solve.

> _No longer can you just be a very good hacker to succeed, you also need to
> be able to raise money, market your product_

Some people are just coding, not doing startups :)

~~~
babyshake
"Some people are just coding, not doing startups :)"

heresy.

------
llimllib
Scalability is not a problem to be waved off. I think there are bigger chunks
of problem space to be fixed in scaling applications than there are remaining
in systems programming.

We're going to have a new generation of engineers that understands how shitty
the scalability situation is today, and has experience with its pain points,
and figures out exciting new solutions to those pain points.

(which is not to say that there aren't big problems remaining in systems
programming! Just that I think there's more to the scaling thing than this guy
does.)

------
tx
I disagree. "Web" part is usually just the UI, exactly how the author views it
himself. 10 years ago people did that in Visual Basic (yes, it existed for
those who don't know and was even more popular), but "heavy lifting in the
back end" has always been there, just as it is today, along with every
imaginable data structure from CS available in some library or another.

This is why I don't see what's different. I had a boring VB-Forms job in 97
immediately upon graduation, just like I can have a boring Rails job today.

Speaking of optimization: We have plenty of hardware startups here in Austin,
where cool guys code in C running under real-time OS and have 4-32MB of total
RAM (without paging) with very limited libraries, I bet there are more jobs
like this today that there were total programming jobs "back in the day",
since number of devices you can code for is growing exponentially. And oh yes,
they do have to optimize.

------
Goronmon
So, what we lost is that people no longer have to spend years developing in
lower level languages like C before being able to become competent
programmers? Maybe I could understand his point of view better if the author
explained explicitly why he was pessimistic about the future of web
programming instead of just vaguely mentioning that skills have been lost and
he has "no reasons to be optimistic".

I guess it's just a pet peeve of mine when people present an argument without
actually taking the time to bring forward any specific reason for the stance
they are taking. It's like they are expecting the commentators to do all the
work supporting or refuting their assertions.

------
staunch
I think for many seemingly simple web apps there's a huge payoff to spending
lots of time adding serious behind-the-scenes brains. It's an especially great
competitive advantage because it's invisible. Competitors won't even know how
important that part of your system is to winning, so they'll hopefully never
even try to implement something similar.

Max Levchin fighting fraud better than his competitors using sophisticated
analysis/number crunching is a good example.

------
michaelneale
"Not everything is bad of course, lately a lot of developers switched to Ruby,
Python and other elegant and much more abstract programming languages so at
least developers of today are exposed to things like functional programming"

Well - maybe on the python side, I don't know, but most rails/developers and
apps are blissfully unaware of anything remotely functional from what I have
seen (of course DHH and rails framework people have a field day).

------
pmorici
I can see where this guy is coming from. I've always viewed web programming as
sort of "low brow" but in the end it is what is in demand so it is what you do
regardless.

------
brlewis
Web programming lacks challenge only if you lack imagination.

