[comp.sys.apple] Development Environments on 2GS.

kca@cbnewsc.ATT.COM (k.c.archie) (03/15/90)

I am interested in comments on different development environments
on the Apple 2GS. I am interested in Orca C vs. TML pascal 2.
I have a pretty good Forth system but it has been so long
since I last used Forth that I want to check out these languages.
I am not interested in a debate or flame war over which language is better.
What I want to know is which system makes it easier to generate 2GS
applications. Here are some criteria, please add others.
Support for Toolbox access:
	write my own assembler functions, is there a library of routines.
Resource editing
	I am not really sure what this is but it appears to be
	a useful tool for generating desktop applications.
Examples Code
	Are there templates of programs to open windows, do graphics, etc.
Desk Accessories
	Are there examples or templates to help write these?
Debugging Aids
	Are there any and what sort?
Compiler Speed
	Will I be able to eat lunch while compiling
Code Speed
	Can I write games in it?
	Will the users of my applications fall asleep while using them?
Building Tools
	Something like make.
Editors
	What are they like?
Standards
	Do they compile the standard language?
Documentation
	Is it any good.

The goal here is to decide which system is easier to use. I am
conversant in both languages and am completely aware of
the differences, strengths and weakness of both. I don't want arguments like
"C is better because it has ++" or "Pascal is better because it has sets".
I want to know about the Environment, not the language.

I appreciate any and all help.
**kent
Kent Archie kca@cbnewsc.att.com

roberth@microsoft.UUCP (Robert HESS) (03/17/90)

 =======================================================================
   I am posting this to comp.sys.apple *only* because the question was
    posted here. Everybody should now be posting their questions and
                       comments to comp.sys.apple2
 =======================================================================

K.C.Archie (kca@cbnewsc.ATT.COM) Asks:
| I am interested in comments on different development environments
| on the Apple 2GS. I am interested in Orca C vs. TML pascal 2.
| (...and provided some specific points...)

Both systems are pretty good.

The *major* problems in TML Pascal II, are in the Text Editor, and the
Resource Editor. The Text Editor has a couple system crash, and memory
trashing type bugs due to bugs in the new TextEdit control. And the
Resource editor has some problems with editing menus.

Orca C also has some problems. I don't use it much, but I have had system
crashes during editing, and compilation. I have also heard that it doesn't
strictly follow K&R C, for example this will compile fine:

    void main ( int argc, char *argv[])
    {...

...but these variations will fail:

    void main (argc, argv)
        int argc;
        char *argv[];
    {...

    void main ( int argc, char **argv)
    {...

(These examples were sent me by somebody else, I haven't tried them myself
yet...)


Now as to your specific points of interest:

| Support for Toolbox access:
|         write my own assembler functions, is there a library of routines.

    TML does not 'really' support using code imported from any other
    source, this includes assembly code. It is possible that using the
    'CodeResource' resource, you can write short assembly routines, and
    call them from TML. I have been meaning to check this out, but
    haven't had the time yet. If anybody else has, I'd be interested in
    seeing what you have done.

    Orca C does allow true INLINE codeing. (TML 'trys' to, but only
    allows a single byte, right Dave?) And although I haven't tried it
    yet, it looks pretty good, with actual assembly directives and
    labels.

    Both systems provide almost full access to the toolbox routines. As
    I remember, there were a couple routines that I ran across that Orca
    C didn't have access to. TML may have a couple too, but I haven't
    found any yet.

| Resource editing
|         I am not really sure what this is but it appears to be
|         a useful tool for generating desktop applications.

    TML comes with a 'graphical' resource editor. It is limited in its
    capablilities, and the resources it supports (and it has some bugs),
    but for the beginner, it is far easier then trying to use something
    like the REZ compiler available from APDA. I have switched to using
    the REZ editor for my TML resources. I was needing to use some
    resources that TML didn't allow (like ICONs), and I also was getting
    frustrated with having my resource trashed if I tried editing my
    menu.


| Examples Code
|         Are there templates of programs to open windows, do graphics, etc.

    Both systems come with several good example programs. TML also sells
    a separate package of source code examples called "TML Source Code
    Library II" (for about $50). These are some pretty good examples,
    most (all?) of them written by Vince Cooper.

| Desk Accessories
|         Are there examples or templates to help write these?

    Again, both systems provide this. TML's method, is FAR better then
    Orca's. In Orca, they tell you to write your NDA as a regular program,
    then once that is working, make a few modifications to it to turn it
    into an NDA, then copy the program to the Desk.Accs folder and reboot
    your machine to test it.... Yikes! a little severe.

    In TML, your code is NDA code from the start. If you compile it, TML
    will temorarily add the item to the 'Apple' menu and let you test it
    out to make sure it works.


| Debugging Aids
|         Are there any and what sort?

    Orca has a debugger, that many people say is pretty good. The couple
    times I've tried to use it, I crashed, but that might have been my
    problem. TML doesn't have anything to help with debugging, this is
    *very* unfortunate.

| Compiler Speed
|         Will I be able to eat lunch while compiling

    TML is faster then Orca (IMHO). But both are pretty good, and unless
    you are compiling a LARGE application, you should barely have time to
    enjoy a couple sips of coffee.

| Code Speed
|         Can I write games in it?
|         Will the users of my applications fall asleep while using them?

    Neither compiler will generate code as fast as tight assembly would
    be. But both appear to be quite decent. I have seen a couple simple
    games written with both systems, and they are pretty good. Now
    Crystal Quest wasn't written with either one, and I doubt it could
    be, but you probably weren't thinking about something like that...

| Building Tools
|         Something like make.

    TML has nothing like make, but for a single file source, you don't need
    it. You just tell it to compile it, and it is compiled, and linked. In
    your code, you specify other 'units' to include, and the compiler will
    find them, and link them in.

    Orca is able to use the normal APW command scripts to perform 'make'
    type functionality.


| Editors
|         What are they like?

    TML uses the new TextEdit control (thank goodness, their earlier editor
    was SOOOOO SLOOOOOOW). Unfortunately, this means they fully exhibit the
    bugs that currently exist in this editor. But it is relatively speedy,
    and allows user selectable fonts and sizing (yeah!).

    Orca has their own editor that they wrote. It does not allow user
    selectable fonts, in fact, the font it uses is not one you will find
    anywhere else. But this allowed them to tune their editor graphics
    specifically around this font, and frankly, I am amazed at how fast
    it is.

| Standards
|         Do they compile the standard language?

    TML essentially follows standard pascal formats, they have of course
    added some extensions of their own, and have not implemented some
    features that aren't appropriate. Their manual lists all of these in
    their appendix.

    Orca does not appear to be fully K&R yet (as noted above). Will it? Only
    Mike knows for sure.

| Documentation
|         Is it any good.

    Both come with decent documentation. There will always be things they
    leave out, but that's where the net comes in handy :->

    Niether can be used as a 'primer' for the language. You can easily find
    other books available to help you learn the language.


Hopefully, this helped you with your questions...

 -Robert
 __________________________________________________________________________
     #####   ####### |	  Robert B. Hess, Microsoft Corp., Redmond, WA
    ######  #######  |-----------------------------------------------------
   ####### #######   |	roberth@microsof.uu.net
  #### ##### ####    |	{decvax, uunet, uw-beaver}!microsof!roberth
 ####  ###  ####     |_____________________________________________________
   "...my opinions are strictly my own, and not those of my employer..."

jason@madnix.UUCP (Jason Blochowiak) (03/19/90)

In article <14399@cbnewsc.ATT.COM> kca@cbnewsc.ATT.COM (k.c.archie) writes:
>I am interested in comments on different development environments
>on the Apple 2GS. I am interested in Orca C vs. TML pascal 2. [Edited]
>Support for Toolbox access:
>	write my own assembler functions, is there a library of routines.

	I'm not sure about TML ][, but I know that it's simple enough to
add assembly routines to Orca/C stuff. Orca/C (as well as APW C) allow for
in-line assembly, but it's not all that useful for anything except teeny
snippets - the assembler is pretty nice (the Orca assembler - the APW asm is
basically the same thing).

>Resource editing
>	I am not really sure what this is but it appears to be
>	a useful tool for generating desktop applications.

	Resources are, in the most broad description, little chunks of data
that the Resource Mgr allows you to manipulate. More specifically, quite a
few of the toolbox routines allow resources to be used as templates (as a
real simple example, NewWindow2() allows you to say "I want a new window; use
this resource as the description for the window"). Resource editing isn't a
requirement - neither is resource generation. Quite limited (and buggy)
resource editing is available from TML ][, and there's a resource compilation
tool that you can get from APDA (comes with the beta release of the APW tools,
v1.1).

>Examples Code
>	Are there templates of programs to open windows, do graphics, etc.

	There's plenty of sample code that comes with both. I haven't really
looked at it for quality, though.

>Desk Accessories
>	Are there examples or templates to help write these?

	Both implementations support desk accessories, but I'm not sure if
TML ][ can generate CDAs. There's some sample code for DAs that comes with
Orca/C, and I think with TML ][.

>Debugging Aids
>	Are there any and what sort?

	Well, kind of. There's the (non-symbolic) 65816 debugger that you can
get, and then there's Orca's desktop debugger, but that's part of their
desktop environment, which I'll comment on shortly.

>Compiler Speed
>	Will I be able to eat lunch while compiling

	Depends on the size of the program. One thing that seems to be quite
nice about TML ][ is that the toolbox interfaces are precompiled UNITs. With
Orca/C and APW C, they're in source form, and have massive dependencies - so,
if you include <windows.h>, you're going to end up getting <types.h>,
<quickdraw.h>, and a few others... I keep my code modules fairly small, and I
use my make facility to keep compilation times down. Of course, then there's
the linker, which is pretty slow. I'd definitely recommend getting a
TransWarp GS if you're at all serious about doing anything non-trivial on the
gs.

>Code Speed
>	Can I write games in it?

	Certainly not arcade games. With something like a card game, or an
adventure-type game, speed shouldn't be a real problem.

>	Will the users of my applications fall asleep while using them?

	Probably not. One thing about the //gs's speed, though, is that it
makes critical code optimization (read: re-write in assembly) a necessity,
rather than a luxury, at least for anything fairly heavy duty.

>Building Tools
>	Something like make.

	360 Microsystems has a make facility that they're selling. I wrote
one (pretty limited, but it does what I want), and there are a few others
floating around.

>Editors
>	What are they like?

	Uck. I wrote my own editor for assembly stuff, and I use the port of
MicroEMACS for C. The standard editors are _very_ weak, although I suppose
they do try for at least minimal functionality.

>Standards
>	Do they compile the standard language?

	Wrong person to ask about that one...

>Documentation
>	Is it any good.

	The Orca/C docs seem to be moderately good. I only read a small section
of their manual, tho' - quite a bit of it was devoted to "here's an intro to
//gs programming using Orca/C", which I didn't need. My cursory inspection of
TML ][ didn't include reading any part of the manual.

>The goal here is to decide which system is easier to use. [...]
>I want to know about the Environment, not the language.

	Well, neither of them are great. I happen to like C an order of
magnitude more than Pascal, so I don't have TML Pascal ][, but I have seen it
and played with it a little bit. My comments on it are based on that, and on
talking to folks that use it.

	Orca's desktop enviroment is incredibly buggy (other people seem not
to have as many problems with it...), and I've been hearing horror stories
about TML's editor (they claim that the bugs are due to bugs in Apple's
TextEdit toolset, which is entirely possible). With Orca/C, you have a choice
of the desktop environment, or a line-oriented interface. I prefer the text-
based environ, although that may just be because I've yet to have a
particularly good experience with a desktop environment.

	I'm not at all sure of the quality of code that TML ][ spits out.
The Orca/C code is pretty good, when it works. I'd seriously recommend that
if you get Orca/C, you wait until v1.1 is out (Byteworks is sending registered
users betas of v1.1, but they're certainly not entirely functional).

	Reading back over this, it doesn't seem like I'm giving you much to
go on. Oh, well. Like I said, I have Orca/C, but that's because I don't like
Pascal, and the APW C compiler was driving me nuts.

>Kent Archie kca@cbnewsc.att.com


-- 
                      Jason Blochowiak - jason@madnix.UUCP
or, try:         astroatc!nicmad!madnix!jason@spool.cs.wisc.edu
       "Education, like neurosis, begins at home." - Milton R. Saperstein