A86: Re: Re: Assembly


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

A86: Re: Re: Assembly




> AP Computer Science Students program for almost a whole year before they
> actually find out about the implementation of the classes they are using.
>  They don't start people off by showing them what is inside the
> iostream.h file.  Instead they show them what is important at the time
> which is how to use the class.

WRONG!  You sure you want to debate this?  This is all imho (meaning it's MY
PERSONAL OPINION and this not a flame), but the AP classes are the worst
teaching idea ever.  How can you go a whole year in "AP Computer Science",
take a test that's gives you college credit for the first semester/year, and
still not know to handle strings or linked lists?

I was lucky enough to have taken AP comp sci back when it was still in
Pascal.  And you know what?  I know exactly what a linked list is, what a
string is, what a binary search tree is, how to use them and how to program
them.  If you can program them, then you can most certainly program them.
Anyone can use a class that someone built for him/her, but if they don't
know how they work, then how can they efficiently use them?

If you can't write the code, you should't use it.  I'm a firm believer in
that.  Write and understand have a very thin line, if that is what hangs you
up.  I'm not saying you shouldn't use the OpenGL drivers because you
couldn't write fully optimized code like that.  But if you don't understand
the basics of 3D, then you have no business using a graphics API to write a
3D program.  Same way with asm, or anything else.  If you couldn't write the
same FUNCTIONAL code, then you shouldn't use it, either.

Btw, I use very few rom calls.  People like to use them a whole lot.
They're fine for normal programs, but if it's a game, I prefer to write them
myselfm because they're a heck of a lot faster and because I can.  If I
couldn't have written it, I don't use it.

> I feel that creating such a tool that would allow for easier functions
> and commands, but still converting to asm would be a great idea as it
> would not only introduce newbies to the power of assembly, but would also
> give the experience asm programmer a way to create a fast solution to the
> problem at hand.  Giving them a program to work with and tweak.

Introduce newbies to the power of assembly?  You've played ZTetris and
Sqrxz, right?  Then you know the power of assembly.  I have an idea.
Seriously.  Download David Boozer's "Hacking the TI-85".  It was written in
August of 1994 and can be found in ticalc.org's text archives.  Then,
download ZShell 1.0, found in the old 85 shells at ticalc.org.  Read through
the docs in that.

Now tell me you need a tutorial to hold your hand through asm.  Still not
convinced?  Read David Ellsworth's TI-85 and TI-92 bugs text file, found at
ticalc.org in the text section.  Very similiar to David Boozer's file.

If you don't know asm, you aren't going to be able to write a compiler.  Not
possible at all.  Even if you managed somehow to write one, anything it
created would be awful.  I'll admit, I wanted to do the EXACT same thing
when I started.  Then I decided to get off my butt and learn asm.  Guess
what?  It's not so hard, fun and well worth it.

Why do I feel so strongly about this?  Maybe I'm a programming purist.
Computers, to the state that they have evolved, are very poor, at least in
software quality.  Sure, there's quality.  Load up VC++, push a few buttons
and you have a full featured text editor.  Darn, that took a lot of effort.
And do you know it works?  No.  Do you know why?  Of course you don't.  All
you know is that your computer that is 100 or more times faster than that
8088 you had when you were in gradeschool boots up slower and crashes more
often.  You have more hard drive space than was imaginable 20 years ago, and
it's full of worthless, slow, buggy crap.

Now, you have a almost-perfectly designed Z80 machine with 128k ram (so it
has a few quirks, has to be a challenge somewhere :) and are graced with a
full host of development tools, emulators and documentation, allowing you to
easily and fully enjoy programming it in assembly, and you want to go and
screw it up by writing a compiler?



Follow-Ups: References: