[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Why prefer V over so called visual languages?



Hilton Fernandes wrote:
> The students for these courses will be my current basic C++ students, 
> and i'm talking to them in order to design a course thats' able to 
> motivate them.

Give it a loud name, like `Introduction to OO Design and
Construction'.  Promise some interesting projects (games
and simulations ususally attract beginners).

> When talking to some more advanced students they asked me: hey, why
> don't we just use a visual language?  Like Delphi or VB?

Because the goal of the class is to teach OO, as opposed
to teaching how to make rapid prorotypes with graphical
builders.

> Some of my answers to these objections are: the app frameworks don't 
> create good OO designs;

Very arguable.  Beginners won't create better designs than,
say, Java AWT (for which there exist graphical builders).

> you should understand what's under the hood 

V hides what's under the hood just as well as `visual'
languages.

> and V is multiplatform.

So are Tcl/Tk and Java.

However, one can learn V over an evening coffee, which is
not true of pretty much anything else.  V is simple, so it
does not distract one from the goal--understanding OO.  One
can concentrate on the design, as opposed to figuring out
how toolkit Z works.

I had a similar class awhile ago.  We used wxWindows.  The
professor had to spent at least a week explaining wxWindows,
which is simply wasteful.  Then, I spent a few days porting
that thing to FreeBSD--not as easy as it might seem, and not
at all educational.

Java took me a couple of weeks to get hold of.  I cannot
comment on Delphi because I was never pressured to learn
it, so I did that over a long period of time.  I don't
know VB.

V took me two hours to port and to learn.  This beats
everything else hands down.

-- 
Drive^H^Hnk safely!
Alex Verstak                        averstak@vt.edu
1078 Ambler Johnston East             Virginia Tech
Blacksburg, VA 24060-0022       Tel. (540) 232-1389




Reply to: