I am a complete beginner in programming Amiga computers. The only experience I have is some Amiga Basic from a long time ago. I did not like Amiga Basic so much, it was very buggy. No surprise, it is from the Microsoft Corporation! Some years ago, I participated in a Java course at an adult education program. I did not really enjoy this programming language and I am not even sure if it is available for the Amiga. I have seen that a lot of Amiga developers joined this internet forum, so it could be the right place to ask you for advice:
I wish to learn a programming language and practice my new experience on the Amiga. I don't expect to write an advanced computer program soon, but writing some small utilities or tools would be great.
What programming language do you advise me to learn? Can I use general programming books, even when I plan to program for the Amiga, or do I have to look for old Amiga programming books? I will use an old Amiga 500 which has a harddisk and accelerator expansion for programming.
Do you intend to write with or without gui? Imho the most intermedite language is AREXX. Afait, it is part of WB2.0 and later or so. There's an amigaguide userguide for it somewhere (aminet afair)
Good luck Jack
"the expression, 'atonal music,' is most unfortunate--it is on a par with calling flying 'the art of not falling,' or swimming 'the art of not drowning.'. A. Schoenberg
Now that you have mentioned AREXX, I noticed that I should have explained myself better. I intend to learn a language which I can also use on my Windows PC or other computers. I know that AREXX is very powerful and there are many other good languages for the Amiga. For example Oberon or Modula 2 are supposed to be good as well. However, I am more looking for a more common programming language which is still used in the future.
Do you think learning C++ is too hard for a beginner? Are there any alternatives? Basic is easier, but might be too slow. The concept of the language is also a bit outdated I think.
I would also like to know if there is a good editor that runs well with older Amigas. When I participated in the Java course, we had an editor that highlighted the commands and variables.
It depends on how skilled you are already. If you are looking to get started on variables and functions and understanding input and output then a good structured and advanced BASIC is appropriate ( GFA/Blitz ).
Especially Blitz as it supports record structures and is compiled.
C++ is a bit of a stretch for a beginner. It is too easy to muck up, get bogged down and give in. Plus, debugging is a lot harder for a beginner than something like AREXX.
The court case is like a thunderstorm after a long humid summer.
If it is 2.04 and later, include AREXX on that list at about 1.5.
Yes, 2. HiSoft PASCAL sounds the most promising. Certainly for someone like the sister who has already used BASIC.
The added advantage is that, I know from my time at this site, that Sister Rita is very enthusiastic about the AmigaNG and the OS4.x - and I read somewhere on the world wide web that someone had ported Free Pascal to the OS4.x.
Now that you have mentioned AREXX, I noticed that I should have explained myself better. I intend to learn a language which I can also use on my Windows PC
There's REXX for windows too. Look for REGINA. It's user guide cover differences between numerous implementation of REXXes. Including AREXX. Actually I owe already about 5 years of work (not fulltime though but it counts) to knowledge of AREXX. During the interview I was asked (as a student then) which languages I can program, and when I said REXX, interview ended and I was in Quote:
Do you think learning C++ is too hard for a beginner? Are there any alternatives? Basic is easier, but might be too slow. The concept of the language is also a bit outdated I think.
C /C++ is the most common these days (imho). Pascal is probably easier to learn, but it's certainly doesn't come close to C++. All depends on your needs.
Quote:
I would also like to know if there is a good editor that runs well with older Amigas. When I participated in the Java course, we had an editor that highlighted the commands and variables.
Golded is the most advanced imho. Full version is commercial though. I perfer CED for quick edits (no colour and syntax highlighting). Otherwise there's Emacs (there's a verson of it for Amiga that doesn't require geekgadgets afair, but I might be wrong, When I get to my a1200 I'll try to remeber to check). Vim is an option too. There are more, but I prefer these.
Jack
"the expression, 'atonal music,' is most unfortunate--it is on a par with calling flying 'the art of not falling,' or swimming 'the art of not drowning.'. A. Schoenberg
Thanks for the recommendations, Mitch. From my evening course, I am familiar with some of the basic concepts of programming languages. Although I have understood the advantages of object oriented programming, it was honestly a little bit confusing for me at times.
Maybe I should indeed start with Basic again in order to refresh my rusty knowledge. I might later change to C++ when I am more skilled. I reckon that GFA Basic is a highly esteemed Basic. My sister once had it on her Atari ST. If it is better than other variants such as Blitzbasic and AMOS, then I will try to find a copy somewhere.
In any case, I will never touch Amiga Basic again!
It's very nice, used it for a (very little) while. Has an all-in-one `IDE'. Dunnoh about the others. The impression is when comared to this one: Quote:
In any case, I will never touch Amiga Basic again!
, my very first programming language. Wont' touch it neither (hopefully). You forgot to mention it's being a M$ one
Edit: messed up the quotes, now fixed. Jack
"the expression, 'atonal music,' is most unfortunate--it is on a par with calling flying 'the art of not falling,' or swimming 'the art of not drowning.'. A. Schoenberg
That is a good point that you mention there. I am indeed very enthusiastic about the next generation Amiga and it would be great if I could continue with the same programming language when I get it.
I have not considered Pascal so far, but it might be a good idea if it is available for the Amiga NG platform.
Is there any good Basic which can be used on the Amiga NG? Are GFA, Blitzbasic or AMOS available?
I reccommend Amiblitz which is the latest version of blitzbasic.
it has several advantages...
it's easy to write simple learner programs but also supports most system library commands for when you get a bit more adventurous. it's free it has it's own editor it compiles really fast it's free it has good runtime debugging did I mention it's free?
Thank you for this information, Severin. I visited the website that you suggested and I must admit that I got a little confused. I have some questions:
Are AmiBlitz2 and Amiblitz 2000 the same?
They state that it allows programming for 68k Amigas and Amigas which are equipped with PowerPC expansion cards. But does it still work with the new incarnation of Amiga OS NG? If I start learning this language now, is there a future path for it on other NG platforms?
For me it is also very important that there are helpful tutorials that will guide me during this tedious learning process.
Amiblitz only compiles 68k code atm but it does work on OS4
As for tutorials, search aminet for "blitz" there's archives of many years of a ML there, also loads of 3rd party libraries which give you new commands. There's also plenty of tutorials on the website I gave you
Amiga user since 1985 AOS4, A-EON, IBrowse & Alinea Betatester
I used GFA Basic on my Atari ST quite a bit back in the day, and I'll certainly vouch for its usefulness as well as its ease of use. I never knew it was available for the Amiga.
AMOS, which I'm guessing is the Amiga cousin to STOS on the Atari, is good but is a little more "retro" in that it still uses line numbers, and is much more geared towards the creation of games rather than any more serious applications. If I'm wrong about AMOS, someone please correct me...I'm just going off my memory of STOS and assuming AMOS was the exact same.
Anyways, it's quite interesting to know that GFA Basic is available on the Amiga. I'll have to go search for it myself... :)
Sister_Rita wrote: I am a complete beginner in programming Amiga computers. The only experience I have is some Amiga Basic from a long time ago. I did not like Amiga Basic so much, it was very buggy. No surprise, it is from the Microsoft Corporation!
There's nothing wrong with AmigaBASIC, other than being slightly dated. I've used it to program my AmiGen genealogical database using ACE, a BASIC compiler. The BASIC interpreter as supplied by M$ to Commodore/Amiga, on the other hand, is a complete mess. Fortuanately, it hasn't worked on any Amiga for quite some time now.
Valiant@Camelot AmigaOne XE, 800Mhz, 1GB, 9250 Radeon, OS4.1u7 Sam440ep, 666Mhz, 512Mb, 9250 Radeon, OS4.1u6 A1-X1000, 1.8Ghz, 1GB, 9250 Radeon, OS4.1x A1-X5000/40 2.2Ghz, 2GB, Radeon HD 7700, OS4.1 FE ud 2
I started using Basic on the C-64. I then went to Simon's Basic. Later I used Machine lightning and Basic lightning. I tried a couple of other languages too, like forth among a few others.
On the Amiga, I started with Amiga Basic and later I compiled my programs with ACE compiler. It made it more useful. I learned how to use the Amiga libraries with Amiga Basic.
Then I started using HiSoft DevPac (for assembler). A bit later then that I used Dice (a c-compiler).
After that I think I started using Blitz Basic 1.? and continued with Blitz until the last version. It's not supported since long time and is nowdays only available under Windows with a few different names for a little different approaches.
The coninuation of Blitz Basic on the Amiga, is AmiBlitz, which is bettter and free.
This Basic is not even closely like the old Basics, since it handles structures and procedures and other stuff, like c-compilers. It's even possible to imitate features from object oriented languages, like C++, Java and Ada, but not fully in any way.
Then you have Amos. The only version of Amos I think is really good, is Amos Professional. It allows you to make programs system friendly. I have allways problems with programs made in Amos - they doesn't start on my Amigas. I don't know why. But anything else works fine. Strange. But, I think that executables made in Amos Proffesional are fine.
Finally, I have one Basic to mention that I havn't seen yet in this thread. That's Pure Basic. It was developed until 2002 or smthng, and is at version 2.9? smthn atm.
It's a good and structured Basic, very much like AmiBlitz. It had a lot of potential, but with very weak support the Amiga version has stalled its progress towards new techniques like PPC and 3D.
However. This Basic is multi platform. It's available for Amiga (68k), Windows (x86), Linux (x86) and MacOS (PPC).
The Windows and Linux version are at version 4.01 atm and features a lot of fun stuff.
If only more Amigans would register, maybe that the Amiga version would develop to PPC and maybe even 3D.
The great thing is that I bought this Basic in 2000 or smthn for the Amiga, but I'm entitled to every new version to any new platform for the rest of my life. :) No use to pirate this software. I have even donated a little to show my appriciation for the project. And, yes. I'm mostly using the Windows version. :( *hiding in the shadows, defending myself with trying to make the amigaversion more popular*)
There are free test versions to download to try this Basic out before buying, and if one is to just see if Basic is something to use in the future.
But atm, from what's available for Classic, I would choose between AmiBlitz, Amos Professional and Pure Basic. Sorry that I don't mention GFA Basic, HiSoft Basic, but I think they are out of age, so to speak. Dunno if they support structures and assembler.
One thing that is very neat with AmiBlitz and Pure Basic, is that u can use assembler straight up in your Basic program. Very nice to make tight loops faster - if there is interest and need for it. Amos supports some assembler like instructions, but AmiBlitz and Pure Basic are like a more or less fully featured assembler. I know that Pure Basic has support for each and every version of 680x00 CPU. I don't know if AmiBlitz has this but I think there's support for FPU instructions - not sure though, since it's some time since I used Blitz/AmiBlitz.
A recommendation to learn a language. You can allways use books made for other platforms as long as they don't use external resources for that language. External resources are mostly stuff that is built into the operating system, but can also be other third party resources.
The overall techniques for programming are very much a like between languages and platforms.
One overall rule is to break down problems and start with the smallest pieces, building them together to what you need - like Lego. :) (if your not using Forth, which is a top down language, which brakes down a problem until you are at instruction level, then the program is ready)
A good thing to start learning a language is: 1. Observe the structure of the language. 2. Learn the mainly used structures - while/wend - if/then/else - for/to/next - etc. Find out how to print values to the screen and play with these structures until you feel familiar with them and understand when one structure is better to use than another (many are very much alike but with small differences). 3. Learn how varables work and learn the different datatypes and what they are good for. 4. Learn how to use structures. 5. Learn how to use linked structures. 6. Maybe even learn how to make objects and handlers (if you are into learning som object oriented programming - good for greater projects and projects involving many programmers). Also good for making code that is rather easily upgraded in the future - but can have a drawback of more preparing and slightly slower code, but not nescessarily. 7. Learn each and every feature library in the language (if the language has any). In Blitz/AmiBlitz/Pure/Amos there are many libraries for different stuff like timers/sprites/windows/gadgets/appgadgets/arexx-ports and so on. 8. Learn how to use external resources. Here's is when you get total control over your machine and can use what ever you like when ever you need it. Full power to the programmer. :D
Good luck!
(ps. I havn't mentioned ARexx as a programming language because it's more ment to be a scripting language for connecting different applications with each other. Of course it's possible to write programs with ARexx - even with advanced GUI-systems like MUI, but it's not as straight forward as basic or c is, even though it's easier than assembler. It's also just interpreted, and therefor very slow. The other Basics I have mentioned, C, assembler or any many other languages, are compiled before executing, making them allmost as fast as assembler in many cases. Not allways though, but for the most it's enough.)
Sorry, for my long answer, and sorry if my english isn't perhaps the best. I'm much more used to listen and read then to write english.
I can hardly express how thankful I am for the wealth of information that you have provided.
I have not heard of Pure Basic before, but it sounds extremely promising. I will see if I can find some more information about this Basic on the world wide web.
Hopefully, I can find a good book that will guide my during the learning process. I would like to have a printed book instead of a digital version in the portable document format. It is much more relaxing to sit on the couch than to look at the flickering computer screen.
This book is for version 4 and some things differ and are missing in the Amiga version.
There has been a code shift between each new version, I think. Code in 2.x has to be slightly modified to work in 3.x, and also for 3.x to 4.x. Not too much, but some.
I only hope that the Amiga version could get a real boost in progress, but as said, that depends on the support.
Maybe the book itself is free and downloadable somewhere...
Jack.
"the expression, 'atonal music,' is most unfortunate--it is on a par with calling flying 'the art of not falling,' or swimming 'the art of not drowning.'. A. Schoenberg