Amiga.org

Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: trekiej on February 14, 2007, 04:16:18 PM

Title: Which Basic for Amiga?
Post by: trekiej on February 14, 2007, 04:16:18 PM
I am looking for Basic for Amiga.  I have found some on Aminet and SoftwareHut.  What do you think is the best?
Title: Re: Which Basic for Amiga?
Post by: swift240 on February 14, 2007, 04:53:32 PM
Well there are a few you can get, but myself on a personal level I use Amos Pro.
For some reason I get on better with that than than Blitz Basic.

I also use HiSoft Basic thats not bad either.

Mike
Title: Re: Which Basic for Amiga?
Post by: Heinz on February 14, 2007, 05:07:25 PM
Most peole say, that the most powerful Basic for Amiga is AmiBlitz:

http://www.cj-stroker.de/amiforce/amiblitz/ab_downloads.php

As far as I know it also the only one that is still under development and updated from time to time.

Large Program like HD-Rec are developed with AmiBlitz:

http://www.hd-rec.de/
Title: Re: Which Basic for Amiga?
Post by: Heinz on February 14, 2007, 05:17:47 PM
They moved to another site,
this is the recent version:

http://www.amiforce.de/amiblitz/ab_downloads.php
Title: Re: Which Basic for Amiga?
Post by: SamuraiCrow on February 14, 2007, 05:32:39 PM
You can get AmosPro from the Amos Factory website (http://liquido2.com/) but you'll have to buy the manual from Software Hut.  There is a new sequel to AmosPro in the works that is going to recompile old AmosPro source code to run on many platforms but it is not ready for distribution yet.
Title: Re: Which Basic for Amiga?
Post by: amiga_3k on February 14, 2007, 06:50:32 PM
@trekiej:

Depends on what you want and what your background is. I tend to go the route of the least resitance (stick with what you know ;-)). When we first got an A500 it came with AmigaBASIC, so it was pretty obvious to learn that, so I did. Once ACE BASIC became available I moved to that as it was similar to AmigaBASIC (same syntaxes) with a bonus of creating standalone executables that would run on any Amiga 65k OS.

AMOS is good for a quick and dirty program, downside is, atleast that's my opinion, that it doesn't default to Amiga's intuition components.
Title: Re: Which Basic for Amiga?
Post by: SamuraiCrow on February 14, 2007, 07:26:47 PM
Quote
AMOS is good for a quick and dirty program, downside is, atleast that's my opinion, that it doesn't default to Amiga's intuition components.


That's true but it will definitely be fixed in the sequel, tentatively named Mattathias.
Title: Re: Which Basic for Amiga?
Post by: trekiej on February 14, 2007, 07:49:04 PM
Thanks for the feedback.
The langugages I have been introduced to are:

Assembly
Basic
C/C++ needs more work on the C++ area
Cobol
Little bit of Java and Python.

BlitzBasic is still around for Win,Mac,Linux.
SoftwareHut sells it for Amiga.

Title: Re: Which Basic for Amiga?
Post by: SamuraiCrow on February 14, 2007, 07:57:41 PM
Don't buy Blitz Basic.  It has since been re-released as open-source and renamed as AmiBlitz.  AmiBlitz is just Blitz Basic with new features added and bugs fixed.

Also, incidentally, the versions of Blitz Basic for the PC, Mac, and Linux are a total rewrite and are completely incompatible with the original Amiga version of Blitz Basic.

If you want to write software that will work on all of those platforms and Amiga as well, stick to using C and use the SDL APIs.  (Note that this will require a graphics card on your Amiga.)
Title: Re: Which Basic for Amiga?
Post by: trekiej on February 14, 2007, 08:24:28 PM
I am happy to work with the Amiga for a while.
I want to access the hardware at times for projects.
Title: Re: Which Basic for Amiga?
Post by: Karlos on February 14, 2007, 08:47:38 PM
It had its quirks, but Blitz Basic was reasonable back in the day. It was good for knocking up quick programs in a hurry. I dare say AmiBlitz is perfectly acceptable as a Basic language, though I haven't actually used it.
Title: Re: Which Basic for Amiga?
Post by: SamuraiCrow on February 15, 2007, 12:02:31 AM
AmiBlitz/Blitz Basic support the AGA chipset if that is what you are currently using.  It's harder to use AmiBlitz than it is for AmosPro but it has an add-on that lets it access the system libraries directly like C does.

