Welcome, Guest. Please login or register.

Author Topic: BASIC language for AmigaOS4.. AMOS/Blitz  (Read 16309 times)

Description:

0 Members and 1 Guest are viewing this topic.

  • Guest
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #14 on: April 10, 2003, 10:37:25 PM »
I also started with Amos, and loved it right away. No wonder it doesn't use normal Amiga solutions though, considering it's based on STOS from Atari.

After a while I moved to Blitz 2 instead, and I think this offered a lot more power (compiler, intuition, inline assembler for those wanting extra speed etc.).
 

Offline JetFireDX

  • Full Member
  • ***
  • Join Date: Feb 2002
  • Posts: 232
    • Show only replies by JetFireDX
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #15 on: April 10, 2003, 11:11:15 PM »
Nice to see a thread about Basic without people screaming "LEARN A REAL LANGUAGE!"....I started on AMOS, then Blitz2 and now use DarkBASIC and PureBASIC on my PC and proud to say I paid for all four. I just don't see why with the raw horsepower in todays computers that BASIC or some flavor there of isn't given a new chance. Both PB and DB perform very well!  I am looking at playing with the Linux version of PureBASIC if I can ever find a distro I like. I really hope OS4 has / gets a simple speedy programming language too so if I decide to get a new Amiga I will be able to make some fun little apps.
 

Offline iamaboringperson

  • Hero Member
  • *****
  • Join Date: Jun 2002
  • Posts: 5744
    • Show only replies by iamaboringperson
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #16 on: April 11, 2003, 12:23:46 AM »
why use basic on the amigaone, when C is already available??
 

Offline Ants

  • Newbie
  • *
  • Join Date: Apr 2003
  • Posts: 24
    • Show only replies by Ants
    • http://ants.name
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #17 on: April 11, 2003, 02:23:56 AM »
I've been using Amos then Blitz2 for around 12 years now (and C64 Basic before that :) - IMO Basics provide a safe, easy to use spawning ground for developers, and hobbiest programmers. If people want to carry on and use C/C++ etc they always can. The Amos and Blitz communities have always been the only real place to learn game programming, as there was always so much support (and experience) on the email lists etc. I've seen many programmers start with small steps and end up creating full commercial projects!

E has carried on in the form of PowerD- while nice- it doesn't (yet) have the easy to use commands (apart from maybe SDL), and an IDE that a Basic really needs. Blitz2 is still going and being updated- in 68k form, as the source is assembler only- http://www.blitz-2000.co.uk .

I talked to the PureBasic author Frédéric Laboureur (on behalf of Phoenix) about a possible MorphOS port, and he said that it sounded interesting, but he didn't have the time at present, as he's currently doing a port to the Mac and is only doing PureBasic as a hobby at present. If he did a MorphOS port, it shouldn't be hard to do an AmigaOS4.0 port as well, and would make sense for him. :)


  Anton Reinauer

    Phoenix Developers Consortium
- Ants
 

Offline iamaboringperson

  • Hero Member
  • *****
  • Join Date: Jun 2002
  • Posts: 5744
    • Show only replies by iamaboringperson
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #18 on: April 11, 2003, 02:28:59 AM »
@Ants
first post Ants? good on ya m8!
 

Offline Darth_X

  • Hero Member
  • *****
  • Join Date: Jan 2003
  • Posts: 791
    • Show only replies by Darth_X
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #19 on: April 11, 2003, 02:42:24 AM »
HEY ANTS!!!!!!!!!!!!! :-D
 

Offline iamaboringperson

  • Hero Member
  • *****
  • Join Date: Jun 2002
  • Posts: 5744
    • Show only replies by iamaboringperson
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #20 on: April 11, 2003, 02:50:53 AM »
Quote

Darth_X wrote:
HEY ANTS!!!!!!!!!!!!! :-D

YEAH!! DOOD!!
 

Offline Jaruzel

  • Sr. Member
  • ****
  • Join Date: May 2002
  • Posts: 327
    • Show only replies by Jaruzel
    • http://www.Jaruzel.com
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #21 on: April 11, 2003, 09:35:02 AM »
I am a seasoned Visual Basic developer on Windows, although I first learnt Basic on my trusty VIC20 & C64 all those years ago, and then dabbled with Hisoft basic on the Amiga (My MUD even started out on that platform...)

Agreeing with most of this thread, I feel that AOS4 should ship with a Basic interpretor editable via a very simple IDE. It doesn't need to compile, and will enable ANY Amiga owner to knock up a tool or app to suit their needs.  

I know that if I can't find an app to do what I want, then I can write it myself. Having this sort of freedom really makes computing as fun as it should be.

-Jar.
Enlightened Gurus Always Meditate.
Custom MUD Server | See My A1200D(Sparc)
[A1200D(Sparc) / 68040-33Mhz]
 

Offline Waccoon

  • Hero Member
  • *****
  • Join Date: Apr 2002
  • Posts: 1057
    • Show only replies by Waccoon
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #22 on: April 11, 2003, 09:49:35 AM »
Quote
AMOS' While...Wend is nothing easier than C's or Pascal's; but AMOS had commands like "Screen Open", which immediately allows the programmer to open a screen and play with it knowing nothing about Intuition.

Well, there's really not much difference between BASIC and C in terms of actual coding structure.  More "advanced" versions of BASIC, like AMOS and Blitz, offer function calls and limit variable scope, things which are not part of the BASIC standard (which I believe was established in the 70's).  I found C an easy language to use in my college programming classes.  The worst part is initializing all your "strings" as "arrays of characters".  Oh yeah, and every computer stores datatypes differently, so an integer on one machine may be different than an integer on another machine.  Stupid niggling stuff like that gets in the way, but on the whole, understanding C structure is pretty easy.

When I started programming with AMOS, I was really frustrated with the concept of variable scope, and didn't understand why you'd want to write a program with anything but global variables.  I found out the answer VERY quickly when I started using C.  BASIC leads to a lot of NASTY coding habits that are hard to break if you want to move on to a better language later.  BASIC is definately easy, but it's *too* easy and makes it VERY hard to move on to something more sophisticated.  If I had started programming in C instead of AMOS, I'd probably be a computer scientist now, instead of a photo restorist.  I got good grades in my C language classes, but I got very spoiled with the excellent IDE that AMOS offered.  Doing everything from a UNIX shell prompt and typing out long compile commands bugged the hell out of me!

What really annoys me about C, though, is that you have to tell the compiler everything.  That's great if you're looking for maximum efficiency, but it really limits freesyling.  I'm sure with a bit of creativity, it would be possible to retain the efficiency of C while still letting the compiler handle all the includes.  With BASIC, all your standard includes (like stdio), are already... um, included.  Several hundred API calls are already in the interpreter and you don't have to load them up and initialize them one by one.  Technically, you CAN use a ScreenOpen() function in C, but you have to explicitly define links to the code before you can use it.  In BASIC, ScreenOpen() can be the very first line of your program.  The drawback with BASIC is that you have to use what the developers give you.  Adding custom APIs to BASIC is very difficult (like in AMOS), or simply not possible at all.  With C, you're EXPECTED to use all kinds of custom APIs.

The one thing I REALLY hate about C is that it cannot be used as an interpreted language.  The thing I really love about BASIC is that it is pretty universal.  It's designed to run on an interpreter, and that makes it architecture independent.  I wouldn't mind going through the trouble of reserving all my datatypes manually for performance, if I could run my programs on both a PC and a Mac without having to re-compile everything and worry about low-level conflicts and OS dependencies.

You can do that now with languages like PHP and Perl, but coding those languages is a NIGHTMARE!!!  I have a BBS written in Perl, and I'm trying to make modifications to the code.  Even after working with C for four years, just looking at Perl code makes my head spin!  I can't understand why anyone would make such a wretched, ineffecient language!

Purists say that pre-compiling your applications is the best way to write code, because it "forces" you to proofread your code and promotes good, clean coding habits.  I disagree, for the same reason I think a computer is still better than a typewriter.  A typewriter forces you to rewrite your documents, but with a computer, it's your OWN responsibility to review your words and rewrite, to make sure your document is as good as can be.  If you're lazy, it doesn't matter what tools you use -- your products will suck.

A person becomes a good programmer because they put in effort to make good code.  Personally, I think the AMOS interpreter was a great way to test code.  C programs, on the other hand, really drove me nuts, and it was an endless battle of going back into your code and setting test points.  What a pain!  Don't even get me started about backtracing machine code and breakpoints!  I like the structure of C, but when it comes to debugging, ordinary ANSI C really drives me nuts (I haven't tried more anvanced versions of C, yet).  I think programmers make application and compiler errors intentionally cryptic, just to cover their stupid mistakes!

If I were to make a new language, it would have the modularity and datatype handling of C.  It would be an interpreted language that can be optionally compiled.  The first line of the program would be an "environment definition", where you tell the interpreter what modules you want to use for your program.  With BASIC, all the graphics stuff is always available, so you have too much overhead (on the PC, a Blitz Basic executable is 750K, no matter how small your program is).  In my ideal language, you can say right away if you're making a command-line program or if you need accelerated graphics.  Or, you can define everything manually, like you do in C.

As for object oriented programming, I don't know exactly how that works, and I've never needed it because my programs are not big enough.

Do keep in mind that when I mention "C", I'm really referring to the ANSI C standard.  I've never used more elaborate C compilers like Visual C, Borland C, or any C++ compiler.  Maybe C++ compilers are a lot more streamlined than ANSI C.  I never bothered to check.  I gave up programming to make photographs, and I'm perfectly happy with that career choice!   :-D
 

Offline takemehomegrandma

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2990
    • Show only replies by takemehomegrandma
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #23 on: April 11, 2003, 10:23:04 AM »
@ Ants

Perhaps if someone sent him a complete system with a SDK for free (no strings attached of course), then maybe he would start porting it because he feels like he owe it to someone or something!  :-P
MorphOS is Amiga done right! :)
 

Offline ple3003

  • Full Member
  • ***
  • Join Date: Dec 2002
  • Posts: 116
    • Show only replies by ple3003
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #24 on: April 11, 2003, 01:48:52 PM »
bap bap bap bapbaaa
 

Offline saimo

Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #25 on: April 11, 2003, 03:18:26 PM »
@Waccoon

You have some valid points which I'd like to discuss, but due to lack of time I'm forced to restrict my answer to the programmer's attitude issue.

What you say about bad habits is quite true.
But I'd like to point out that IMHO the problems derived from moving to a more sophisticated language can *not* be looked at as the simpler language's fault! It's totally the programmer's.
I mean that when one decides to change language, firstly he must bear in mind that the approach could be totally different and thus he does not have to expect to be able to work with the very same mindset.
Of course, if the programmer has never experienced that before and he is not told this by anyone he certainly can't be blamed for expecting what he won't find ;-)

The issue about quality programming is strictly related to this, too.
Those bad habits you mention are surely a factor, which fortunately tends to fade away as the programmer progresses in his learning.

My advice in general is starting with a straightforward language to get a good feeling about what programming is: it not only helps understanding the techical aspects, but, first of all, is a kind of test of the real interest in programming; a complicated language may make a potentially good - but newbie - programmer run away forever.
The second step, once become totally familiar with it, after serious efforts and having acquired in-depth knowledge, would be moving to a the lowest level possible - according to one's own tastes/intentions, of course.
Personally, after learning BASIC on the C=64 and working hard with AMOS Pro on the Amiga, I moved to asm: that really opened the world of programming - with that move you start seeing what happens in that grey box. A valuable additional experience has been HW hitting-and-learning-and-hitting-and... , which, apart from the pleasure of doing it, opened my eyes completely.
I think that it can be said that after a similar experience the programmer really becomes better in general because he then can "see" what's behind any other higher level mechanism and thus he automatically produces better software - f.ex. AMOS programming benefits a *lot* from this: more elaborate and efficient things can be done with respect to almost any aspect.
[BTW: I think I have rewritten *all* my pre-asm projects in the late years just because I could not stand the inefficiencies of my old code :-D A look at the game "Follia NBA FE" on Aminet can give a good idea - yes, some good, pleain, self-advertising :-P]

I'm not saying that this path is the only way to go in order to become a good programmer, but I do think it's the best. Another reason is that asm, in opposition to what it could seem, shapes a clean mentality, provided that the programmer does care about producing clean apps (and that's an aspect that no language can ever radically affect).

Regards,
saimo
RETREAM - retro dreams for Amiga, Commodore 64 and PC
 

Offline JetRacer

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 501
    • Show only replies by JetRacer
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #26 on: April 11, 2003, 03:49:11 PM »
Basic is an excellent programming language for rapid prototyping (as in the real meaning of the word, not protos). Trying to develop something from scratch in C is a pain in the ass. Whenever I want to do something remotely advanced, I do it in AMOSPro first, make shure everything work the way it's supposed to do, then slap together a C version re-using old code and then type in the essence of it. The code usually works perfectly at compile one.

C/C++ should have been replaced by something more modern many years ago (I'm NOT implying Basic).

C/C++ is only good for OS developers. Application and games developers want stuff like the Basic language. I have no interest whatsoever in lowlevel communication / writing my own support for OS/API when I could be making progress with my application instead. Time and time spent is what matters. C/C++ simply isn't the answer.

The trouble with C is that everything my app tries to communicate with will have it's own C derriviate language. Learning C, and then what?
Only knowing the C language means you know perhaps 1% of what you need to know in order to actually use the language in practic.

C is like being a traveling saleman and ask for directions to the nearest gas station all the time.

Basic runs on nuclear fission.
*Zap! Zap!* Ha! Take that! *Kabooom!* Hey, that\'s not fair!
 

Offline Sidewinder

  • Full Member
  • ***
  • Join Date: Mar 2002
  • Posts: 241
    • Show only replies by Sidewinder
    • http://www.liquido2.com
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #27 on: April 11, 2003, 06:50:55 PM »
As Coder pointed out I am working on a new AMOS-like BASIC language called Mattathias BASIC.  My hope is to eliminate many of the deficiencies that AMOS had while offering the same ease of use and expandability options.

As current and former BASIC programmers, what are some of the features that you would like to see in a new BASIC language for the Amiga?
Sidewinder
 

Offline Atheist

  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 820
    • Show only replies by Atheist
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #28 on: April 11, 2003, 10:42:24 PM »
Hello Sidewinder,

I use Amos Professional.

I have a program that is 550K+, and there are hundreds (400+) of lines that begin with the word Data. And it goes out to char 242.

Maybe a way to just start a block of data and have some end point definer.

Data or Data Block
"Hello"
"World"
"etc"
Data (Block) End

Also, I don't have the newest version of it so don't know if it was fixed, if you go past 251 characters per line (something like that), AMOS crashes, or you lose code. Longer line lengths?

Also, I can't stand remembering that 79 is 80 and 24 is 25 (bottom line) of the screen. Maybe it could be converted at run time, or on compile? Applies to pixels too. Wait, all of the equations we use to position things would get screwd up, forget it.

I contacted Francois Lionet about AMOS coming to AmigaOne, but he said it isn't economically feasable, for obvious reasons. Tragic.

AmigaOne! My dream, AMOS Pro + compiler for AmigaOne, customized for ATI 9700!
\\"Which would you buy? The Crappy A1200, 15 years out of date... or the Mobile Phone that I have?\\" -- bloodline
So I guess that A500, 600, 1000, 2000, CDTV, CD32, are pure garbage then? Thanks for posting here.
 

Offline Sidewinder

  • Full Member
  • ***
  • Join Date: Mar 2002
  • Posts: 241
    • Show only replies by Sidewinder
    • http://www.liquido2.com
Re: BASIC language for AmigaOS4.. AMOS/Blitz
« Reply #29 from previous page: April 11, 2003, 11:02:48 PM »
@Atheist

Hey that's a great idea about the data blocks, I'll try to add it.  Mattathias doesn't have a limit to the line length either.  If you have any more ideas please let me know.
Sidewinder