
Software Calculus - The Missing Abstraction - fogus
http://blog.objectmentor.com/articles/2010/07/05/software-calculus-the-missing-abstraction
======
regularfry
I think that a lot of the comments arre missing an important point. What
Newton gave the world wasn't important because it was a neat bit of maths. It
was important because it suddenly put a whole range of physical phenomena and
engineering problems within analytical reach. That's what we need now. The
chances are that we've already got the answer, we just haven't got the
notation sorted out yet.

------
ziadbc
If he is talking about computer science, then there probably will be more
powerful abstractions discovered. If he is talking about software engineering,
I think it will be a challenge. Just as there is not theoretically perfect
design for a vehicle with cupholders and stereos, I don't think there will be
a perfect abstraction for designing the next twitter. The underlying
fundamentals may see drastic improvement, but I think we'd just take those and
glom on even more cruft with our newfound abstractions.

------
Tim_M
Isn't that what these are for: <http://en.wikipedia.org/wiki/Process_calculus>

~~~
jerf
Despite the coincidental naming, no. That's "just another formal modeling
tool" and isn't particularly likely to lead to a revolution in programming of
any sort anymore than any other formal modeling tool that formally models the
"same old" programming techniques the author decries.

I was tempted to link <http://en.wikibooks.org/wiki/Haskell/Zippers> , and now
I guess I have, as another sort of "thing that happens to share terminology
with calculus", but it is equally offtopic. Calculus here is metaphorically
the same calculus that you looked ahead to when you were in middle school; a
mysterious land where the impossible is trivial and full of strange concepts
and funny squiggles. We are that middle schooler.

Really, though, it's fair to read this essay as "Gosh, I sure wish a silver
bullet existed" and stretching only a bit further "If only there were some way
to get around the fact it takes great programmers to make great programs". The
silver bullet is that metaphorical calculus here, but it's a call for a silver
bullet all the same. We can all nod in recognition of the desire, even as we
are fairly sure nothing more will come of this than any other desire for the
silver bullet.

------
shasta
Calculus is a nice mathematical explanation of certain specific things
(functions, change, etc). Similarly we can hope to find nice mathematical
accounts of specific software domains, but "abstraction in general" is just as
broad as "mathematics in general" and we won't be finding a silver bullet
anytime soon.

------
joe_the_user
It sound like he's trying to fight the Church-Turing Thesis.

<http://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis>

I don't think he'll win.

~~~
herdrick
No, I think mostly he's talking about something unrelated and very important.
However, his last sentence is exactly as you say: "...In the end, however, an
algorithm expressed in prolog can be translated into any of the other
languages, demonstrating the eventual equivalence."

And in fact he's totally wrong about logic programming. It is a completely
different way to think about things, just like what he's looking for, it just
doesn't happen to make for shorter programs. A very good try though.

