On Friday, 16 May 2014 at 19:28:26 UTC, H. S. Teoh via
Digitalmars-d wrote:
No software is feature-complete until it can read email. :-)
Today I skimmed over the PDF spec... and was horrified to
discover that
I had been living in a fool's paradise, thinking that it was
only a
passive *document* format. Turns out that it is yet another of
those
document format turned Turing-complete messes. With its own
embedded
flavor of Javascript, even. (And obviously, it's gratuitously
incompatible with "standard" JS). With the ability to attach
files.
(Huh, what?! I thought PDF was *the* attachment... nope, not
only it can
contain executable JS code, which is just a repetition of that
security
nightmare that is Outlook + ActiveX, it can also encapsulate an
entire
directory structure within itself. Yep. No bloatware here, move
along.)
PDFs can also embed *movies*. (!!!)
So basically, you can create an entire interactive website
inside a
single PDF file, complete with scripting, movies, embedded
subfiles
(basically a self-contained directory structure aka URL tree).
It would
utterly suck, of course, given that probably only crappy Adobe
bloatware
would be able to interpret the resulting mess. But you could do
it. And
obviously somebody *has* done it, since otherwise where did all
these
features come from? One of these days, somebody's gonna
reinvent the
browser inside a PDF file...
This seriously tempts me to go back to standardizing on
Postscript. I
just want the *document* part of it, darnit!! What's with this
obsession
of making every single file format Turing-complete so that it
can run
scripts and play movies?! Why reinvent the computer inside a
file
format?! Argh...
This is exactly the same thing that happened with HTML/HTTP.
HTTP was
originally designed to be stateless because... the whole point
was to
serve *static documents*?! It's a totally sucky protocol for
interactive
media, to say the least. All the pathology with cookies,
Javascript,
AJAX, and the rest of that jazz that got piled on top,
basically arose
from trying to shoehorn a stateless protocol into something
stateful.
Nobody ever considers to *replace* the darn protocol with
something
*designed* for that purpose. Or that three-headed 5-eyed slimy
monstrosity that is HTML, with something a little more...
*suitable*?...
for describing UI elements. Y'know, like a GUI toolkit or
something! But
no, we have to use HTML because HTML is cool, and therefore
that makes a
HTML UI implementation cool. The Emperor has no clothes, and
nobody says
a thing lest they be regarded as fools.
A future generation -- if there even will be one, at the rate
we're
going -- will look back and laugh at the foolishness that is
today's
computing world.
T
What a refreshing thread!
That's a hope in the world after all!
;-P
--
Paolo