In the Matter of Herb Schildt: a Detailed Analysis of "C: TheComplete Nonsense"

K

Kenny McCormack

Tim Streater said:
Ah, the brown-noser's back.

Guess so. Where ya been?

--
(This discussion group is about C, ...)

Wrong. It is only OCCASIONALLY a discussion group
about C; mostly, like most "discussion" groups, it is
off-topic Rorsharch revelations of the childhood
traumas of the participants...
 
K

Keith Thompson

Tim Streater said:
(e-mail address removed) (Kenny McCormack) wrote: [snip]

Ah, the brown-noser's back.

Tim, I'm sure that everyone who cares is already aware that Kenny is
back.

Please don't feed the troll.
 
K

Keith Thompson

Tim Streater said:
Are you deliberately stupid? Or are you simply out of arguments today
(like yesterday, and the day before, and the day before *that*, ad
fucking nauseam). [snip]
You've been ground into the dust in the last few months, dimwit, why not
admit it.

He never will. He's been doing this for years, and his behavior has
been quite consistent. It's borderline insane to think he's going to
change because you poke at him *just one more time*.

When are you going to admit that, Tim, and give up?
 
K

Kenny McCormack

Tim Streater said:
(e-mail address removed) (Kenny McCormack) wrote: [snip]

Ah, the brown-noser's back.

Tim, I'm sure that everyone who cares is already aware that Kenny is
back.

I never left.

--
(This discussion group is about C, ...)

Wrong. It is only OCCASIONALLY a discussion group
about C; mostly, like most "discussion" groups, it is
off-topic Rorsharch revelations of the childhood
traumas of the participants...
 
S

spinoza1111

 spinoza1111 said:
<c474d1c9-77dd-4d0d-a1c0-74996f541...@x12g2000yqx.googlegroups.com>,
[snip]
The fact is that C is not portable. Because it is possible to make
things subtly dependent on hardware, any port needs a great deal of
diligence. The fact that this diligence isn't manifest doesn't change
this.
If you want to write portable code, it is folly to int main(). Use
Java or C Sharp.
Just because you don't know how to write portable code in C, bozo, does
not mean that others can't. At SLAC in the mid-late 80s, we had a
threads kernel written in C (that supported events, semaphores, timers
[1], and thread priorities) that it was no great effort to port to DEC's
VAX/VMS and to IBM's VM/CMS. That's substantially different OSes,
different endiannesses [2], and different character sets. It's called
being professional, Spinny. You should try it sometime instead of just
being a mouth.
[1] Some of this work exposed bugs in IBM's timer services that (having
access to the assembler source code) we fixed.
[2] which affected how structs were packed, as I recall, so that
required some care.
[1] and [2] show, in fact, that C code is NOT PORTABLE. You're
bragging about doing your job, but portability means "run anywhere
without change or the need for research to disprove portability".

Are you deliberately stupid? Or are you simply out of arguments today
(like yesterday, and the day before, and the day before *that*, ad
fucking nauseam).

[1] exposed errors in *IBM's* code - which plain didn't work. Once our
IBM systems programmers had *fixed these bugs*, the C code in question
ran fine with no changes required to it.

Portability in fact reduces dependencies even on bugs. Basically, if
the virtual machine is effectively bug-free, bugs lower down do not
effect truly portable code. But C runtime is not a virtual machine and
thus C programs can be affected by bugs in the support software at any
level.
[2] related to the endianess of the two machines, which is obviously
different.

This also shows that the code wasn't portable, I'm afraid. You need to
learn Java and C Sharp.
Once we'd modified the C slightly to account for this, the *same* source
was used on *both* architectures - without even any pre-processor work
required.

If it was modified it wasn't the same.
You've been ground into the dust in the last few months, dimwit, why not
admit it.

Your savage imagery doesn't frighten me, because I'd whip your ass in
any real fight.
 
S

spinoza1111

It is clear by now that Seebs is, like most Republicans nowadays, just
spewing.  Putting out words that sound good (i.e., advance their agenda),
with zero concern for whether they are true, valid, or in any way map to
(easily verifiable) reality.

He did support Bush in 2000. However, his Mom is probably not a formal
Tea Bag supporter. The problem is that a family of teachers can
encourage their kids to think of themselves superior to the "common
herd" who need to be Singled Out for Advanced Placement, and have
their Learning Disorders accomodated.

Since part of my teaching experience includes tutoring homeless black
kids in New York City, and discovering that one was a mathematical
genius whose in public school classes where math is NO LONGER TAUGHT,
I find Mrs. Seebach to be uniquely without compassion.

Since part of my teaching experience includes teaching programmers in
Fiji, where there are no bookstores in the capital city save one which
sells primary schoolbooks, books on farming, and Hindu scriptures, I
think a dog-eared Schildt would be there treasured by programmers
smart enough to know that they should test all code snippets by using
a debugger to step through the code and watch what happens. They catch
errors, whether in the snippet or in their environment, and they learn
more.

It was clear to me after the Seebagger's off by one strlen that the
guy doesn't have this level of attention to detail.
 
T

Tim Streater

spinoza1111 said:
<b4dbc741-0daf-49bc-bf45-f830c8cd5...@i37g2000yqn.googlegroups.com>,
Are you deliberately stupid? Or are you simply out of arguments today
(like yesterday, and the day before, and the day before *that*, ad
fucking nauseam).

[1] exposed errors in *IBM's* code - which plain didn't work. Once our
IBM systems programmers had *fixed these bugs*, the C code in question
ran fine with no changes required to it.

Portability in fact reduces dependencies even on bugs. Basically, if
the virtual machine is effectively bug-free, bugs lower down do not
effect truly portable code. But C runtime is not a virtual machine and
thus C programs can be affected by bugs in the support software at any
level.

This is interesting but irrelevant.
[2] related to the endianess of the two machines, which is obviously
different.

This also shows that the code wasn't portable, I'm afraid. You need to
learn Java and C Sharp.

Neither of which existed in 1988.
If it was modified it wasn't the same.

Wasn't the same as *what*? My, you are being dim today. Read what I
wrote, this time for comprehension.
 
N

Nick Keighley

with care you can write portable C. For a lot of code hardware
independence isn't particularly difficult.

which need fairly powerful machines, limit what you can do (this may
be perfectly fine for some applications) and do things that hard real-
time systems can't tolerate (like garbage collection, and JIT
compilation).
Just because you don't know how to write portable code in C, [...] does
not mean that others can't.

<snip example>

[which] show, in fact, that C code is NOT PORTABLE. You're
bragging about doing your job, but portability means "run anywhere
without change or the need for research to disprove portability".

no that's /a/ definition of portability. It isn't what some people
want. Java code will only run where a JVM is available. Your anti-lock
brakes probably don't run Java. Portability is not a binary attribute.
Portability often covers a range ("will run on Linux" "will run on
Posix" "will run where sizeof(int) > sizeof(char)" "will run on any
C89 platform").

I've seen the same code run on a Z80 and a Sun. It took careful design
and the Sun did more things, but it worked. Most of the debugging was
done on the Sun.

Not all the world's the desktop. And this "other world" is where a lot
of C programming goes on.
 
I

Ian Collins

which need fairly powerful machines, limit what you can do (this may
be perfectly fine for some applications) and do things that hard real-
time systems can't tolerate (like garbage collection, and JIT
compilation).

You overlooked the obvious: C Sharp isn't portable!
 
T

Tim Streater

Richard Heathfield said:
Wasn't the same as something that no longer existed. Duh. :)


He doesn't do comprehension.

Yes, I am wasting my time with him, no question.
 
N

Nick Keighley

You overlooked the obvious: C Sharp isn't portable!

shrug. It's the same thing its portable to wherever its virtual
machine is available.
Most of what I said about java applies to C hash.

Java is the world's least portable language as it only runs on one
platform.

:)
 
S

spinoza1111

(e-mail address removed)>,


with care you can write portable C. For a lot of code hardware
independence isn't particularly difficult.

The developers of your code used care, right? But they failed to
anticipate either that IBM software handles timing differently or
buggily. This means that the software was overdependent (codependent
if you like) on an excessive number of facts and to this extent not
portable.
which need fairly powerful machines, limit what you can do (this may
be perfectly fine for some applications) and do things that hard real-
time systems can't tolerate (like garbage collection, and JIT
compilation).

The pretense is that "we're always doin', or should be doin', hard low
level down and dirty 'masculine' systems" ... even when on
investigation one finds that the hard guy in fact is doing girlieman
code (such as replacing %s and **** all else by a directory). This
leads to vanity non-separation of concerns to maintain the self-image.
For example, I'd have to ask whether the dependency in the code on
endianness was a necessity or vanity.

Just because you don't know how to write portable code in C, [...] does
not mean that others can't.

<snip example>

[which] show, in fact, that C code is NOT PORTABLE. You're
bragging about doing your job, but portability means "run anywhere
without change or the need for research to disprove portability".

no that's /a/ definition of portability. It isn't what some people
want. Java code will only run where a JVM is available. Your anti-lock

Love these examples. Buncha coders workin' in a bank speculating about
their anti-lock brakes.
 
N

Nick Keighley

beware: attributions may be munged


The developers of your code used care, right? But they failed to
anticipate either that IBM software handles timing differently or
buggily.

you are confusing me with someone else. I have never written code for
an IBM machine (apart from a PC). It wasn't me what had a problem with
timers.

I didn't say all code was independent of the hardware. I said a lot
was.
This means that the software was overdependent (codependent
if you like) on an excessive number of facts and to this extent not
portable.
which need fairly powerful machines, limit what you can do (this may
be perfectly fine for some applications) and do things that hard real-
time systems can't tolerate (like garbage collection, and JIT
compilation).

The pretense is that "we're always doin', or should be doin', hard low
level down and dirty [systems]"

no, I was not pretending that. I was maintaining that some code is
like that. And that Java is unsuitable for such applications, and
hence that Java is not universally portable. C can achieve a different
kind of "portable" from Java. Note I'm not claiming Java isn't
portable I'm saying it cover a different spectrum of possibilities.

<snip>

a brief moment of clarity:
I'd have to ask whether the dependency in the code on
endianness was a necessity or vanity.

it's usually just an accident. People hack the code around until it
works on the platform de jour. Then when it gets ported Bad Things
Happen. It doesn't have to be that way though.

[which] show, in fact, that C code is NOT PORTABLE. You're
bragging about doing your job, but portability means "run anywhere
without change or the need for research to disprove portability".
no that's /a/ definition of portability. It isn't what some people
want. Java code will only run where a JVM is available. Your anti-lock

Love these examples. Buncha coders workin' in a bank speculating about
their anti-lock brakes.

for the record (though I doubt you care) I've never worked in a bank.
OTH I've never programmed anti-lock brakes either. I *have* programmed
some mushy (thixotropic?) real time systems. That is not really hard
but still had to get things done in milli-seconds. On hardware that
wouldn't be fit to process the key strokes on my current computer.

You are (probably deliberatly) missing the points of the examples I
give.


There are more things in Heaven and Earth, Horatio, than are dreamt of
in your philosophy.
 
T

Tim Streater

spinoza1111 said:
The developers of your code used care, right? But they failed to
anticipate either that IBM software handles timing differently or
buggily. This means that the software was overdependent (codependent
if you like) on an excessive number of facts and to this extent not
portable.

On the assumption that you're still referring to my code:

1) The developers didn't anticipate anything related to IBM, as they
wrote it to be the kernel for a terminal server, a standalone box with
an ethernet port and lots of serial ports. We purchased the rights to
this source and proceeded to use it for our own purposes.

2) You don't "anticipate" bugs; if I'm provided with a documented
service by the OS, I expect it to *work*. The whole issue cropped up
because the organisation decided to use a different version of IBM's
VM/CMS. As users of system services we had the opportunity to test under
it before the new version went live. That's when it became apparent that
the timer services, which has worked just fine under the then current
VM/CMS system in use, were just not working. A quick study of the
relevant IBM source code allowed us to suggest fixes to our own VM/CMS
systems programmers, which were put in along with a large number of
other local mods, before it went live. Job done.

That "overdependent/codependent" paragraph above shows just how feebly
you are clutching at straws. C is portable. Not necessarily without some
changes and some care, but then no-one has claimed otherwise. C is
closer to, and runs on, real hardware. That's the point of it.
 
