Mountain Bikn' Guy said:
Sorry you feel that way. Here's my reasoning.
All or most C# programmers know Visual Basic, but not all Visual Basic
programmers know C#. Ergo I have a wider audience by using Visual
Basic.
C# allows more access to unmanaged facilities and features in general.
But, to show the basics of a compiler's front end, I need to Keep It
Simple and again accessible to programmers who use VB for the most
part.
You know, Brian Kernighan himself uses Visual Basic to teach Computer
Science 101 to non-majors, at Princeton University. He says he's
concerned to show America's best and brightest that programming is not
for dullards. Dave Hansen, also at Princeton, also opined to me that
doing a good job is more difficult using a language such as Cobol, the
VB of its day.
VB doesn't allow you to use pure pointers to point at void material,
invalid material, or the shimmering Moon: but this is a good thing.
There's no reason I can think of why a compiler would need untyped or
void data.
I will certainly concede that with Josef Finsel and with Dan Appleman
I decided in 2002 to use VB for the above reasons, and this was before
the move to C# at many shops in preference to VB.Net. I did not
foresee the popularity of C#, and, I can see its power at my current
"day job" where I use it.
I am in no mood to mount a typical, and profoundly narcissistic,
defense of Visual Basic, because over a career spanning thirty years,
I have heard too many rhodomontades, in defense of a programmer's
favorite language. I remain silent during these rhodomontades because
I abandoned the languages I started out with (1401 SPS and machine
language) as fast as I could...by debugging a nonworking Fortran
compiler in object code form. Since that time, I have programmed in
machine, several assemblers, Fortran,Cobol, Rexx, PL/I, True Basic,
Quick Basic, Visual Basic (3.. .Net), C#, C, C++, several special
purpose languages for the writing of scripts, and Spinoza, my own
language.
I have not found the language of the gods. This would be one in which
you did not need to write comments and in which clean compilation
would almost completely imply correct execution. Eiffel may be what I
am thinking about or object Spinoza.
My favorite language happens to be computer science and algorithms,
the common language of all programming languages.
Had Algol succeeded it might have become my favorite language, because
the designers of Algol were not in thrall to immediate corporate
needs, and because they foresaw (in their ideas about publication
languages) the need to couple the language to its presentation.
But, odds are you know VB, even if you dislike it. I can assure you
that the book will be free of excess respect for third party tools
which is characteristic of the VB community and shall instead stress
good algorithms which are uncharacteristic of the VB community. It
shall also be written in a witty and amusing fashion, also
uncharacteristic of the VB community.