AmosPro has some AGA supporting extensions but no native support at the moment and Mattathias is behind schedule so I'd expect an SDL version of Mattathias before an AGA version comes out.

The author of ACE basic has been struggling to get his system library written in C so it will work on PowerPC and x86 under AROS, AmigaOS 4.x and possibly MorphOS.  It should be fine for classic Amiga work, though.
Title: Re: Which Basic for Amiga?
Post by: balrogsoft on February 15, 2007, 12:06:46 AM
Take a look to PureBasic, is open source for Amiga now, is a bit unstable on my system, but Amiblitz is also unstable.
Title: Re: Which Basic for Amiga?
Post by: justthatgood on February 15, 2007, 01:26:49 AM
Just the thought of touching Basic anymore makes me shudder. I'm so stuck on C....

No, lets make a Visual Basic for Amiga, because Visual Basic is so much cooler then C/C++..

He he he..
Title: Re: Which Basic for Amiga?
Post by: trekiej on February 15, 2007, 01:42:32 AM
I have an A500, A1000, and an A1200.
I miss my old A2000 and A3000T.
What if I want to do GUI apps, What do you recommend?
I would like to design a CNC controler program.
Title: Re: Which Basic for Amiga?
Post by: justthatgood on February 15, 2007, 02:42:41 AM
People seem to enjoy AmiBlitz. Though if you are going to do anything having to do with the a GUI, you really should suck it up and actually learn a REAL language like C.

As long as you have access to the a parallel port in your desired language, you could use just about anything (unless you are stuck using a Windows NT, 2000 or XP system)
Title: Re: Which Basic for Amiga?
Post by: trekiej on February 15, 2007, 02:55:57 AM
I have used C at school and I like using it.
I feel my machines are too weak for it.
Title: Re: Which Basic for Amiga?
Post by: justthatgood on February 15, 2007, 04:20:54 AM
Err, your machines being too weak for C? The C language in more aspects impower your machines a lot more then the cripple ware limits imposed by a much higer level language like Basic.

The Apple II had C, the Ataris had C. Even the most ancient workstations that had less memory then most calculators today had C.

Even better would be getting a handle on 68K assembly language. Though nowadays for the most part it's a task akin to getting your teeth gouged out by rusty forks. The Super Nintendo freaks of the 90's did a lot of stuff with their Amiga's.
Title: Re: Which Basic for Amiga?
Post by: trekiej on February 15, 2007, 05:03:43 AM
I just need to accelerate them and add more memory.
Elbox has A500 ram and chip ram upgrades.
The ram upgrade goes under the 68000.
I wanted to put a clock port there.  The one on Amigakit.com looks cool.
Maybe I will have a ram upgrade made by the end of the year.

sorry, I went off topic.

Using assembly is something I would like to do.
I wonder if some of the C packages out there will allow the addition of assembly in C code.  I know some do in the pc world.
Title: Re: Which Basic for Amiga?
Post by: Karlos on February 15, 2007, 11:13:40 AM
Let's not spam the thread with our opinions of why C/C++ is so much better. We aren't like VB.net developers, after all ;-)

BlitzBasic did have access to normal AmigaOS libraries, including but not limited to Intuition. It is perfectly capable of creating OS legal applications. IMO, it always seemed a lot more OS friendly than say AMOS. I can only assume AmiBlitz retains this abiliy.

Also, as has been pointed out, an AMOS compatible language is also in development and I'm sure that it addresses the OS integration issue.

-edit-

