#Visual BASIC?
15 messages in this thread
I haven't heard any discussions about the relative merits of Visual BASIC
for Windows. Can anyone here compare it to the new BASICs that have
appeared for the Amiga? I've been doing some work in Visual BASIC… it
really puts the fun back into BASIC programming. I'm amazed at what it can
do, and how easily.
John, the review I saw of Visual Basic reminded me of a cross between CanDo
and AmigaVision…. as many icons as AmigaVision, but with more programming
power. Have you used either of those much? I'd be interested in your
opinion if so….
BTW, looking forward to Interchange 2.0! (not nagging, just letting you
know we care) 🙂
–jp–seattle–
John, I have to agree with JP-Seattle. After reading about all the specs
for Visual Basic and all wonderfull things that have never been seen
before, I sat back and thought about it for awhile and came to the
conclusion that these "Computer literate" reviewers have never seen CanDo.
Actually, Innovatronics would probably have a pretty good "Look and Feel"
lawsuit case if they wanted to pursue the matter 8^)
John – K7KB (via Whap!)
Tell me more about CanDo, then… let's say I wanted to make a trivial
application that has two numeric entry string gadgets, a third spot to
display the sum of those two numbers when you click a button on that
window. Is the CanDo screen like the Visual BASIC screen?
To partially answer your question, you could produce that program in CanDo
pretty easily. The numeric string gadgets can be created along with a
display gadget or, if you like, window, in a matter of minutes. Depending
upon the sophistication of the arithmetic, the script to read the numeric
data from the string gadgets, compute or prepare for display, and display
would take from a few minutes to more. You have total control over the
appearance of gadgets, screens, windows, etc. and can produce a 2.0
appearing display quickly. I haven't worked wiht visual basic, so I cannot
comment on the degree of similarity or difference from CanDo, but the CanDo
programming language is much richer than any of the Basics available for
the Amiga. It provides for database programming, complex arrays and record
variables, simple production of list or text displays and control.
Built-in functions and commands make possible the development of a
rudimentary text editor in no time at all. However, CanDo is not a
programming environment designed for linear program development. Once the
graphical interface is designed, you must then attach scripts to each
graphic element that must respond to a user interaction. In other words,
it is an event-driven program, so scripts must be individually attached to
each "event", rather than a linear program development common to
traditional programming languages. The CanDo screen is not like the visual
basic screen from what I've seen in the reviews of VB.
Yes, VB is an event-driven BASIC, too. You can make it act like a "linear"
BASIC simply by putting the whole of your program in the "Form Load" event,
which is invoked on startup, based on which form you choose as the startup
form.
CanDo does not provide such an option, so in that respect is much different
from VB. Not having used or seen VB I cannot make any useful comparisons
with CanDo, but I can say that CanDo's programming language is much more
substantial than other Amiga basics other than, perhaps, AMOS. However,
AMOS is quite different from other basics and does not use intuition in the
"standard" way of such languages as C or Modula. CanDo provides 174
commands and 86 functions plus another 85 system variables which maintain
needed information helpful in program development. It also provides an
ARexx port and language support. Although not as flexible as a standard
programming language, CanDo makes development of complex programs complete
with GUI rather easier to develop than any other programming language on
the Amiga, but that simplicity of development comes with the penalty of
reduced flexibility. That's not a complaint, mind you, because I suspect
that would generally be expected because you cannot anticipate everything
the user might want and yet keep development simple and easy. The main
defect of CanDo is that it is not a truly compiled language, so the entire
language must be bound with every program deck if it is to distributed to
users who don't have CanDo. Effectively, the language is interpreted and
the "interpreter" is a run-time module. Recognizing that professional
programmers may not find CanDo useful, I would say that for non-programmers
it makes the power of the Amiga available to almost anyone. The language
is very english-like and fairly easy to learn. However, it would be nice
to have something like VB or its competitor, Realizer, available for the
Amiga. I understand that the latter product is much more powerful than VB,
from the reviews I've read.
CanDo sounds more interesting, from what you've told me so far. I had
thought it was more like a HyperCard – a reasonably strong language,
support for buttons, etc. VB can create an EXE which you can distribute
freely, although it does require a run-time DLL. I'm not sure if it is
strictly an .EXE or interpreted p-codes or what. I'd bet it's a bit of
both, more like a threaded interpreter. One nice feature is that they
provide glue in the language to call any Windows function, so what the
language can't do directly, you can hack indirectly, if you care to learn
Windows.
CanDo can also distribute 'bound' modules, which do not require the user to
own CanDo. It adds about 100K to the size (the binding process).
On the other hand, if you have the CanDo library in your LIBS:, then any
number of CanDo programs can use it simultaneously, so that each app is
only as large as need be.
CanDo also allows binding the resources of the app (images, text, etc)
right in the app, rather than having a bunch of disk files. Increases the
size of the app though (naturally). Or you can still have the resources on
disk, and load as needed.
CanDo is very much like HyperCard, in that you 1) design interfaces stuff
interactively (buttons, documents, menus, etc) and then 2) write text
scripts ('handlers' in HyperCard) that are activated by clicking, double
clicking, dragging, releasing buttons; selecting menus; scrolling
documents, etc.
CanDo can also use outside 'functions', via ARexx. You can access ARexx
programs, or applications supporting ARexx (ie. ADPro can be the image
processing module of CanDo – silly, but you get the point). As a matter of
fact, I do use ADPro to support the FireCracker24 board in my CanDo
appls…. CanDo sends messages to ADPro, which loads/writes to the
FireCracker and is then seen on the screen. The lack of a direct data xfer
from one app to another is sad, since it does mean that you usually have to
save/load via disk, rather than just sending the data over from another
prog. Oh well.
–jp–seattle–
Well, CanDo is definitely much more than a HyperCard-like program and is
much more like VB than like HyperCard, although the programming paradym is
a Card/Deck concept. The CanDo language provides pretty extensive support
of Intuition, Graphics, and Exec such that you can do most anything with
it, within certain limits. You can create a filerequester using the List
object or by using the built-in file requester. It also supports a Memo
object, which is essentially a window for text complete with scroll bars
and arrows. The ARexx port provides the needed ancillary support for
complete access to the Amiga. It supports menus and submenus, text,
integer, and string gadget objects, various text/document objects, sound,
and graphics and animation capabilities. A finished "Deck" can be
distributed alone and run by users with a PD distributed Browser program,
or the browser code can be linked into the program module and the entire
program distributed as stand-alone, but it isn't compiled to native code,
rather is like what you described as a threaded interpreter or interpreted
p-codes.
Maybe we should sue Microsoft. Is that what you're saying? I don't even
have a lawyer that tall!
Gee Martin, I thought all lawsuits in Texas were filed with a .44
Yeah, but they're in another state, so I guess I have to use "civilized"
methods.
I have friends who use many machines, and who are usually down on anything
that Microsoft does… but they all love Visual BASIC and like you, found
that it was very easy to work with. Haven't played with it myself yet.