K

Kenny McCormack

It is. Check out mono. It has no dependencies on Windows.

As much as I admire the spirit of this, I have to disagree.
(Side note: I assume that by "it has no dependencies on Windows", you
mean that C# has no dependencies on Windows. But your sentence above
could just as easily be read to say that "mono" has no dependencies on
Windows - which is true, but essentially meaningless. In any case, I
simply don't think it is true that C#/.NET have "no dependencies on
Windows" - in any practical sense)

Anyway, meta having been taken care of, remember that the last time
"mono" was discussed here, the concensus (among both regs and sensible
posters [distinct groups those] alike) was that it was NRFPT (*). And I
don't think it ever will be. MS does a good job of allowing there to be
"almost Windows" products out there, but making sure that none of them
really work very well. Consider all the "fake Windows" products out
there (WINE/codeweaver, Win4Lin, ReactOS, OS/2 [in its day], etc). I've
played with a lot of these, and, let's be fair, they were all pretty
cool in that they worked at all, but you could always tell that they
weren't the real deal. In many cases, you could run Solotaire and
Notepad, then you started hitting the bugs...

(*) Not Ready For Prime Time

--
(This discussion group is about C, ...)

Wrong. It is only OCCASIONALLY a discussion group
about C; mostly, like most "discussion" groups, it is
off-topic Rorsharch revelations of the childhood
traumas of the participants...
 
M

Mark

Richard Heathfield said:
Does it run on VM/CMS? OS/390? ARMs? SHARCs?

Richard,

According to my copy of the OED, portable means:

"Capable of being carried by hand or on the person; capable of being
moved from place to place; easily carried or conveyed. Also:
(designating a device, apparatus, etc.) made smaller and lighter than
normal, to enable it to be carried easily."

So, if it can be copied onto a disk and moved between those systems,
it's *clearly* portable!
 
S

spinoza1111

spinoza1111wrote:


Does it run on VM/CMS? OS/390? ARMs? SHARCs?

It can be "ported". "mono" is not portable: but given "mono", C Sharp
is.

Sure, C has spread like a virus all over many computers owing to the
willingness of hackers to hack and blame IBM when their timer code
fails.

But this isn't portability.

We're talking about the portability of a programming language, which
means that the set of statements about the preconditions of its
running without change on a new platform.

In the case of the earlier poster this set of statements was:

{Handles endianness same way, is dependent on timer code, needs a C
compiler}

In the case of a C Sharp program this set of statements is a unit set:

{Has .Net/mono}

I teach literature today, and it's all about words. A computer program
(cf Knuth and Dijkstra) is a message about your intentions as regards
using a computer. If your words are a mess, consisting of (vague and
uninstantiated) references to endianness and someone else's bugs,
you're fucked.
 
S

spinoza1111

spinoza1111wrote:


So your argument that C# is portable boils down to:
   * mono is not portable;
   * if mono is portable, C# is portable;
   * therefore, C# is not portable.

No, you have it wrong. Mono has to be ported from one platform to
another since it is written in C and C++, and these languages are not
portable in that, at a minimum, they need to be reviewed carefully for
dependencies on the compiler, the runtime of C/C++, and the new
hardware. But if two platforms have mono or .Net, application software
that compiles without errors and with unsafe code turned off is
completely portable in that it needs no change.

Your lack of education is stunning, since like many programmers, you
reason sloppily.

Richard, your hatred of teachers and professors is certainly shared by
many people including Torvalds. It is probably based on academic
failure that in your case hasn't been compensated by any success
commensurate to your vanity.
 
W

Walter Banks

spinoza1111 said:
Richard, your hatred of teachers and professors is certainly shared by
many people including Torvalds. It is probably based on academic
failure that in your case hasn't been compensated by any success
commensurate to your vanity.

What would you do if you didn't have someone to hate and demonize?
If you wanted to become a schildt disturbing newsgroup troll with
tourette's you have succeeded. You are the clear winner over both the
lanier troll's and kooks.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,075
Messages
2,570,553
Members
47,197
Latest member
NDTShavonn

Latest Threads

Top