Regarding the "weakness" issue, if you do want to use C, you might find compiling a painful experience on a basic 68000. The resulting code will probably be better in performance terms than something created in Blitz (but that's no means guarenteed on a basic 68000 either, after all blitz was designed for game production) but compiling it would be evil. Due to the amount of files that need to be pulled in and examined, a hard disk is an absolute must at the very least.

For C development I'd recommend at least an 020, 8MB of fast ram and a hard disk. That should be enough to run DICE or stormC 3 (as found on the DevCD 2.1), but you'd still find compiling a slow process.

-edit2-

Quote
I wonder if some of the C packages out there will allow the addition of assembly in C code. I know some do in the pc world


Most do. There are two ways you can go about doing it. First, you can define an entire function in assembler and have a C prototype for it. You have to make sure you don't trash the stack (at least the state it was before your call) or any non-volatile registers in your asm code. If you need to use register-exact argument passing you will almost certainly find different compilers use different constructs for defining them. It can be a pain.

The second way is "inline assembler". Mechanisms for that vary, but at least gcc allows the use of the asm() construct, which is pretty well documented.

I've actually used gcc's asm() in ANSI C++ mode to create functioning inline headers for amigaos library calls. It's a pain in the a*se, but it's better than having to create stub libraries for them.
Title: Re: Which Basic for Amiga?
Post by: balrogsoft on February 15, 2007, 12:00:38 PM
I insist you to test PureBasic, it has been updated some weeks ago and it's free, it have access to all the Amiga API, with conversors from c includes to PureBasic. I like a lot how is structured this language (all versions, Amiga, Windows, Linux), more than Blitz Basic or AmiBlitz. You can use asm merged with your PureBasic code, it have a good debugger, and you can generate the asm file of your complete basic code, for asm freaks!

Purebasic 4.0 OpenSource (http://www.purebasic.com/download/PureBasic.lzx)
Title: Re: Which Basic for Amiga?
Post by: SamuraiCrow on February 15, 2007, 03:29:59 PM
If C is too heavy for your system then Mattathias Basic is out of the question.  It uses C as a backend for compatibility with PowerPC and x86.

AmiBlitz requires a hard drive to hold all of its include files.

Blitz Basic is buggy but has a fast compiler.

PureBasic requires AmigaOS 3.0+ according to its webpage.

If you're on an ECS or OCS Amiga then AmosPro might be okay since it was designed to run on 1 meg A500s with dual floppys.  I wouldn't recommend running anything on under 1 meg nowadays.  Also, Amos includes an interpreter which is handy for debugging if you don't want to compile all of the time.

ACE will run on a bag standard A500 if you want to.  The code generated wasn't very well optimized the last time I looked into it, though.  It uses an extensive linker library for all of its functions so the compile times are faster than other Basics.

I'd say that if you're on a flat 68000, go with Amos or Ace (or both).  But I'd definitely look into downloading Dice C as well if I were you.
Title: Re: Which Basic? Any troubleshooting files for PureBasic?
Post by: CRL on September 16, 2007, 08:10:09 PM
Hi All-
I'm thinking about writing educational software again, and the PureBasic approach appeals to me.  I can use the amiga to try out ideas and then port them to the MSwindows system my school will insist upon.  Sooo... I downloaded the open source Amiga version and unpacked it and tryed it.  Immediate or slightly delayed crashes every time.  Bummer, because in the delay before freezing/crashing I get nice examples of sprite and draw function that I would find useful.  I have a mostly stock (a Sonnet Quaddoubler puts the 68040 up to 50mh) A4000/40 with some speed-up patches.  I started commenting the patches out and testing for crashes, but after this got tedious it occurred to me that there might be a trouble shooters list of things to try for PureBasic and maybe AmiBasic also (AB sort of dumps out on me also).
Any suggestions?
CRL
Title: Re: Which Basic? Any troubleshooting files for PureBasic?
Post by: SamuraiCrow on September 16, 2007, 10:52:18 PM
Don't let portability to the PC scare you away from some of the more powerful Basics on the Amiga.  AmiBlitz code can be ported to the PC's BlitzPlus (http://www.blitzbasic.com/Products/blitzplus.php).  Likewise, AmosPro can be ported to DarkBasic (http://darkbasic.thegamecreators.com/) without too much difficulty.

BTW, try downclocking your '040 back to 40MHz and see if that works.