Distributed RVS, Darcs, tech love

Distributed RVS, Darcs, tech love

am 20.10.2007 05:28:14 von xah

When i first heard about distributed revision control system about 2
years ago, i heard of Darcs, which is written in Haskell. I was hugely
excited, thinking about the functional programing i love, and the no-
side effect pure system i idolize, and the technology of human animal
i rapture in daily.

I have no serious actual need to use a revision system (RVS) in recent
years, so i never really tried Darcs (nor using any RVS). I just
thought the new-fangled distributed tech in combination of Haskell was
great.

About few months ago, i was updating a 6-year old page i wrote on unix
tools: ( http://xahlee.org/UnixResource_dir/usoft.html ) and i was
trying to update myself on the current state of art of revision
systems. I read Wikipedia this passage:

http://en.wikipedia.org/wiki/Darcs

« Darcs currently has a number of significant bugs (see e.g. [1]). The
most severe of them is "the Conflict bug" - an exponential blowup in
time needed to perform conflict resolution during merges, reaching
into the hours and days for "large" repositories. A redesign of the
repository format and wide-ranging changes in the codebase are planned
in order to fix this bug, and work on this is planned to start in
Spring 2007 [2]. »

This somewhat bursted my bubble, as there always was some doubt in the
back of my mind about just how Darcs is not just a fantasy-ware
trumpeted by a bunch of functional tech geekers. (i heard of Darcs in
irc emacs and haskell channels, who are often student and hobbiests
programers)

Also, in my light research, it was to my surprise, that Darcs is not
the only distributed systems, and perhaps not the first one neither,
contrary to my impressions. In fact, today there are quite a LOT
distributed revision systems, actually as a norm. When one looks into
these, such as Git ( http://en.wikipedia.org/wiki/Git_(software) ) one
finds that some of them are already in practical industrial use for
large projects, as opposed to Darcs's academic/hobbist kind of
community.

In addition to these findings, one additional that greatly pissed me
off entirely about Darcs, is the intro of the author (David Roundy)'s
essay about his (questionable-sounding) â€=9Ctheory of patchesâ€=9D=
used in
Darcs. ( http://darcs.net/manual/node8.html#Patch )

Here's the 2 passages:

«I think a little background on the author is in order. I am a
physicist, and think like a physicist. The proofs and theorems given
here are what I would call ``physicist'' proofs and theorems, which is
to say that while the proofs may not be rigorous, they are practical,
and the theorems are intended to give physical insight. It would be
great to have a mathematician work on this, but I am not a
mathematician, and don't care for math.»

«From the beginning of this theory, which originated as the result of
a series of email discussions with Tom Lord, I have looked at patches
as being analogous to the operators of quantum mechanics. I include in
this appendix footnotes explaining the theory of patches in terms of
the theory of quantum mechanics. I know that for most people this
won't help at all, but many of my friends (and as I write this all
three of darcs' users) are physicists, and this will be helpful to
them. To non-physicists, perhaps it will provide some insight into how
at least this physicist thinks.»

I love math. I respect Math. I'm nothing but a menial servant to
Mathematics. Who the fuck is this David guy, who proclaims that he's
no mathematician, then proceed to tell us he dosen't fucking care
about math? Then, he went on about HIS personal fucking zeal for
physics, in particular injecting the highly quacky â€=9Cquantum mechani=
csâ€=9D
with impunity.

Xah
xah@xahlee.org
âˆ=91 http://xahlee.org/

Re: Distributed RVS, Darcs, tech love

am 20.10.2007 22:43:14 von java.oke

On 20 Ott, 05:28, Xah Lee wrote:
>

yes-and-no.

Re: Distributed RVS, Darcs, tech love

am 20.10.2007 23:04:06 von llothar

> I love math. I respect Math. I'm nothing but a menial servant to
> Mathematics.

Programming and use cases are not maths. Many mathematics are
the worst programmers i've seen because they want to solve things and
much more often you just need heuristics. Once they are into exact
world they loose there capability to see the factor of relevance in
algorithms.

And they almost never match the mental model that the average
user has about a problem.

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 03:20:47 von Daniel Pitts

On Oct 20, 2:04 pm, llothar wrote:
> > I love math. I respect Math. I'm nothing but a menial servant to
> > Mathematics.
>
> Programming and use cases are not maths. Many mathematics are
> the worst programmers i've seen because they want to solve things and
> much more often you just need heuristics. Once they are into exact
> world they loose there capability to see the factor of relevance in
> algorithms.
>
> And they almost never match the mental model that the average
> user has about a problem.

I read somewhere that for large primes, using Fermat's Little Theorem
test is *good enough* for engineers because the chances of it being
wrong are less likely than a cosmic particle hitting your CPU at the
exact instant to cause a failure of the same sort. This is the
primary difference between engineers and mathematicians.

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 04:41:04 von George Neuner

On Sun, 21 Oct 2007 01:20:47 -0000, Daniel Pitts
wrote:

>On Oct 20, 2:04 pm, llothar wrote:
>> > I love math. I respect Math. I'm nothing but a menial servant to
>> > Mathematics.
>>
>> Programming and use cases are not maths. Many mathematics are
>> the worst programmers i've seen because they want to solve things and
>> much more often you just need heuristics. Once they are into exact
>> world they loose there capability to see the factor of relevance in
>> algorithms.
>>
>> And they almost never match the mental model that the average
>> user has about a problem.
>
>I read somewhere that for large primes, using Fermat's Little Theorem
>test is *good enough* for engineers because the chances of it being
>wrong are less likely than a cosmic particle hitting your CPU at the
>exact instant to cause a failure of the same sort. This is the
>primary difference between engineers and mathematicians.

An attractive person of the opposite sex stands on the other side of
the room. You are told that your approach must be made in a series of
discrete steps during which you may close half the remaining distance
between yourself and the other person.

Mathematician: "But I'll never get there!"

Engineer: "I'll get close enough."


--
for email reply remove "/" from address

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 04:42:26 von Lew

George Neuner wrote:
> An attractive person of the opposite sex stands on the other side of
> the room. You are told that your approach must be made in a series of
> discrete steps during which you may close half the remaining distance
> between yourself and the other person.
>
> Mathematician: "But I'll never get there!"
>
> Engineer: "I'll get close enough."

Mechanician (to the researcher): Hey, you look pretty good. What's your sign?

--
Lew

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 09:34:43 von grue

On Sat, 20 Oct 2007 14:04:06 -0700, llothar tried to confuse
everyone with this message:

>
>> I love math. I respect Math. I'm nothing but a menial servant to
>> Mathematics.
>
>Programming and use cases are not maths. Many mathematics are
>the worst programmers i've seen because they want to solve things and
>much more often you just need heuristics. Once they are into exact
>world they loose there capability to see the factor of relevance in
>algorithms.
>
>And they almost never match the mental model that the average
>user has about a problem.

I'm, not sure that I'm getting your point, but are you trying to argue that
_not_ knowing mathemathics makes you a better programmer? Or maybe that learning
math is useless to a programmer? This must be the most ignorant post I've seen
this week. The *best* programmers I've seen actually had mathematic education.
The programmers who don't know math are the ones who end up on DailyWTF.

--
|Don't believe this - you're not worthless ,gr---------.ru
|It's us against millions and we can't take them all... | ue il |
|But we can take them on! | @ma |
| (A Wilhelm Scream - The Rip) |______________|

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 15:09:18 von llothar

> I'm, not sure that I'm getting your point, but are you trying to argue that
> _not_ knowing mathemathics makes you a better programmer?

No but it doesn't help you very much either. They are just different
skills.

> Or maybe that learning math is useless to a programmer?

No and at least the mathematical idea of building a universe on a
basic set
of axioms is pretty exciting for a programmer. But it's the idea not
the real
wisdom (I never had to use any serious maths in my 25 years of
programming)
that you need as a programmer

> This must be the most ignorant post I've seen
> this week. The *best* programmers I've seen actually had mathematic education.

Depends. I would call Knuth as one of the worst programmers. Look at
his total
failures on literature programming. Software Engineering is something
very
different. Having a dead - i mean end of development line software
like TeX - and
then trying to base a theory about software engineering (which is
based on changes)
is so absolutely stupid ...

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 15:52:05 von Lew

llothar wrote:
> Depends. I would call Knuth as one of the worst programmers. Look at
> his total
> failures on literature programming. Software Engineering is something

Umm, the term is "literate" programmer and there is evidence that it is not a
"failure".

> very
> different. Having a dead - i mean end of development line software
> like TeX - and

Based on what do you call it "dead end". It's used, it's outlasted many other
flashes in the pan, it does what its users require. You will need evidence
for such a claim.

> then trying to base a theory about software engineering (which is
> based on changes)

"base a theory" on what? There's a clause missing here.

> is so absolutely stupid ...

Is that a technical evaluation? It looks like random inflammatory comments
without basis in logic or evidence. Can stupidity be absolute? What is the
metric of stupidity?

How would you disprove that assertion? Oh, wait, there wasn't an assertion.
The sentence was incomplete. What are you asserting?

A theory based on what, exactly, is "so absolutely stupid"?

--
Lew

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 16:39:53 von Arne

Lew wrote:
>> very
>> different. Having a dead - i mean end of development line software
>> like TeX - and
>
> Based on what do you call it "dead end". It's used, it's outlasted many
> other flashes in the pan, it does what its users require. You will need
> evidence for such a claim.

According to wikipedia the last version is from december 2002.

That level of activity could be considered dead.

It would for almost any other software. Tex has some
"absolute" over it, so I am not sure normal software
practices apply.

But you could argue based on that.

Arne

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 16:50:02 von Arne

llothar wrote:
>> I'm, not sure that I'm getting your point, but are you trying to argue that
>> _not_ knowing mathemathics makes you a better programmer?
>
> No but it doesn't help you very much either. They are just different
> skills.

Many things within programming have a foundation in mathematics
and mathematical logic.

>> Or maybe that learning math is useless to a programmer?
>
> No and at least the mathematical idea of building a universe on a
> basic set
> of axioms is pretty exciting for a programmer. But it's the idea not
> the real
> wisdom (I never had to use any serious maths in my 25 years of
> programming)
> that you need as a programmer

Depends obvious a bot on what you consider serious math.

Expression evaluation, floating point characteristics, relational
database theory, simulation, optimum location, encryption etc.
are all based on mathematics of different levels.

>> This must be the most ignorant post I've seen
>> this week. The *best* programmers I've seen actually had mathematic education.
>
> Depends. I would call Knuth as one of the worst programmers. Look at
> his total
> failures on literature programming. Software Engineering is something
> very
> different.

I think you will find it very difficult to write a piece of code
that are not heavily influenced by Knuth.

Arne

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 16:56:10 von OMouse

For the love of the Perl, Python, Lisp, Java and functional
programmers, please just give an abstract of what you've written and
link to it?

-Rudolf

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 17:02:11 von Lew

Arne Vajhøj wrote:
> Lew wrote:
>>> very
>>> different. Having a dead - i mean end of development line software
>>> like TeX - and
>>
>> Based on what do you call it "dead end". It's used, it's outlasted
>> many other flashes in the pan, it does what its users require. You
>> will need evidence for such a claim.
>
> According to wikipedia the last version is from december 2002.
>
> That level of activity could be considered dead.
>
> It would for almost any other software. Tex has some
> "absolute" over it, so I am not sure normal software
> practices apply.
>
> But you could argue based on that.

No, you present good evidence that TeX is a dead end. It still doesn't
support the claim llothar wrote:
>> Depends. I would call Knuth as one of the worst programmers.

Plenty of brilliant programmers have written software that is no longer used
(except in legacy use cases). Good software, too. I suppose what I was
reacting to was the notion that TeX was a dead end at the time Knuth came up
with it, and that that somehow invalidated the accomplishment of coming up
with TeX.

The fact that it is still in use even five years after cessation of
development does mitigate the "dead end" assessment at least potentially.

--
Lew

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 17:04:39 von Lew

OMouse wrote:
> For the love of the Perl, Python, Lisp, Java and functional
> programmers, please just give an abstract of what you've written and
> link to it?

I expect you'll be ignored on that. Xah Lee reposts and reposts these essays
from years agone. I don't even read his posts, just the responses.

--
Lew

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 17:31:45 von llothar

On 21 Okt., 21:39, Arne Vajh=F8j wrote:

> That level of activity could be considered dead.

For me at least 2% of the total line count should be changed
to call it non dead.

I don't say it it not used anymore for users it might be
not dead but this is not the point under discussion here.

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 17:42:29 von llothar

>
> Depends obvious a bot on what you consider serious math.
>
> Expression evaluation, floating point characteristics, relational
> database theory, simulation, optimum location, encryption etc.
> are all based on mathematics of different levels.

Thats not i call serious maths. You just need a very little
understanding
here for all this concepts. A "extended high school degress" should be
well
enough (based on our education system in Germany - don't know how much
math
you do in a US high schoool). A little bit set theory and of course
boolean
algebra (on a very low level but unfortunately not teached in school).

But where do you need the way to prove mathematical theorems and this
is what
i call as serious math. You don't need to prove anything you just need
to
use it. (In 95% of all programming, except some embedded programming
with
DSP's or numeric.)

> > Depends. I would call Knuth as one of the worst programmers. Look at
> > his total
> > failures on literature programming. Software Engineering is something
> > very
> > different.
>
> I think you will find it very difficult to write a piece of code
> that are not heavily influenced by Knuth.

Well programming in the small like sort algorithms for sure. But not
for his great discoveries but for one of the first man who was paid
for this by this university employee.

But in the field of software enginering as i said before he
completely
failed. And for me programming is just another word for software
engineering these days.

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 17:45:59 von Lew

llothar wrote:
> On 21 Okt., 21:39, Arne Vajhøj wrote:
>
>> That level of activity could be considered dead.
>
> For me at least 2% of the total line count should be changed
> to call it non dead.
>
> I don't say it it not used anymore for users it might be
> not dead but this is not the point under discussion here.

No, there are two points - not whether Tex is "dead", but whether it's a "dead
end" (which do you mean?), and whether in any way that says anything about
Knuth's ability as a programmer.

Evidence is that TeX development is dead. There is not yet firm evidence that
Tex is a "dead end" (or even what that means), and there has been none (nor, I
expect, is there any) that any of that reflects on Knuth's skill as a programmer.

The switch from asserting "dead end" to asserting "dead" is sort of an
interesting rhetorical device. Just pick one or the other, or if you prefer,
assert both, but please be clear. Should we just accept that you meant, "less
than 2% of total line count changed"? Per year? Per century? What if the
code is perfect and has no need of change? Is it (a) dead (end)?

(Who uses line count as a metric of anything any more?)

--
Lew

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 17:52:03 von Lew

llothar wrote:
> Well programming in the small like sort algorithms for sure. But not
> for his great discoveries but for one of the first man who was paid
> for this by this university employee.

What a curious thesis.

> But in the field of software enginering as i said before he
> completely
> failed.

As you said, but for which you provided absolutely no evidence, and the
counter evidence that Arne provided is that he has not "completely" failed for
any useful value of "failed". Statements of absolute only need one
counterexample. /The Art of Programming/ is arguably the most significant
contribution to the field of software engineering. By any reasonable
assessment, on the basis of that one work alone Knuth was a success.

Your rhetorical tack of unfounded assertions and inflammatory
characterizations, not to say complete disregard for the reality of the
situation, do not make a cogent case, much less a convincing one.

I am afraid that your conclusion is quite mistaken. Knuth is, if anything, a
huge success in the field of software engineering, whether you rate it as
making a contribution to the art, or as being paid to perform the art.

--
Lew

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 19:34:56 von Joachim Durchholz

Lew schrieb:
> I am afraid that your conclusion is quite mistaken. Knuth is, if
> anything, a huge success in the field of software engineering, whether
> you rate it as making a contribution to the art, or as being paid to
> perform the art.

Well, sort of.
Some of the code given is unreadable. (He obviously didn't take the
"structured programming" thing to heart.)
Worse, some of the code given is inscrutable, and remains unexplained
(e.g. the code for the spectral test algorithm).
Whole classes of algorithms were omitted. This is probably no fault of
Knuth as a programmer, but simply a field that's moving faster than a
single person can keep up with.

These are small detractions from a large overall contribution.
In particular, I find llothars characterization of TeX wrong: it is one
of the least buggy typesetting programs ever written (not a small feat),
and it *still* produces output that is as least as good as what other
programs do, and in fact better than the vast majority.
It also has downsides, most notably the markup language is pure horror.

TeX's markup language is a dead end.
TeX's algorithm isn't. Actually it has been extracted from the software
and is available as a functional program, waiting to be embedded into a
typesetting system with more modern qualities.

Regards,
Jo

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 20:11:08 von fireblade

On Oct 20, 6:20 pm, Daniel Pitts wrote:
> On Oct 20, 2:04 pm, llothar wrote:
>
> > > I love math. I respect Math. I'm nothing but a menial servant to
> > > Mathematics.
>
> > Programming and use cases are not maths. Many mathematics are
> > the worst programmers i've seen because they want to solve things and
> > much more often you just need heuristics. Once they are into exact
> > world they loose there capability to see the factor of relevance in
> > algorithms.
>
> > And they almost never match the mental model that the average
> > user has about a problem.
>
> I read somewhere that for large primes, using Fermat's Little Theorem
> test is *good enough* for engineers because the chances of it being
> wrong are less likely than a cosmic particle hitting your CPU at the
> exact instant to cause a failure of the same sort. This is the
> primary difference between engineers and mathematicians.

Carmichael number are the ones who are making the problem , but they
are very rare.
There are 1,401,644 Carmichael numbers between 1 and 1018
(approximately one in 700 billion numbers.)
http://en.wikipedia.org/wiki/Carmichael_number If you want to be sure
use Miller-Rabin test.

Slobodan Blazeski

Re: Distributed RVS, Darcs, tech love

am 21.10.2007 22:28:26 von llothar

On 21 Okt., 22:45, Lew wrote:

> Evidence is that TeX development is dead.

Exactly and Knuths only contribution to software development was the
theory of
"literate" programming. As i said for me algorithms are not software
development,
this is programming in the small (something left for coding apes), not
programming
in the large. There are no problems anymore with programming the
small, sure you
can try to develop Judy Arrays or another more optimized sorting
algorithm, but
this has no real world effect. It is theoretical computer science -
well a few
people seem to like this.

And as an evidence that this theory works ("literate" programming) -
there is no
easy prove about efficient workflow - was his TeX program where only
some parts
are handled like this. But drawing an conclusion from a "developement
dead"
project to other "in development" projects is just sorry: fucking
stupid.

Everythink in the real world says that "literate" programming is not
useable.
Sure if you are an academic guy you can do endless post-mortem
analysis you might
find this amazing but it is just as worthless for the real world as a
guy building
a copy of the Eiffel tower from burned matches - a pure hobby.

Re: Distributed RVS, Darcs, tech love

am 22.10.2007 00:11:57 von Lew

llothar wrote:
> On 21 Okt., 22:45, Lew wrote:
>
>> Evidence is that TeX development is dead.
>
> Exactly and Knuths only contribution to software development was the
> theory of
> "literate" programming. As i said for me algorithms are not software
> development,
> this is programming in the small (something left for coding apes), not
> programming
> in the large. There are no problems anymore with programming the
> small, sure you
> can try to develop Judy Arrays or another more optimized sorting
> algorithm, but
> this has no real world effect. It is theoretical computer science -
> well a few
> people seem to like this.
>
> And as an evidence that this theory works ("literate" programming) -
> there is no
> easy prove about efficient workflow - was his TeX program where only
> some parts
> are handled like this. But drawing an conclusion from a "developement
> dead"
> project to other "in development" projects is just sorry: fucking
> stupid.

No, I conclude that literate programming works from the prevalence of tools
like Javadoc and Doxygen, and the Sun and MS coding standards documents. I
see the direct benefits in my own work every day.

Proposing a straw-man argument then knocking it down with mere purple prose
like "just sorry: [sic] fucking stupid" is, sorry, just fucking stupid. See?
No logic there at all. Thus proving that there's no logic there at all.

> Everythink in the real world says that "literate" programming is not
> useable.

Rrr? "Everythink" does, eh? Maybe what the world needs instead is literate
programmers, then.

Cite some specifics, please? And remember, when you say "everything" that
even one counter-example disproves.

There is evidence that aspects of "literate" programming do work. Besides,
that a theory is wrong is part of science, not a denigration of the scientist.
Even a wrong theory, like Newtonian mechanics, advances the science (e.g.,
physics) and is evidence that the scientist (Isaac Newton) is a genius. Like
Donald Knuth.

> Sure if you are an academic guy you can do endless post-mortem
> analysis you might
> find this amazing but it is just as worthless for the real world as a
> guy building
> a copy of the Eiffel tower from burned matches - a pure hobby.

So you say, again with just rhetoric and complete lack of evidence or argument
to support the outrageous assertion. Many people, myself included, have seen
your so-called "real world" benefit significantly from academic results.
Object-oriented programming is an example. The fertilization works both ways;
check out how the science of computer graphics expanded thanks to LucasFilms.

Try using reason, logic and evidence for your points instead of merely
shouting obscenities, hm?

--
Lew

Re: Distributed RVS, Darcs, tech love

am 22.10.2007 00:50:58 von Owen Jacobson

On Oct 21, 3:11 pm, Lew wrote:

> Try using reason, logic and evidence for your points instead of merely
> shouting obscenities, hm?

You're expecting logic from someone who asserts that

> llothar wrote:
> > only contribution to software development was the theory of
> > "literate" programming.

Good luck, mate.

-o

Re: Distributed RVS, Darcs, tech love

am 22.10.2007 09:24:09 von Kay Schluehr

On 21 Okt., 19:34, Joachim Durchholz wrote:

> These are small detractions from a large overall contribution.
> In particular, I find llothars characterization of TeX wrong: it is one
> of the least buggy typesetting programs ever written (not a small feat),
> and it *still* produces output that is as least as good as what other
> programs do, and in fact better than the vast majority.

Acording to the Legend Of The Great Knuth ( derived from personal
confessions ) Knuth used a "Clean Room" approach. He specified and
verified the entire program before he started hacking it into the
machine. The result is accordingly. What has changed since then is
computer power and easeness of tool usage. One would rather use an
incremental approach today and specify + hack + test the program in
tiny pieces without struggling too much with the programming
equipment. So it also just incrementally improves.

TeX pestilence (was Distributed RVS, Darcs, tech love)

am 22.10.2007 14:50:30 von xah

TeX, in my opinion, has done massive damage to the computing world.

i have written on this variously in emails. No coherent argument, but
the basic thoughts are here:
http://xahlee.org/cmaci/notation/TeX_pestilence.html

it's slightly repeatitous there. But i think i might summarize in gist
the few fundanmental issues, all sterm from just the first one:

1. A typesetting system per se, not a mathematical expressions
representation system.

2. The free nature, like cigeratte given to children, contaminated the
entire field of math knowledge representation into 2 decades of
stagnation.

3. Being a typesetting system, brainwashed entire generation of
mathematicians into micro-spacing doodling.

4. Inargurated a massive collection of documents that are invalid
HTML. (due to the programing moron's ingorance and need to idolize a
leader, and TeX's inherent problem of being a typesetting system that
is unsuitable of representing any structure or semantics)

5. This is arguable and trivial, but i think TeX judged as a computer
language in particular its syntax, on esthetical grounds, sucks in
major ways.

Btw, a example of item 4 above, is Python's documentation. Fucking
asses and holes.

Xah
xah@xahlee.org
http://xahlee.org/

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 22.10.2007 15:07:37 von Lew

Xah Lee wrote:
> i have written ... No coherent argument,

--
Lew

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 22.10.2007 17:30:51 von George Neuner

On Mon, 22 Oct 2007 05:50:30 -0700, Xah Lee wrote:

>TeX, in my opinion, has done massive damage to the computing world.
>
>i have written on this variously in emails. No coherent argument, but
>the basic thoughts are here:
>http://xahlee.org/cmaci/notation/TeX_pestilence.html

Knuth did a whole lot more for computing than you have or, probably,
ever will. Your arrogance is truly amazing.


>1. A typesetting system per se, not a mathematical expressions
>representation system.

So?

>2. The free nature, like cigeratte given to children, contaminated the
>entire field of math knowledge representation into 2 decades of
>stagnation.

What the frac are you talking about?

>3. Being a typesetting system, brainwashed entire generation of
>mathematicians into micro-spacing doodling.

Like they wouldn't be doodling anyway. At least the TeX doodling is
likely to be readable (as if anyone cared).

>4. Inargurated a massive collection of documents that are invalid
>HTML. (due to the programing moron's ingorance and need to idolize a
>leader, and TeX's inherent problem of being a typesetting system that
>is unsuitable of representing any structure or semantics)

HTML is unsuitable for representing most structure and semantics. And
legions of fumbling idiots compose brand new invalid HTML every day.

>5. This is arguable and trivial, but i think TeX judged as a computer
>language in particular its syntax, on esthetical grounds, sucks in
>major ways.

No one except you thinks TeX is a "computer language".

>Btw, a example of item 4 above, is Python's documentation. Fucking
>asses and holes.

Watch your language, there are children present.

George
--
for email reply remove "/" from address

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 22.10.2007 18:19:05 von Lew

Xah Lee wrote:
>> 4. Inargurated a massive collection of documents that are invalid
>> HTML. (due to the programing moron's ingorance and need to idolize a
>> leader, and TeX's inherent problem of being a typesetting system that
>> is unsuitable of representing any structure or semantics)

There's something a little fey about someone calling out a "programing [sic]
moron's ingorance [sic]" and then devolving right into blue speech.

I think Xah Lee should look into:


--
Lew

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 22.10.2007 22:10:29 von dformosa

["Followup-To:" header set to comp.lang.functional.]
On Mon, 22 Oct 2007 11:30:51 -0400, George Neuner wrote:
> On Mon, 22 Oct 2007 05:50:30 -0700, Xah Lee wrote:

[...]

>>5. This is arguable and trivial, but i think TeX judged as a computer
>>language in particular its syntax, on esthetical grounds, sucks in
>>major ways.
>
> No one except you thinks TeX is a "computer language".

TeX is Turing compleate so it is quite valid to consider it a computer language. Though
Xah Lee is correct more by co-incidence.

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 22.10.2007 22:33:50 von Joachim Durchholz

George Neuner schrieb:
>> 5. This is arguable and trivial, but i think TeX judged as a computer
>> language in particular its syntax, on esthetical grounds, sucks in
>> major ways.
>
> No one except you thinks TeX is a "computer language".

But it is.
It's Turing-complete.
And yes, it sucks in major ways.
But no, I don't hold that against Knuth. It was designed in days when
domain-specific languages didn't have a roughly standardized syntax.

(Truth remains truth, regardless of who's upholding it.)

Regards,
Jo

Re: Distributed RVS, Darcs, tech love

am 23.10.2007 00:03:57 von glex_no-spam

Lew wrote:
> George Neuner wrote:
>> An attractive person of the opposite sex stands on the other side of
>> the room. You are told that your approach must be made in a series of
>> discrete steps during which you may close half the remaining distance
>> between yourself and the other person.
>>
>> Mathematician: "But I'll never get there!"
>>
>> Engineer: "I'll get close enough."
>
> Mechanician (to the researcher): Hey, you look pretty good. What's your
> sign?

To which he/she replies, "Negative". :-)

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 24.10.2007 17:01:01 von Michele Dondi

On Mon, 22 Oct 2007 09:07:37 -0400, Lew wrote:

>Xah Lee wrote:
>> i have written ... No coherent argument,

I've long killfiled XL to the effect that all of his threads are
ignored altogether, since the guy is "nice" enough to only take part
to his own rants, but occasionally some posts slip out and now from
the Subject I infer that the new target for his hate is TeX, which
makes me wonder, given his views on Perl (and "unixisms in general"
iirc) what our "friend" would think about such a wonderful tool as
PerlTeX - from his POV certainly a synergy between two of the worst
devil's devices. :)


Michele
--
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^ ..'KYU;*EVH[.FHF2W+#"\Z*5TI/ER 256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 24.10.2007 20:21:35 von Brian Blackmore

In comp.text.tex Michele Dondi wrote:
> On Mon, 22 Oct 2007 09:07:37 -0400, Lew wrote:

> >Xah Lee wrote:
> >> i have written ... No coherent argument,

> I've long killfiled XL to the effect that all of his threads are
> ignored altogether, since the guy is "nice" enough to only take part
> to his own rants, but occasionally some posts slip out and now from
> the Subject I infer that the new target for his hate is TeX, which
> makes me wonder, given his views on Perl (and "unixisms in general"
> iirc) what our "friend" would think about such a wonderful tool as
> PerlTeX - from his POV certainly a synergy between two of the worst
> devil's devices. :)

I find it very sad and, perhaps, very telling, that XL attacks TeX on
all the non-TeX newsgroups. This is, perhaps, strange? I did some
searching around just to find the original thread and it seems to be
hiding on the python group; this might explain all of his cross-posting,
but it doesn't explain how someone so confused about a simple language
like TeX can't even figure out how to post to the appropriate group.

I would be happy to disagree with him on several points, in particular
as regards to the programming language TeX. As I quickly glance at his
original rant on his web page, I see many other things that seem to be
misunderstood. Perhaps if I were to look at his background and
qualifications, some of it would become clear.

In any case, since this is the TeX channel, I will mention that I think
TeX is an excellent programming language and, given the state of affairs
in computer science departments these days, I think every f...ing CS
grad should have to do a semester of TeX _programming_. (Hey, XL uses
so many words that are completely meaningless and oft regarded as foul,
so I figured I'd better use one.) I see too many CS grads these days
that can't do anything unless there's already a java module to do it,
and then they get confused about using the module according to the
documentation. Most of these people would garner nothing but benefit
from having to spend time _thinking_, and that is one thing that TeX
programming requires.

In many cases, helping people with TeX is just making them realize how
to think about the problem in the correct way (for the system at hand).
The ability to `change gears' in this fashion is a general aspect of
problem solving that they seem, in general, to lack.

--
Brian Blackmore
blb8 at po dot cwru dot edu

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 24.10.2007 21:17:29 von Michele Dondi

On Wed, 24 Oct 2007 18:21:35 +0000 (UTC), Brian Blackmore
wrote:

>I would be happy to disagree with him on several points, in particular
>as regards to the programming language TeX. As I quickly glance at his

Don't! It's a (well known) troll, there's no point in feeding a troll.


Michele
--
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^ ..'KYU;*EVH[.FHF2W+#"\Z*5TI/ER 256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 24.10.2007 22:09:20 von Charlton Wilbur

>>>>> "BB" == Brian Blackmore writes:

BB> I find it very sad and, perhaps, very telling, that XL attacks
BB> TeX on all the non-TeX newsgroups. This is, perhaps, strange?

It's strange by the standards of reasonable Usenettery, insofar as
such a thing exists, but Xah is well known for this kind of nonsense.
For a while he was attempting to promote inter-newsgroup communication
by posting a sample of his Perl and an improved version in Python to
comp.lang.python and comp.lang.perl.misc; it fizzled when, instead of
the Perlers and Pythonistas flaming each other, they joined together
to criticize his code.

I wouldn't waste any more energy on Xah, unless it were expended
adding him to your killfile.

Charlton


--
Charlton Wilbur
cwilbur@chromatico.net

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 24.10.2007 22:15:56 von jurgenex

Lew wrote:
> Xah Lee wrote:
>> i have written ... No coherent argument,

Actually the modified title is wrong. It should be

The Xah Lee pestilence

Please see his posting history of off-topic random rambling for details.



Oh, and PLEASE


+-------------------+ .:\:\:/:/:.
| PLEASE DO NOT | :.:\:\:/:/:.:
| FEED THE TROLLS | :=.' - - '.=:
| | '=(\ 9 9 /)='
| Thank you, | ( (_) )
| Management | /`-vvv-'\
+-------------------+ / \
| | @@@ / /|,,,,,|\ \
| | @@@ /_// /^\ \\_\
@x@@x@ | | |/ WW( ( ) )WW
\||||/ | | \| __\,,\ /,,/__
\||/ | | | jgs (______Y______)
/\/\/\/\/\/\/\/\//\/\\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ /\
============================================================ ==

jue

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 25.10.2007 00:38:31 von Wildemar Wildenburger

Joachim Durchholz wrote:
> And yes, it sucks in major ways.
>
Oh my God, I don't want to, but I just have to ask: Why?

/W

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 25.10.2007 00:40:34 von jurgenex

Wildemar Wildenburger wrote:
> Joachim Durchholz wrote:
>> And yes, it sucks in major ways.
>>
> Oh my God, I don't want to, but I just have to ask: Why?

Because TeX has nothing to do with either Perl, Python, Lisp, Java, or
functional programming.

jue

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 25.10.2007 00:52:52 von Wildemar Wildenburger

Jürgen Exner wrote:
> Wildemar Wildenburger wrote:
>> Joachim Durchholz wrote:
>>> And yes, it [syntactically] sucks in major ways.
>>>
>> Oh my God, I don't want to, but I just have to ask: Why?
>
> Because TeX has nothing to do with either Perl, Python, Lisp, Java, or
> functional programming.
>
That's not an answer to my question and you know it.

But OK, F'up to c.l.tex (makes me wonder why Xah didn't ... well,
actually it doesn't, nevermind ;))


/W

Re: TeX pestilence

am 25.10.2007 03:09:24 von Gernot Hassenpflug

Charlton Wilbur writes:

>>>>>> "BB" == Brian Blackmore writes:
>
> BB> I find it very sad and, perhaps, very telling, that XL attacks
> BB> TeX on all the non-TeX newsgroups. This is, perhaps, strange?
>
> It's strange by the standards of reasonable Usenettery, insofar as
> such a thing exists, but Xah is well known for this kind of nonsense.
/../
> I wouldn't waste any more energy on Xah, unless it were expended
> adding him to your killfile.

Oh dear, I only knew it from its "how to improve Emacs" (to make it
more in line with MS Windows users' knowledge and expectations)
postings on the emacs newgroups. Morphing is just *so* wrong! Ha,
another killfile entry....
--
BOFH excuse #361:

Communist revolutionaries taking over the server room and demanding all the computers in the building or they shoot the sysadmin. Poor misguided fools.

Re: TeX pestilence (was Distributed RVS, Darcs, tech love)

am 25.10.2007 09:33:44 von Joachim Durchholz

Wildemar Wildenburger schrieb:
> Joachim Durchholz wrote:
>> And yes, it sucks in major ways.
>>
> Oh my God, I don't want to, but I just have to ask: Why?

First of all, irregularities.
http://en.wikipedia.org/wiki/TeX#The_typesetting_system:
"[...]almost all of TeX's syntactic properties can be changed on the fly
which makes TeX input hard to parse by anything but TeX itself."

Then: No locals.
In particular, processing is controlled via global flags. If you need a
different setting while a macro is processing, you have to remember to
reset it before macro exit.

Many packages just set the flags to a standard value.
In other words, if you didn't know that a specific flag affects the
operation of your macro, the macro may break when used with a different
package that sets the flag to a different default value. (This may be
one of the reasons why everybody just sticks with LaTeX.)

Four stages of processing, and you have to know exactly which is
responsible for what to predict the outcome of a macro.
This is more a documentation problem - for several features, there's no
description which stage is responsible for processing it. That can make
working with a feature difficult, since you don't know which processing
steps have already been done and which are still to happen.


My TeX days are long gone, so I may have forgotten some of the problems,
but I think these were the worst. (And, of course, I may have gotten
some details mixed up, so if you're seriously interested in the good and
bad sides of TeX, verify before taking anything for granted.)

Note that it's just the markup language that I object to. The
typesetting algorithms seem to be remarkably regular and robust.
I would have very much liked to see TeX split up into a typesetting
library and a language processor.
Unfortunately, that was beyond my capabilities at the time I came into
contact with TeX, and I never got around to revisiting the issue.
However, the TeX algorithm has been extracted and made available as a

Regards,
Jo

Re: TeX pestilence

am 26.10.2007 11:04:01 von David Kastrup

Brian Blackmore writes:

> I would be happy to disagree with him on several points, in
> particular as regards to the programming language TeX. As I quickly
> glance at his original rant on his web page, I see many other things
> that seem to be misunderstood. Perhaps if I were to look at his
> background and qualifications, some of it would become clear.
>
> In any case, since this is the TeX channel, I will mention that I
> think TeX is an excellent programming language

Uh no, it isn't. It is reasonably flexible for macro/input
transformation. It is also quite good for typesetting using its fixed
algorithms programmed in Pascal.

But as a programming language, it is a steaming pile of crap. And
that's not least because it is a team from a blind and a lame
programming system: only TeX's stomach can _affect_ a variable, but
only TeX's mouth can _look_ at a variable and make decisions based on
its values, decisions for which a resulting action again can only be
done by the blind stomach. Both systems kick in at different points
of time and different circumstances. And you must not employ the
stomach in the middle of typesetting a word, or kernings and ligatures
will break.

> Most of these people would garner nothing but benefit from having to
> spend time _thinking_, and that is one thing that TeX programming
> requires.

I think that one should not promulgate alcoholism and depression in
that manner. Programming TeX really sucks, and its creator Donald
Knuth has expressed his amazement at what tasks people actually have
bothered implementing in TeX (rather than in Pascal or whatever) and
says that it probably had been a mistake from him to let himself be
prodded into adding the basics for making programming, however awful,
basically possible in TeX.

--
David Kastrup

Re: TeX pestilence

am 26.10.2007 11:59:37 von DFS

On 26 Oct 2007 at 9:04, David Kastrup wrote:
> Brian Blackmore writes:
>
>> I would be happy to disagree with him on several points, in
>> particular as regards to the programming language TeX. As I quickly
>> glance at his original rant on his web page, I see many other things
>> that seem to be misunderstood. Perhaps if I were to look at his
>> background and qualifications, some of it would become clear.
>>
>> In any case, since this is the TeX channel, I will mention that I
>> think TeX is an excellent programming language
>
> Uh no, it isn't. It is reasonably flexible for macro/input
> transformation. It is also quite good for typesetting using its fixed
> algorithms programmed in Pascal.

You completely underestimate what can be done in TeX. It's actually
Turing complete.

CJ

Re: TeX pestilence

am 26.10.2007 12:09:22 von David Kastrup

CJ writes:

> On 26 Oct 2007 at 9:04, David Kastrup wrote:
>> Brian Blackmore writes:
>>
>>> I would be happy to disagree with him on several points, in
>>> particular as regards to the programming language TeX. As I quickly
>>> glance at his original rant on his web page, I see many other things
>>> that seem to be misunderstood. Perhaps if I were to look at his
>>> background and qualifications, some of it would become clear.
>>>
>>> In any case, since this is the TeX channel, I will mention that I
>>> think TeX is an excellent programming language
>>
>> Uh no, it isn't. It is reasonably flexible for macro/input
>> transformation. It is also quite good for typesetting using its fixed
>> algorithms programmed in Pascal.
>
> You completely underestimate what can be done in TeX. It's actually
> Turing complete.

Is there a particular reason you elided all the detailed explanation I
give? First: I am one of the most renowned TeX hackers in the field,
so don't try telling me that I don't know what I am talking about. In
particular after cutting away everything where I _am_ talking about
it.

Secondly: only a complete idiot or somebody without any serious
programming experience confuses "excellent programming language" with
"Turing complete". "Turing complete" is a statement about what kind
of programs a computer can handle in principle, without any
considerations of available actual resources such as CPU power or
memory. "excellent programming language" is a statement about what
kind of programs a programmer can handle, with a lot of consideration
to available actual resources such as concentration, code density,
naturality of expression and so on.

--
David Kastrup

Re: TeX pestilence

am 26.10.2007 13:47:29 von David Kastrup

Gernot Hassenpflug writes:

> David Kastrup writes:
>
>> Is there a particular reason you elided all the detailed explanation I
>> give? First: I am one of the most renowned TeX hackers in the field,
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> LOL

Hm?

--
David Kastrup

Re: TeX pestilence

am 26.10.2007 13:51:32 von Gernot Hassenpflug

David Kastrup writes:

> CJ writes:
>
>> On 26 Oct 2007 at 9:04, David Kastrup wrote:
>>> Brian Blackmore writes:
>>>
>>>> I would be happy to disagree with him on several points, in
>>>> particular as regards to the programming language TeX. As I quickly
>>>> glance at his original rant on his web page, I see many other things
>>>> that seem to be misunderstood. Perhaps if I were to look at his
>>>> background and qualifications, some of it would become clear.
>>>>
>>>> In any case, since this is the TeX channel, I will mention that I
>>>> think TeX is an excellent programming language
>>>
>>> Uh no, it isn't. It is reasonably flexible for macro/input
>>> transformation. It is also quite good for typesetting using its fixed
>>> algorithms programmed in Pascal.
>>
>> You completely underestimate what can be done in TeX. It's actually
>> Turing complete.
>
> Is there a particular reason you elided all the detailed explanation I
> give? First: I am one of the most renowned TeX hackers in the field,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LOL

> so don't try telling me that I don't know what I am talking about. In
> particular after cutting away everything where I _am_ talking about
> it.
> Secondly: only a complete idiot or somebody without any serious
> programming experience confuses "excellent programming language" with
> "Turing complete". "Turing complete" is a statement about what kind
> of programs a computer can handle in principle, without any
> considerations of available actual resources such as CPU power or
> memory. "excellent programming language" is a statement about what
> kind of programs a programmer can handle, with a lot of consideration
> to available actual resources such as concentration, code density,
> naturality of expression and so on.

Agreed.
--
BOFH excuse #246:

It must have been the lightning storm we had (yesterday) (last week) (last month)

Re: TeX pestilence

am 26.10.2007 15:13:55 von Alexander Grahn

On 26 Okt., 13:47, David Kastrup wrote:
> Gernot Hassenpflug writes:
> > David Kastrup writes:
> >> First: I am one of the most renowned TeX hackers in the field,
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > LOL
>
> Hm?

It is the way you sing you own praise that makes G.H. laugh.
Perhaps, something like:

` `I know what I'm talking about as I have been hacking TeX for a
couple of years now (You might have noticed the number of postings I
have made to this NG). ...''

would have been more appropriate?

Alexander

Re: TeX pestilence

am 26.10.2007 16:45:51 von Boris Veytsman

AG> From: Alexander Grahn
AG> Date: Fri, 26 Oct 2007 06:13:55 -0700

AG> On 26 Okt., 13:47, David Kastrup wrote:

>> Hm?

AG> It is the way you sing you own praise that makes G.H. laugh.

Well, the thing is - David is quite right here. He IS one of the
wizards of TeX hackery.


--
Good luck

-Boris

An idea is an eye given by God for the seeing of God. Some of these eyes
we cannot bear to look out of, we blind them as quickly as possible.
-- Russell Hoban, "Pilgermann"

Re: TeX pestilence

am 26.10.2007 19:04:10 von Brian Blackmore

In comp.text.tex David Kastrup wrote:
> Brian Blackmore writes:

> > I would be happy to disagree with him on several points, in
> > particular as regards to the programming language TeX. As I quickly
> > glance at his original rant on his web page, I see many other things
> > that seem to be misunderstood. Perhaps if I were to look at his
> > background and qualifications, some of it would become clear.
> >
> > In any case, since this is the TeX channel, I will mention that I
> > think TeX is an excellent programming language

> Uh no, it isn't. It is reasonably flexible for macro/input
> transformation. It is also quite good for typesetting using its fixed
> algorithms programmed in Pascal.

> But as a programming language, it is a steaming pile of crap. And
> that's not least because it is a team from a blind and a lame
> programming system: only TeX's stomach can _affect_ a variable, but
> only TeX's mouth can _look_ at a variable and make decisions based on
> its values, decisions for which a resulting action again can only be
> done by the blind stomach. Both systems kick in at different points
> of time and different circumstances. And you must not employ the
> stomach in the middle of typesetting a word, or kernings and ligatures
> will break.

But if I compare these things to what I actually said in my post (which
I will now reinsert), namely regarding the problem that I see in CS
students these days...

> ... I think every f...ing CS grad should have to do a semester of TeX
> _programming_. I see too many CS grads these days that can't do
> anything unless there's already a java module to do it, and then they
> get confused about using the module according to the documentation.
> Most of these people would garner nothing but benefit from having to
> spend time _thinking_, and that is one thing that TeX programming
> requires.

> In many cases, helping people with TeX is just making them realize how
> to think about the problem in the correct way (for the system at hand).
> The ability to `change gears' in this fashion is [an aspect of problem
> solving that they seem to lack].

I find that you're quite making my point for me. That TeX is foul or
difficult is, to a newbie, often a matter of trying to do the wrong
things, in my experience. The delineation between stomach and mouth is
intrinsic to using the system and a requirement as one moves forward
with TeX programming. I can think of no greater example of having to
use the system "according to the documentation" and to approach "the
problem in the correct way".

This, increasingly, seems to be what younger `programmers' lack, the
ability to be bothered with any detail, however major, and most
especially if it's in the documentation. I've seen groups agree on what
they intend to do to make modules communicate, one person does their job
and the other fails to be able to program theirs and then whines about
it. Ultimately, the first person gets blamed as being "behind
schedule", all because the other people on the team can't follow the
documented protocols.

Even if it was pitched as teaching a system that's `impossible' to use
and, as you say, a blind and lame steaming pile of crap, if only for the
sake of convincing students why programming languages today are
infinitely better (which is bullshit), I still think a study of TeX
would go toward advancing the skills of programmers. For example, it
might prevent them from committing the same atrocities, but it also
might get their stupid heads to start thinking about module distinction
and boundaries, the importance of syntax (the space character in TeX,
for example, and when it is good or bad), and understanding how a
multipart system interacts and communicates (stomach and mouth).

Then there's TeX the program itself, and from a number-of-bugs point of
view, I think they have a lot that could be learned.

> > Most of these people would garner nothing but benefit from having to
> > spend time _thinking_, and that is one thing that TeX programming
> > requires.

> I think that one should not promulgate alcoholism and depression in
> that manner. Programming TeX really sucks, and its creator Donald
> Knuth has expressed his amazement at what tasks people actually have
> bothered implementing in TeX (rather than in Pascal or whatever) and
> says that it probably had been a mistake from him to let himself be
> prodded into adding the basics for making programming, however awful,
> basically possible in TeX.

I'm not sure how alcoholism and depression entered into the picture
here, but I can only guess that it's a false appeal to emotion or
something; in any case, I will mention that many humans only seem to be
able to understand how to avoid alcoholism once they have seen its
effects first hand. Everyone is depressed at some point or another, but
it seems to make them stronger in the end, assuming that they learn
something from it. I think our CS students could do to have a bit more
programming depression in their lives.

If "programming TeX really sucks", I find it surprising that you're the
expert, etcetera. It seems reasonable to me to label you as such --- no
problem there --- but if it blows so heavily, why are you still doing
it? Would not a better argument be based on seeing you program in
something else?

Yes, I've made an assumption, so I will quickly correct it. I agree in
part simply because I'd never set out to program an OS kernel in TeX,
nor some hardware driver, etcetera. I wonder how much of that can be
blamed on TeX, however, versus blaming the nonexistence of those types
of interfaces at the time it was designed. COBOL comes to mind.

It seems to me that if we take the arguments you've put forth, there are
a rather large number of sucky programming languages. I could complain
about having to worry about scope in C: "Wah, I can't change a variable
in here because it hasn't been passed in by reference, but if I try to
change it in here then something outside breaks". Or in Perl: "Wah,
'print (1+2)+4' does not print seven". These sorts of statements are a
fundamental misunderstanding of the operation of the system in use and
that, as far as I am concerned, is a statement of lack in the
programmer, not the language.

--
Brian Blackmore
blb8 at po dot cwru dot edu

Re: TeX pestilence

am 26.10.2007 23:13:41 von David Kastrup

Brian Blackmore writes:

> In comp.text.tex David Kastrup wrote:
>
>> But as a programming language, it is a steaming pile of crap. And
>> that's not least because it is a team from a blind and a lame
>> programming system: only TeX's stomach can _affect_ a variable, but
>> only TeX's mouth can _look_ at a variable and make decisions based on
>> its values, decisions for which a resulting action again can only be
>> done by the blind stomach. Both systems kick in at different points
>> of time and different circumstances. And you must not employ the
>> stomach in the middle of typesetting a word, or kernings and ligatures
>> will break.
>
> But if I compare these things to what I actually said in my post (which
> I will now reinsert), namely regarding the problem that I see in CS
> students these days...
>
>> ... I think every f...ing CS grad should have to do a semester of
>> TeX _programming_. I see too many CS grads these days that can't
>> do anything unless there's already a java module to do it, and then
>> they get confused about using the module according to the
>> documentation. Most of these people would garner nothing but
>> benefit from having to spend time _thinking_, and that is one thing
>> that TeX programming requires.
>
>> In many cases, helping people with TeX is just making them realize
>> how to think about the problem in the correct way (for the system
>> at hand). The ability to `change gears' in this fashion is [an
>> aspect of problem solving that they seem to lack].
>
> I find that you're quite making my point for me. That TeX is foul
> or difficult is, to a newbie, often a matter of trying to do the
> wrong things, in my experience.

And the wrong things with TeX is usually trying to program it in the
first place.

> The delineation between stomach and mouth is intrinsic to using the
> system and a requirement as one moves forward with TeX programming.
> I can think of no greater example of having to use the system
> "according to the documentation" and to approach "the problem in the
> correct way".

But the "correct way" sucks or is non-existent. The first task in the
appendix "Dirty Tricks" from the TeXbook tries to define a macro
containing a variable number of asterisks. The solutions are all
complicated, most have quadratic behavior or worse, several are in
danger of exhausting TeX's limits in normal use cases, and Knuth does
not manage to come up with a single expandable solution which could be
used without breaking ligatures or kerns. So one of the most basic
programming tasks to be imagined is a "Dirty Trick" and the author of
the language does not have a solution close to satisfactory.

> This, increasingly, seems to be what younger `programmers' lack, the
> ability to be bothered with any detail, however major, and most
> especially if it's in the documentation.

Your theory would be tantamount to saying that really good bicyclists
should be trained on creaky old holland bikes because those tax the
legs hardest.

It does not work that way. The relation between investment and payoff
is so terrible that you never arrive at the point where you pick up
enough speed to actually get enough fun together to get into a
positive feedback cycle where it is fun pushing yourself.

> Then there's TeX the program itself, and from a number-of-bugs point
> of view, I think they have a lot that could be learned.

Again, I disagree. From a software engineering point of view, TeX is
an idiosyncratic one-person masterpiece. Making it do something
different makes it break all over the place in unexpected ways. Too
many shortcuts and inherent assumptions. It took a genius to create,
and it takes a genius to maintain it. That's not engineering, that's
art. And one can teach only the appreciation of great art, not its
creation. Creative genius is not created in schools or universities.
It is not a dependable resource. It is pointless to teach what can't
bear fruition without a special spark.

> If "programming TeX really sucks", I find it surprising that you're
> the expert, etcetera. It seems reasonable to me to label you as
> such --- no problem there --- but if it blows so heavily, why are
> you still doing it?

Because nobody else does.

> Would not a better argument be based on seeing you program in
> something else?

You'll find me programming in Lua when LuaTeX becomes stable enough.
Until that time, there is no reasonably available system producing
typeset text which can be reasonably programmed in a non-braindead
language. LuaTeX will be a chimera, sure. But at least it has one
sane head you can talk with.

> Yes, I've made an assumption, so I will quickly correct it. I agree
> in part simply because I'd never set out to program an OS kernel in
> TeX, nor some hardware driver, etcetera. I wonder how much of that
> can be blamed on TeX, however, versus blaming the nonexistence of
> those types of interfaces at the time it was designed. COBOL comes
> to mind.

Program something like bigfoot.dtx, or even just binhex.dtx. Those
are not hypothetical applications.

> It seems to me that if we take the arguments you've put forth, there
> are a rather large number of sucky programming languages.

I know no "programming language" (TeX is not a language but rather a
system) where it takes two completely different systems with utterly
different semantics to assign to a variable and to use its value.

> I could complain about having to worry about scope in C: "Wah, I
> can't change a variable in here because it hasn't been passed in by
> reference, but if I try to change it in here then something outside
> breaks". Or in Perl: "Wah, 'print (1+2)+4' does not print seven".
> These sorts of statements are a fundamental misunderstanding of the
> operation of the system in use and that, as far as I am concerned,
> is a statement of lack in the programmer, not the language.

Your comparisons don't make it look like you have programmed serious
tasks both in C and in TeX.

--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
UKTUG FAQ:

Re: TeX pestilence

am 27.10.2007 13:08:35 von Michele Dondi

On Fri, 26 Oct 2007 12:09:22 +0200, David Kastrup wrote:

>Is there a particular reason you elided all the detailed explanation I
>give? First: I am one of the most renowned TeX hackers in the field,
>so don't try telling me that I don't know what I am talking about. In

It's oh so funny to hear words that are so often barked by cranks and
trolls used this seriously and honestly!

>Secondly: only a complete idiot or somebody without any serious
>programming experience confuses "excellent programming language" with
>"Turing complete". "Turing complete" is a statement about what kind

This going to become a .sig!


Michele
--
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^ ..'KYU;*EVH[.FHF2W+#"\Z*5TI/ER 256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,

Re: TeX pestilence

am 27.10.2007 13:09:05 von Michele Dondi

On Fri, 26 Oct 2007 20:51:32 +0900, Gernot Hassenpflug
wrote:

>> Is there a particular reason you elided all the detailed explanation I
>> give? First: I am one of the most renowned TeX hackers in the field,
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>LOL

Well, he is!


Michele
--
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^ ..'KYU;*EVH[.FHF2W+#"\Z*5TI/ER 256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,

Re: TeX pestilence

am 27.10.2007 15:58:32 von Michele Dondi

On Fri, 26 Oct 2007 23:13:41 +0200, David Kastrup wrote:

>used without breaking ligatures or kerns. So one of the most basic
>programming tasks to be imagined is a "Dirty Trick" and the author of
>the language does not have a solution close to satisfactory.

Futhermore: the author of a language, who incidentally happens to be a
genius!


Michele
--
{$_=pack'B8'x25,unpack'A8'x32,$a^=sub{pop^pop}->(map substr
(($a||=join'',map--$|x$_,(unpack'w',unpack'u','G^ ..'KYU;*EVH[.FHF2W+#"\Z*5TI/ER 256),7,249);s/[^\w,]/ /g;$ \=/^J/?$/:"\r";print,redo}#JAPH,

Re: TeX pestilence

am 27.10.2007 18:24:39 von paduille.4061.mumia.w+nospam

On 10/27/2007 06:09 AM, Michele Dondi wrote:
> On Fri, 26 Oct 2007 20:51:32 +0900, Gernot Hassenpflug
> wrote:
>
>>> Is there a particular reason you elided all the detailed explanation I
>>> give? First: I am one of the most renowned TeX hackers in the field,
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> LOL
>
> Well, he is!
>
>
> Michele

Maybe, but this thread still does not belong in comp.lang.perl.misc.

Re: TeX pestilence

am 27.10.2007 19:51:09 von see

David Kastrup wrote:

> And
> that's not least because it is a team from a blind and a lame
> programming system: only TeX's stomach can _affect_ a variable, but
> only TeX's mouth can _look_ at a variable and make decisions based on
> its values, decisions for which a resulting action again can only be
> done by the blind stomach. Both systems kick in at different points
> of time and different circumstances. And you must not employ the
> stomach in the middle of typesetting a word, or kernings and ligatures
> will break.

Et cetera.

When explaining the mouth and stomach (*cough* eijkhout.net/tbt *cough)
I've been told any number of times "why don't you call this the parser
and the code generator" which I've always objected to, pointing for
instance to the fact that the code generator can change the syntax that
the parser accepts. Still, it is a bit like that, not? There are two
stages, and sometimes they have a cart and horse ordering.

I wonder if Knuth had any deep thoughts about this. It kinda makes
sense: first you have the expansion part that does the simple
replacement tasks, and then the actual code generation that does the
typesetting and changing values of variables. This would make sense if
those variables only controlled the typesetting, but as I said above,
some of them control the parsing layer.

But while making sense, it is also a bit nonsensical in other
circumstnaces as you point out.

> that manner. Programming TeX really sucks, and its creator Donald
> Knuth has expressed his amazement at what tasks people actually have
> bothered implementing in TeX

Judging by what I've seen of his own macros, that doesn't surprise me.

> says that it probably had been a mistake from him to let himself be
> prodded into adding the basics for making programming, however awful,
> basically possible in TeX.

Really? Where did he say that? Personally I'd say that a programmable
text processor is a great idea, it just needs a better language.

Victor.

--
Victor Eijkhout -- eijkhout at tacc utexas edu

Re: TeX pestilence

am 29.10.2007 02:29:17 von Gernot Hassenpflug

Boris Veytsman writes:

> AG> From: Alexander Grahn
> AG> Date: Fri, 26 Oct 2007 06:13:55 -0700
>
> AG> On 26 Okt., 13:47, David Kastrup wrote:
>
>>> Hm?
>
> AG> It is the way you sing you own praise that makes G.H. laugh.
>
> Well, the thing is - David is quite right here. He IS one of the
> wizards of TeX hackery.

Just so this does not get out of hand---the fact that D.K.'s sentence
made me laugh is not to imply that I somehow denigrate him.
--
BOFH excuse #270:

Someone has messed up the kernel pointers

Re: TeX pestilence

am 29.10.2007 14:23:48 von Timothy Murphy

David Kastrup wrote:

> But as a programming language, it is a steaming pile of crap. And
> that's not least because it is a team from a blind and a lame
> programming system: only TeX's stomach can _affect_ a variable, but
> only TeX's mouth can _look_ at a variable and make decisions based on
> its values, decisions for which a resulting action again can only be
> done by the blind stomach. Both systems kick in at different points
> of time and different circumstances. And you must not employ the
> stomach in the middle of typesetting a word, or kernings and ligatures
> will break.

I'm amazed that this nonsense appears to have been swallowed
hook, line and sinker by the readers of - or at least contributors to -
this newsgroup.

Ken Thompson said: A program should do one thing, and do it well.
The one thing that TeX does, and does superbly well, is typeset mathematics.

95% of the "problems" with TeX discovered by TeXperts
are not problems at all to anyone except themselves.
TeX and LaTeX is used round the world for the purpose it was designed for
by thousands of people who find it does the job they want perfectly well.

TeX programming and LaTeX hacking

am 30.10.2007 02:55:43 von Luis Rivera

On Oct 26, 3:04 am, David Kastrup wrote:
> Brian Blackmore writes:
>
> > In any case, since this is the TeX channel, I will mention that I
> > think TeX is an excellent programming language
>
> Uh no, it isn't. It is reasonably flexible for macro/input
> transformation. It is also quite good for typesetting using its fixed
> algorithms programmed in Pascal.
>
> But as a programming language, it is a steaming pile of crap. [...] Programming TeX really sucks, and its creator Donald
> Knuth has expressed his amazement at what tasks people actually have
> bothered implementing in TeX (rather than in Pascal or whatever) and
> says that it probably had been a mistake from him to let himself be
> prodded into adding the basics for making programming, however awful,
> basically possible in TeX.
>

Every once in a while there are threads in this newsgroup complaining
that "TeX is awful", "LaTeX is a waste of time", and so forth; and
there might be some truth to that. LaTeX is essentially a massive
macro construction, which may not even qualify as a thoroughly
systematic markup language (it lacks a generalized grammar), based on
TeX, an idiosyncratic typesetting engine with many limitations in all
counts: typesetting and macro programming capabilities, and font/glyph
handling and display, and so on.

TeX is indeed the solo effort of a guy who thought he could put his
brains into improving something he perceived as deeply wrong, and
somewhat within his reach to fix: Knuth thought that the proofs of a
book he recalled as acceptably typeset turned awful when using a
computer-aided typographic system; and since he is a computer
scientist, he thought he could do something to fix it.

So TeXmf (the combo TeX/metafont) was originally conceived as being
able to typeset English books with mathematics, at a time (ca. 1980)
when any extant system was rather hard to handle and produced rather
ugly paper copies. AFAIK, Knuth didn't think of designing a
generalized text or mathematics markup language, or a programming
language for that matter, or even a general purpose typesetter or font
format. TeXmf was meant to be able to typeset stuff like TAOCP: so
pretty much everything in the system was indeed very limited, and I
have the sense that Knuth thought that was alright, as eventually he
stopped active development pretty much as soon as he reached his own
goals (well: a little farther: TeX$\pi$ and MF$_e$ may be able to
typeset books written in pretty much any alphabetic script, with some
mathematics). Thus, nothing in the TeXmf system (the typesetter, the
macro programming language, the "markup language", etc.) was designed
to be either "perfect" nor "everything for everyone".

But TeXmf does its original job so well (again: roughly, right-to-
left, up-to-bottom books with some math in them), that many other
people (not only scientists) feel the system may be extended to help
them doing their job (book and journal paper publishing). So that's
where TeX/metafont developers began to see its obvious limits: trying
to adapt it to typeset other languages, including non-latin scripts or
multidirectional texts; trying to make it typeset critical editions,
polyglot texts, and so on... Many of these tasks (relatively complex
tables or footnotes, just to mention some simple examples) are awfully
hard, and push the system to its limits, yet still remain doable.
That's why we end-users feel LaTeX hacking manageable, while core
developers break their brains to find ways to make things possible
within a purposefully limited macro language.

After a while I've come to understand David's complaints (and the
merits of himself and a number of other very able TeX programmers);
and I respect him the more as he repeatedly acknowledges that, despite
its many obvious limitations, TeX is the best we have. Hopefully, for
not much longer.

I agree that teaching TeX programming may not be the best in the
interest of CS undergrads; it looks more like the subject of advanced
CS grad students, perhaps with the aim of working out something much
better than TeX: more general, more systematic, and much easier to
handle, even from the point of view of a saner macro programming
language.

My penny thoughts,

Luis.

Re: TeX programming and LaTeX hacking

am 30.10.2007 11:38:50 von rf10

Luis Rivera writes:
>[lots of good sense omitted]
>
>I agree that teaching TeX programming may not be the best in the
>interest of CS undergrads; it looks more like the subject of advanced
>CS grad students, perhaps with the aim of working out something much
>better than TeX: more general, more systematic, and much easier to
>handle, even from the point of view of a saner macro programming
>language.

i read brian's comment as "we need to exercise undergraduates' brains
better".

an old friend (and mentor: roger needham) once proposed a practical
exam where the students were given a machine and its manuals (back
then there was enough variety for them not to have encountered every
one possible); they would then be expected to implement something
useful on the machine, in half a day (or however long the exam was
going to take). this would have been a practical introduction to
thinking on your feet, in a way you would never learn from lectures.

i agree that teaching tex programming may not be the most practical
way of getting students to think outside the box, but it's an amusing
and thought-provoking idea. next time i'm the tea room with the head
of teaching here, i'll ask whether he's ever thought in such terms.

on any course, there are always students who're inquisitive and
eager to expand their horizons. a course that stimulated that
attitude would surely be welcome.
--
Robin Fairbairns, Cambridge

Re: TeX programming and LaTeX hacking

am 30.10.2007 12:09:41 von David Kastrup

rf10@cl.cam.ac.uk (Robin Fairbairns) writes:

> i agree that teaching tex programming may not be the most practical
> way of getting students to think outside the box, but it's an
> amusing and thought-provoking idea. next time i'm the tea room with
> the head of teaching here, i'll ask whether he's ever thought in
> such terms.
>
> on any course, there are always students who're inquisitive and
> eager to expand their horizons. a course that stimulated that
> attitude would surely be welcome.

Programming in TeX is rather about being able to restrict your
horizon.

--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
UKTUG FAQ:

Re: TeX programming and LaTeX hacking

am 30.10.2007 13:42:58 von rf10

David Kastrup writes:
>rf10@cl.cam.ac.uk (Robin Fairbairns) writes:
>> i agree that teaching tex programming may not be the most practical
>> way of getting students to think outside the box, but it's an
>> amusing and thought-provoking idea. next time i'm the tea room with
>> the head of teaching here, i'll ask whether he's ever thought in
>> such terms.
>>
>> on any course, there are always students who're inquisitive and
>> eager to expand their horizons. a course that stimulated that
>> attitude would surely be welcome.
>
>Programming in TeX is rather about being able to restrict your
>horizon.

;-)

but if your horizons don't reach to anything that can't be programmed
in c++ or c# -- i.e., anything out of the ordinary -- then coming to
such a weird environment as programming tex macros is going to extend
them.

not that i _would_ recommend teaching tex, but there's no denying that
it's good training for working with an environment of maximum surprise
--
Robin Fairbairns, Cambridge

Re: TeX programming and LaTeX hacking

am 30.10.2007 14:36:02 von Timothy Murphy

Robin Fairbairns wrote:

> but if your horizons don't reach to anything that can't be programmed
> in c++ or c# -- i.e., anything out of the ordinary -- then coming to
> such a weird environment as programming tex macros is going to extend
> them.
>
> not that i _would_ recommend teaching tex, but there's no denying that
> it's good training for working with an environment of maximum surprise

Wouldn't Lisp be a closer analogy than C++?
I'm not a computer scientist (TG) but Lisp and TeX seem to me
to share the characteristic that a program can alter the parser,
which is certainly likely to cause surprises.

Re: Distributed RVS, Darcs, tech love

am 13.11.2007 01:36:15 von espie

In article <1192998506.251127.172530@v29g2000prd.googlegroups.com>,
llothar wrote:
>On 21 Okt., 22:45, Lew wrote:
>
>> Evidence is that TeX development is dead.
>
>Exactly and Knuths only contribution to software development was the
>theory of
>"literate" programming. As i said for me algorithms are not software
>development,
>this is programming in the small (something left for coding apes), not
>programming
>in the large. There are no problems anymore with programming the
>small, sure you
>can try to develop Judy Arrays or another more optimized sorting
>algorithm, but
>this has no real world effect. It is theoretical computer science -
>well a few
>people seem to like this.

Boy, you really have to get a clue.

Apart from the fact that Knuth wrote a book series that is still THE
definitive series on computer algorithms (and that most people who need
these algorithms know those books... they document a fairly large set of
interesting facts about floating point arithmetic, and the designers of
cpu would do well to read them and not cut to many corners for IEEE754.
They also a document a large set of useful algorithms, some of them
fairly commonplace as soon as you need some efficiency), no, he hasn't
done anything smart.

No real world effect ? Ah! have a look inside your computer at some point.
You'll be surprised where you find those algorithms (your kernel is likely
to use some of them, for instance). And perl is probably better for
Knuth's study of hash algorithms...

As far as TeX being `dead' goes, it's just finished, from Knuth's point of
view. It doesn't prevent TeX-based distributions from thriving (TeXlive
being the latest fad), and TeX-derived projects from going forward...

Re: Distributed RVS, Darcs, tech love

am 13.11.2007 13:52:57 von Piet van Oostrum

>>>>> Lew (L) wrote:

>L> Evidence is that TeX development is dead. There is not yet firm evidence
>L> that Tex is a "dead end" (or even what that means), and there has been none
>L> (nor, I expect, is there any) that any of that reflects on Knuth's skill as
>L> a programmer.

According to Knuth's definition the name 'TeX' is reserved for a program
that passes the trip test. Under this assumption TeX is dead by definition.
However in a broader sense TeX is still actively developed, but it may not
be called just 'TeX' because these new versions contain extensions. So
they get new names with 'tex' being part of their name. PdfTeX and LuaTeX
are new versions that are being developed right now.
--
Piet van Oostrum
URL: http://www.cs.uu.nl/~piet [PGP 8DAE142BE17999C4]
Private email: piet@vanoostrum.org

Re: Distributed RVS, Darcs, tech love

am 14.11.2007 23:14:37 von Joachim Durchholz

Marc Espie schrieb:
> Apart from the fact that Knuth wrote a book series that is still THE
> definitive series on computer algorithms

I don't wish to diminish Knuth's work, but it's definitely not timeless.

For an alternative, see Sedgewick's "Algorithms in C/Pascal/whatever".
Not as rigorous about proving the properties of algorithms, but the
selection of algorithms is more modern, and the presentation is
palatable (instead of the assembly/flowchart mix that Knuth is so fond of).
There are other algorithm collections.
The largest one is the Internet itself. A search engine or Wikipedia
would be my first stop when looking for an algorithm.

(Agreeing with the rest.)

Regards,
Jo

Re: Distributed RVS, Darcs, tech love

am 18.11.2007 12:12:52 von Toby

On Oct 20, 1:28 am, Xah Lee wrote:
> ...
> Who the fuck is this [KOOK], who proclaims that he's
> no [EXPERT ON FOO], then proceed to tell us he dosen't fucking care
> about [FOO]? Then, he went on about HIS personal fucking zeal for
> [BAR], in particular injecting the highly quacky [STUFF]
> with impunity.

Sounds like your run-of-the-mill Usenet kook. Feeling the strain of
competition?

>
> Xah
> x...@xahlee.org
> $B-t(Bhttp://xahlee.org/