Tech Support > Operating Systems > how high does the mindrot reach?
how high does the mindrot reach?
Posted by Kent Paul Dolan on January 13th, 2004


I'm a little skeptical of the wording in this quote I found not
from original sources but in somebody's .siggie; I don't remember
the original wording being quite this harsh:

It is practically impossible to teach good programming
style to students that have had prior exposure to BASIC; as
potential programmers they are mentally mutilated beyond
hope of regeneration.
-- Edsger W. Dijkstra

but I've been wrong before. My query to this assortment of completely
disinterested newsgroups is whether this conclusion extends as high as
Visual Basic? <the troll grins maliciously>

xanthian.

Given my own experience based on interactions with VB programmers, this
is probably a rhetorical question anyway, but hey, vent. It helps keep
the greenhouse effect gases replenished, and I'm sure there are spies
who can be suckered into the conversation and so have their covers blown.

Posted by mlw on January 13th, 2004


Kent Paul Dolan wrote:

The truth is sometimes very harsh indeed.


Posted by Milo T. on January 13th, 2004


On Tue, 13 Jan 2004 13:08:46 GMT, mlw wrote:

Bullshit is often very harsh too, as can be seen from the above Dijkstra
quote.
--
People in the killfile (and whose posts I won't read) as of 1/13/2004
9:13:16 AM:
Peter Kohlmann, T.Max Devlin. Matt Templeton (scored down)

Posted by Tom Shelton on January 13th, 2004


On 2004-01-13, Kent Paul Dolan <xanthian@well.com> wrote:
There are quite a few Java programmers now that were former VB
programmers....

--
Tom Shelton

Posted by Paul Hovnanian P.E. on January 13th, 2004


Kent Paul Dolan wrote:
In my experience, I've seen some very well written applications produced
by ex-basic programmers. In fact, I've seen some very good code written
IN basic.

The problem seems to be more that the various flavors of basic get
certain people involved with applications development that really have
no business anywhere near a computer.

Having to learn to work within well structured development environments
presents a higher barrier to entry of the software field that helps
eliminate some of the less capable. However, some still leak through.
And even without ever having touched 'toy' languages like basic they
still manage to write crap.

--
Paul Hovnanian mailto:Paul@Hovnanian.com
note to spammers: a Washington State resident
------------------------------------------------------------------
IRS: We've got what it takes to take what you've got.

Posted by Heath Raftery on January 13th, 2004


In misc.misc Paul Hovnanian P.E. <Paul@hovnanian.com> wrote:
As have I, but I'm talking about BASIC on such things as the Apple
IIe. Not VB or RealBasic. A lot of programmers cut their teeth on
the procedure, interpreted BASIC language.

I think you've hit the mark there. BASIC is great for what it is.
Wrapping it up into a RAD environment, putting it in the hands of the
general public, and encourage large scale applications - that's
dangerous!

Agreed. The problem I think, is taking a language which was
actually quite powerful in its time, and trying to make it current
in one foul swoop. The problem is trying to take a clear,
deterministic (by which I mean little is hidden, direct cause and
effect stuff), and wrap it up in a modern, application producing
language.

Creating an easier language by hiding the complexity is no way to
go. A little education and understanding goes a long way when you
are trying to write a complete application.

Anyway, as to the original quote, and assuming the original BASIC
is the referred language... I have no idea. What is the reasoning?
Perhaps that one can't go from a procedural to an OO language?
That one cannot go from interpreted to compiled? That one cannot
go from a weakly typed language to a strongly typed one?

If this is the general tact, that I protest! On the contrary, I
believe a wide appreciation of the various features of languages
makes for a well rounded, insightful and clever programmer. The
significant condition here though, is that such a programmer would
take the time to learn the differences and become familiar with
the new programming style, rather than stubbornly carrying over
old habits. Perhaps the latter tactic is the one which prompts the
original comment? I guess I have been fortunate enough then, to
not see it as the majority.

Vent complete.
--
*--------------------------------------------------------*
| ^Nothing is foolproof to a sufficiently talented fool^ |
| Heath Raftery, HRSoftWorks _\|/_ |
*______________________________________m_('.')_m__ _______*

Posted by Paul Hovnanian P.E. on January 14th, 2004


Heath Raftery wrote:
Yes and No. In the perfect world of reusable code, it should be possible
to call a library function without worrying about its implementation.
But the world is rarely perfect. There have been many times when I have
found in necessary to peek inside a Perl module I downloaded from CPAN
or the source to some library. Sometimes, its broken. More often than
not, its my understanding of it that's broken.

But this philosophy flies in the face of what quite a few Windows
developers are being taught, which is: There is no need to understand
how the black box works. In fact, you're not getting a look inside
anyway, so live with it.

I've read quite a bit of documentation written by both those who
understand the underlying principles and those who just call the API
and, 'A miracle occurs!', data comes back. The latter more closely
resemble Windows programmers, VB programmers doubly so.

--
Paul Hovnanian mailto:Paul@Hovnanian.com
note to spammers: a Washington State resident
------------------------------------------------------------------
definition: recursion; see recursion.

Posted by malcolm on January 14th, 2004


"Simon Cooke" <fantastical@malaprop.net> wrote in message news:<12cn5wce8qdq0.6pjxgnbct913@fanatastical.mala prop.net>...

sigh ... :<

http://www.cs.utexas.edu/users/UTCS/...a/ewdobit.html

" professor of mathematics, Eindhoven University of Technology,
1962-1984"

"Schlumberger Centennial Chair in Computing Sciences at the University
of Texas at Austin, 1984-1999, and retired as Professor Emeritus in
1999.

"Dijkstra was the 1972 recipient of the ACM Turing Award, often viewed
as the Nobel Prize for computing"

" He is well known for his amazingly efficient shortest path algorithm
and for having designed and coded the first Algol 60 compiler. He was
famously the leader in the abolition of the GOTO statement from
programming."

See also
http://news.zdnet.co.uk/software/dev...2120564,00.htm
http://www.theregister.co.uk/content/4/26585.html
http://www.cs.utexas.edu/users/UTCS/...a/ewdobit.html
http://www.cs.virginia.edu/~evans/cs...gs/ewd498.html
http://www.cs.utexas.edu/users/EWD/
http://laurel.actlab.utexas.edu/~cynbe/muq/muf3_17.html

Posted by Milo T. on January 14th, 2004


On 14 Jan 2004 09:30:29 -0800, malcolm wrote:

So what you're saying is that this makes him completely infallible when it
comes to making stupid, pithy and pompous statements?

Wow. Wish I could get tenure. I didn't realize that it automatically always
made you right.
--
People in the killfile (and whose posts I won't read) as of 1/14/2004
10:21:12 AM:
Peter Kohlmann, T.Max Devlin. Matt Templeton (scored down)

Posted by Blankety Blank Communards ! on January 14th, 2004


malcolm wrote:

That beech, he a bad mathe-matica-tish-on


Posted by mlw on January 14th, 2004


Milo T. wrote:

A lengthy tenure at a known university does not make one infallible, but it
certainly gives weight to one's words of wisdom. While what he said is
obviously hyperbole, but the general idea is correct.

Posted by Blankety Blank Communards ! on January 14th, 2004


mlw wrote:

Tenure is also more about demographics than quality. During the 40s and
50s, plenty of people got tenure because the Baby Boom created demand
for education. During the 70s and 80s, the Baby Bust forced many
talented academicians to become itinerant journeyman, taking 1 or 2 year
teaching contracts that would befit a grad student...or worse yet,
they became computer _programmers_ to earn a buck.

In the 90s, some of the old geezers started dying off -- now you are
seeing more opportunities for tenure and a corresponding drop in the
number of CompSci matriculants.




Posted by Ilari Liusvaara on January 14th, 2004


["Followup-To:" header set to comp.os.linux.advocacy.]
Datagram from Paul Hovnanian P.E. incoming on netlink socket
Its a more general CS thing. Such as the "Don't use goto, it makes the
code spaghetti"[*].
[*] Just read Linux source code, and you will see that properly used
goto does not reslut spaghetti. Better yet, if you know C, rewrite some
bit larger function without goto, and see what kind of code duplication
or nesting mess you get into, resulting much worse code.

-Ilari
--
Monopolies virtually always make bad products, Microsoft is no
exception -- Ilari Liusvaara
Linux LK_Perkele_IV9 2.4.23-selinux1 #2 Mon Jan 5 20:12:55 EET 2004 i686 unknown
8:00pm up 8 days, 23:36, 5 users, load average: 0.06, 0.07, 0.02

Posted by Milo T. on January 15th, 2004


On Wed, 14 Jan 2004 18:30:15 GMT, mlw wrote:

"Object-oriented programming is an exceptionally bad idea which could
only have originated in California." -- Edsger Dijkstra

"The use of COBOL cripples the mind; its teaching should therefore be
regarded as a criminal offense." -- Edsger Dijkstra.

Please do learn the difference between opinion and wisdom. Edsger is
probably forever stuck attempting to write assembly language code without a
branch instruction.

Note that he also hates FORTRAN, PL/1 and a whole host of other languages.
His bitter ire isn't just reserved for BASIC. And he isn't to be taken
literally.

Although if you *want* to take him literally, please note that Linus
Torvalds got his start programming BASIC for the Commodore Vic20. Alan Cox
was programming BASIC on the Sinclair Spectrum computers well before he got
involved with Linux. Ingo Molnar was programming other early Commodores, so
he got a similar start with BASIC.

So if you want, we can all nod and agree on Dijkstra's quote. Take your
pick.
--
People in the killfile (and whose posts I won't read) as of 1/14/2004
8:35:26 PM:
Peter Kohlmann, T.Max Devlin. Matt Templeton (scored down)

Posted by mlw on January 15th, 2004


Milo T. wrote:

Before we start, lookup "Hyperbole" in the dictionary.
Object Oriented programming is 'a' methodology, not the only methodology. I
am a proponent of object oriented programming, but there are problem
domains which are ill suited for oop.

LOL, that's really funny. Having had to work on COBOL, I agree.
Look up hyperbole.

Look up the definition of "literally" and "hyperbole."

Fortunately, they overcame their early setbacks. Not many programmers do.

Like I said, it was obviously Hyperbole, but he has points.

Posted by Milo T. on January 15th, 2004


On Thu, 15 Jan 2004 12:17:49 GMT, mlw wrote:

If it was hyperbole, then why were you claiming that it was the truth?
Also, Malcolm certainly seems to think that his quote was rock solid gospel
- after all, otherwise he wouldn't be backing it up with references to
Dijkstra's career.
--
People in the killfile (and whose posts I won't read) as of 1/15/2004
8:10:46 AM:
Peter Kohlmann, T.Max Devlin. Matt Templeton (scored down)

Posted by mlw on January 15th, 2004


Milo T. wrote:

"Truth" is not fact. "Truth" is a way of understanding that which my be fact
and/or opinion.

Besides, have you no sense of humor? Can you not see the idiocy in the
seriousness with which you hold this issue?

Be honest, Basic, COBOL, and other stupid languages do not promote good
programming skills. The comment in question is a funny/witty remark that
conveys this notion. Any reasonable person seeing the phrase "mentally
mutilated" would know that it is at least hyperbole. Attempting to persue a
debate as to the factuality of the comment is ridiculous.

My statement "The truth is sometimes very harsh indeed" is meant in the same
spirit. Or has this eluded you?

Languages like Basic and COBOL are bogus languages and they teach bad
habits. The quote, while obviously hyperbole, conveys an idea which is
basically true (no pun intended).

Posted by mlw on January 15th, 2004


Ilari Liusvaara wrote:

A properly used 'goto' can clean up code. How many times have I seen endless
convoluted nesting in C code just to avoid a simple 'goto?' Conversely, I
have seen developers use do/while to avoid using goto, but in fact using a
goto metaphor like this:

do
{
something...
if(failed)
break;
something_2...
if(failed)
break;

....
....
}while(0);

The above code is nothing more than a bracketed 'goto' code pattern.


something...
if(failed)
goto bad;
something_2...
if(failed)
goto bad;

....
....

bad:


Posted by mlw on January 15th, 2004


paul cooke wrote:

There are 10 types of programmers, those who use real languages like
assembler, C, and C++ vs those who use Basic or COBOL.


Posted by Mike Cox on January 15th, 2004


xanthian@well.com (Kent Paul Dolan) wrote in message news:<a3eaa964.0401130426.2c418765@posting.google. com>...
Edsger W. Dijkstra is the person that said "Goto is bad"! I see a
lot of "Goto" statements in the Linux kernel source, therefore the
Linux kernel is bad. QED.


Similar Posts