Amiga.org
Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: KPK on April 10, 2003, 11:21:45 AM
-
I know many of you enthusiasts have moved beyond BASIC programming but I myself (even if I'm skilled with common c programming), not being a hardcore developer, enjoy creating programs fast and easy with basic dialect languages. On the Classic Amiga we have both a Blitz Basic (no experience in this one) and AMOS and AMOSPro. Both have moved on to Windows and have evolved.
The AMOS creator have developed Jamagic. And the Blitz author have ported Blitz Basic to the win platform and Direct3D API. There is also alot of other fast and simple basics for Windows.
I think we need a new and strong BASIC for the AmigaOS4.0 which let you get into every strong API in the new Amiga in a easy way. I even think it should be an official BASIC dialect of the Amiga so all newcomers can get started with creating software without having to start at the steep end of the C programming learning curve.
However we put it, there will always be newcomers that want to try and make their first program on a computer. If there is no entrypoint for kids with no skills, they are likely to choose another platform where they can get started but if the new Amiga comes with a package that let you design your own first game with ease, looking at code to see how it's done and so on it might be a strong killer app. An app that will make people stick to their first computer they might get. The AmigaOne with OS4 and beyond. For todays computer newbies and for old timers like myself (being in my thirties) not having the time to code C as a hobby with all the extra effort it requires. Amiga is about having fun. Making your own programs in BASIC is fun as long as it's a strong dialect of it and it doesn't cripple you.
check out: www.darkbasic.com
www.blitzbasic.com
http://www.clickteam.com/English/jamagic.php
What do you guys think or do you know of any plans in this area?
-
Hi,
Check here (http://www.liquido2.com) to see the work of getting a new Amos. Still in the early stages but I have a strong believe it will be great.
You can help out by betatesting certain parts. I am not sure if a MOS version is in the planning now. Might be a good time to step in, Bill? :-D
Coder
-
I have spent a bit of time thinking about this one. I also find BASIC a great way to quickly throw ideas together without having to worry about complex syntax and "advanced" concepts like OOP, and then spend ages trauling through make files and linker scripts...
I liked the way Blitz2 worked.
I have found that using SLD in C takes all the sting out of it and makes using C as simple as Basic... This has make me think about building a simple Blitz Basic 2 compatible(ish) interpretor and use SDL as my Direct Media system. It wouldn't be very fast (or not as fast as possible is compiled), but it would be a quick and fun way try out new ideas.
If it was popular then I would think about building a compiler... Probably just a frontend to gcc:
BASIC--->C+SDL--->ASM--->EXE
-
I understand we all have different views on how to achieve a nice fast development platform that suits ones needs and platform preference. Certainly developing one ourselves is one option but how complete and ready for newbies will it ever be?
I am aiming at a broader perspective in where one could form a group promoting companies to port their interpreters to our platform or to make Amiga Inc do so or understand the importance of this (if they already don't)
For example on Clickteams homepage on Jamagic there is a page about cross-platform abilities being a part of Jamagic from the start.
Currently they state they have Linux and Mac versions in the works.
Why haven't we heard from anyone developing a strong BASIC for the Amiga. Every platform should have a standard basic. DOS have (Qbasic or the likes) Windows have Visual Basic altough not built in. Commodore 64 boots up in a basic interpreter for gods sake. There is a reason those old home computers became immensly popular. You could start creating right away. We need that for the new Amiga.
-
KPK wrote:
I think we need a new and strong BASIC for the AmigaOS4.0 which let you get into every strong API in the new Amiga in a easy way.
What we currently have in mind would be Python. Python isn't exactly BASIC, but it is very close to it, making it still suited for newcomers and advanced programming alike.
This link (http://www.hetland.org/python/instant-python.php) is a beginner's guide to Python, if you're interested.
-
Rogue wrote:
KPK wrote:
I think we need a new and strong BASIC for the AmigaOS4.0 which let you get into every strong API in the new Amiga in a easy way.
What we currently have in mind would be Python. Python isn't exactly BASIC, but it is very close to it, making it still suited for newcomers and advanced programming alike.
This link (http://www.hetland.org/python/instant-python.php) is a beginner's guide to Python, if you're interested.
Looks good.
Will this be in an update or the initial release?
-
yeah!! Amos was my second heureka after discovering AmigaBasic (which suck by the way :) ).
I tried programming assembler ( 100010111101101 haha) but couldn't get any serious usage of my "move a value from one adress to another" proggies".
I had many other interests than programming acctually, so C and/or other more complex programming languages would never have caught my attention. I fear that without Amos, i would never have had the pleasure of learning to program at all...
So I agree with you a 100% Bring Amos back to life!
-
Wilse wrote:
Looks good.
Will this be in an update or the initial release?
Hard to say. This will depend on how much time is left.
-
hmm... this thread developed the general taste that BASIC is a kind of magic: the language itself is quite simple, indeed, but what really makes the difference is how easy it is to use the resources of the machine.
Specifically, AMOS was an easy language in the sense that it easily permitted to use graphics, sounds, etc. (with all the deriving limitations).
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.
I've programmed a lot in AMOS and I can say that its only severe limitations - apart from speed - were lack of datatypes definition, structured datatypes, real functions (Def Fn is almost a joke, and the Param mechanism is way too clumsy) and real constants (ever tried to compile programs which make use of it? They just crash. And constants are awfully weird to work with,too).
Some may also miss OO mechanisms, but I think that it would be just too much.
Stylewise speaking, it's a matter of personal tastes.
Otherwise I think AMOS is quite nice, and I did enjoy using it over the years, despite my fave language is asm.
Read the BabeAnoid thread on amigaworld.net (ooops! what did I dare to say?!? :-P) for more considerations about AMOS and BASIC in general.
[EDIT]
Ah, one last thing: another reason that makes BASIC more friendly than other language is that it is generally interpreted and thus has the great advantage of immediate on-the-fly testing.
Regards,
saimo
-
I agree with you saimo.
The simpleness of opening a screen, or getting x,y coordinates of the mouse, or reading the paralell/serialport in one command, without having to call 5 librarys and initiate bla bla bla...
(almost) everyone have to start somewhere, and in my case it was amos. It was hard enough to get into at first.
By the way, what happened to AmigaE?
-
@ KPK
I agree. Basic is needed, preferrably one that is close to Amos in it's design. One of the biggest advantages with Amos was it's highly integrated developer's envireonment. Simple, yet powerful. Everything was there and there were no problems with compiling, linking, etc. Just press that little "play" button! :-)
Check out http://www.purebasic.com/ (http://www.purebasic.com/). It's available for Windows, Linux and Amiga. The Windows version has the most features, the others are somewhat lagging behind. Browse through the online documentation found under the support page. It has some very powerful features (including the usage of Quake3 3D worlds), and yet it's quite simple. It also has a IDE.
I was thinking about checking out PowerD the other day (when I saw an announcement or something). But I think that is closer to E than Basic.
@ Rogue
Pascal is another "non-basic" but similar language with an easy syntax. Perhaps more "clean" than both Basic and Python (with it's declaration of variables and so on). But Basic rules! :-)
But what really makes the difference is the inclusion of an IDE, IMO.
-
@ Saimo
Sure, Amos had a lot of flaws. It kind of "lived in it's own world", offering it's own solutions to things sometimes instead of using the functionality offered by the OS if I remember correctly. I remember using the OS GUI and requesters in programs was quite difficult, for instance ...
Some may also miss OO mechanisms, but I think that it would be just too much.
I agree, then it would move away from the simplicity that is it's greatest power. There are other languages that offers OO functionality. Basic should be simple and fast to work with.
-
By the way, what happened to AmigaE?
E was expanded somewhat by another author and became "CreativE". Both are now open source and available on Aminet in dev/e. (Note: CreativE is email-ware.)
The standard E-Modules are only current through AmigaOS 3.1, however.
-
i agree to takemehomegrandma
PureBasic is a very well structured languange based on Blitz syntax mainly
and very powerfull
in PureBasic its really as it should BAsic should
i.e. LoadSprite , OpenScreen , DisplaySprite
it has amiga version and the reason it lags behind Windows version is the lack of people provide some interest for it
and really worthing support
-
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.).
-
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.
-
why use basic on the amigaone, when C is already available??
-
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
first post Ants? good on ya m8!
-
HEY ANTS!!!!!!!!!!!!! :-D
-
Darth_X wrote:
HEY ANTS!!!!!!!!!!!!! :-D
YEAH!! DOOD!!
-
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.
-
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
-
@ 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
-
-
@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
-
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.
-
As Coder pointed out I am working on a new AMOS-like BASIC language called Mattathias BASIC (http://sourceforge.net/projects/mattathias/). 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?
-
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!
-
@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.
-
C/C++ should have been replaced by something more modern many years ago (I'm NOT implying Basic).
there have been many other languages come and go - but none of them have been quite as popular as C/C++ because none of them are as flexible or generalized as C or C++
C and C++ can do just about anything
and its SO DAMN EASY TO PROGRAM IN! :-)
-
contacted Francois Lionet about AMOS coming to AmigaOne, but he said it isn't economically feasable, for obvious reasons. Tragic.
Did he say anything about being offered a free pegasos? :-D
The biggest problem with AMOS Pro is that a lot of it would have to be re-written from scratch.
-
C/C++ should have been replaced by something more modern many years ago (I'm NOT implying Basic).
JAVA?
-
Darth_X wrote:
C/C++ should have been replaced by something more modern many years ago (I'm NOT implying Basic).
JAVA?
no way! there are not many worse languages! java is better than basic though...
-
and its SO DAMN EASY TO PROGRAM IN!
Care to write some tutorials on how to code MorphOS apps for the beginners? :-D
-
@Darth_X
i would love to... ill just have to wait for my pegasos to arrive...
-
Darth_X wrote:
Did he say anything about being offered a free pegasos? :-D
The biggest problem with AMOS Pro is that a lot of it would have to be re-written from scratch.
No, he didn't mention it.
Here's my e-mail to him, Mar. 13, 2003
---------------------
Hi Mr Lionet,
Two of the best pieces of sofware that were available for the Amiga were your programs "AMOS Professional" (I still use this), and "AMOS Professional Compiler". I see that they are available for free download at "Bact to the Roots". My problem is I can't get it across to my Amiga from the pc that I have.
.........
I have the ORIGINAL purchased from a store in 1993. I think it's 1.0.
Ever (will) consider doing an AmigaOne version?
You helped make Amiga RULE!
Vancouver, B.C.
Canada
---------------------
I got a reply from Francois, in about 1 1/2 days. He said too few copies would probably be sold on the AmigaOne platform for now. :-( :-( :-( :-(
AmigaOne! Compiled PPC AMOS on AmigaOne @ 800 MHz would FLY!!!
-
Hello Sidewinder,
After I typed that, I realized, if it makes sense, it could be treated like
If
End If
------
Data
End Data
----------
Then, because of the restore command
Data Title
End Data
Restore Title
----------------
MAYBE even print commands could be treated that way? Does that make sense?
Print "Hello world"
"Here are the options you have"
"1. Start Game"
"2. Load Game"
"3. Quit"
End Print
And, if these could be "folded", like procedures in Amos Pro.
Another thing I'd like to say about DATA, is, when I was typing huge heaps of data, I always had to count it manually later, what a knightmare. I resorted to a repeat: read A$ : inc x : until a$="", to count the amount of items I had.
It would be cool if you had a semi-living editor where
Data Title (x,y)
Where "(x,y)" automatically is applied when you type in the word "Data". When it starts, it looks like this
Data TITLE (0,0)
As you type data in, if it's numerical, the first counter increases, when it's text, then the second counter increments. Sounds like a lot of overhead for the editor, but at 600MHz and 800MHz, it should be a piece of cake.
Also, if you type in FOR, REPEAT, WHILE, DO, it should be red, until you type in NEXT, UNTIL, WEND, LOOP. Then you KNOW, you didn't close the loop, until it's not red anymore.
What would also be clever is, clicking on a NEXT and the FOR, blinks, or on a WHILE, and the WEND starts blinking!
If these weren't explained clearly, I'll gladly try to describe it another way. Maybe all of these things have already been done?
I know some editors change the colours of all the keywords, AMOS Pro 1.0 doesn't, unfortunately.
AmigaOne! NEW (yet old) and IMPROVED!!
-
@Atheist
Formated output, seen in the source as "WYSIWYG" doesn't sound bad.
I don't think Sidewinter plans to write his own intregrated editor,
and if he does I would advice him th think again .....
Lots of works for something that would allways been vastly
inferior to existing editors.
Counting Data should be possible using an Arexx-script in GoldEd,
but I would think the best way to do it would be the way C does it
with predifined arrays. So writing Data() + and End Data at the
end of it should be enough for the compiler to figure the size out.
GoldED's C-mode also features bracket-coloring which makes it damn
easy to find missing one, should be possible to adapt this to Basic's
control word.
-
Hi folks,
Now I never thought I'd hear the name AMOS uttered again, I got to know Amos very well (I had a bit of a head start as I was a Beta tester for AMOS something like 2 years before it's general release, met up with Francois on a couple of occasions to discuss bugs, which even to this day still exist )
AMOS was certainly excellent as a starting point to learn the BASIC language, but it did have it's limitations, it was not exactly system friendly, i.e. the way it handled screens, i.e. it did everything it's own way, and was not much good for working with Intuition screens (It was POSSIBLE, but not exactly straghtforward) so certainly a re-write would be needed, if the guys doing a AMOS version for AOS do a good job, perhaps this is a good possibility.
My next choice would be HiSoft Basic, gives you lots of control when you need it, and would probably work "out of the box" on OS4, ( not tried that yet of course, but I intend to) as it uses standard intuition screens, it is a complied language, but of course it's only going to compile to 68K code so you are not going to get the maximum speed possible, but should run at a very respectable speed nontheless.
One of the advantages of Hisoft is that it's still available and cheap !, I bought a copy from Hisoft a few weeks ago for about £10.
Also as someone suggested, we have PureBasic, I think this looks quite promising, the developers are planning a PPC version, so your code will run at it's best speed, and it also has the advantage that you can port your BASIC programs between several different platforms with little alteration. I've also registered a copy of Purebasic so I'll be giving that some testing as soon as the PPC version is ready.
Non of the BASIC languages I have seen so far give the ease of MS Visual Basic, i.e. draw a button on screen, click it and all you have to do is write the code for what to do when you click the button, none of
IF MOUSE KEY=1 AND XMOUSE >= xstart AND XMOUSE <= xend AND YMOUSE >=ystart AND YMOUSE <= yend THEN [do something]
sort of code
And what a pain it is if you want to move the button around afterwards
BUT this classic way of programming gives you much more power to customise what your after.
SO in brief, I think it all boils down to exaclty what you need out of a BASIC language, but I think it comes down to HiSOFT of PureBasic as they are availavle NOW and you can start learning the basic BASIC language until something better comes along.
Regards
Paul Townsend
Amigaone Productions
-
Now, take a look at this:
NOMAD article on Amiga Flame (http://www.amigaflame.demon.co.uk/aminom.htm)
Very promising.
.
SlimJim
-
I will give python a try, just doenloaded it (for windows) .
Read this (http://www.linuxjournal.com/article.php?sid=3882).
-
Hello amigaoneproductions,
AMOS Professional has a compiler, which I searched the whole internet to try to buy. It's not availabe. ln fact, found one place, that sold it 1 week before I got there. I know it's available on back2theroots for free, but there's no manual.
You commented about HiSoft Basic, but didn't say anything about a compiled AMOS Pro prg.
AmigaOne! AMOS Pro Rules!!!
-
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!
I did mention this to him (the PB author) as a possibilty, but got no reply, which knowing him means no (at this time).
Anton Reinauer
Phoenix Developers Consortium
-
why is everyone so worried about basic anyway?
could another real programmer please explain the benefits?
what i want to know is will storm C be available for OS 4 - and what other compilers will exist that i may use for os4/amigaone?
-
iamaboringperson:
why is everyone so worried about basic anyway?
could another real programmer please explain the benefits?
Well, a simple to use environment for beginners, and easy to use commands- no need to include files and open libs to use them. Obviously for more experienced coders the language should provide the ability to include files etc as the programmer grows.
To begin with, C is pretty scary to get started with- so many options, just to get it to compile- I know, I've just been getting SDL working on VisualStudio6, and that's a pretty extensive IDE! A beginner would have had a hard time there! This could easily put off potential programmers, by making them give up in the early stages.
Basics tend to have a nice supportive community to help beginners (and more experienced coders), and have always had a games programming slant, and were the only places you could really learn games programming from.
The most important thing really, is the syntax- C, C++, Java all have a ghastly syntax, that IMO is very hard to read and debug- very cryptic looking with all those curly brackets :-(
With Basics, a lot of unnecessary brackets etc have been removed, which make it easier to read, and you can see much easier where a block begins and ends- like:
While
..
..
Wend
Anton Reinauer
Phoenix Developers Consortium
-
iamaboringperson:
first post Ants? good on ya m8!
Thanks- been keeping off the forums as much as possible- too much OS wars :-(
I'd rather keep to more productive subjects like this :-)
cya- Ants
Phoenix Developers Consortium
-
Sidewinder:
As Coder pointed out I am working on a new AMOS-like BASIC language called Mattathias BASIC.
Cool! - time for me to hit your forums I think! :-)
Anton Reinauer
Phoenix Developers Consortium
-
Quote:
--------------------------------------------------------------------------------
iamaboringperson:
why is everyone so worried about basic anyway?
could another real programmer please explain the benefits?
--------------------------------------------------------------------------------
Well, a simple to use environment for beginners, and easy to use commands- no need to include files and open libs to use them. Obviously for more experienced coders the language should provide the ability to include files etc as the programmer grows.
To begin with, C is pretty scary to get started with- so many options, just to get it to compile- I know, I've just been getting SDL working on VisualStudio6, and that's a pretty extensive IDE! A beginner would have had a hard time there! This could easily put off potential programmers, by making them give up in the early stages.
Thankyou Ants!!! Just what i have been trying to say in my recent posts in this very thread...
-
Has anyone approached the author of Hollywood and asked if there was any possibility of extending the system for more general purpose use?
The system has the ability to interpret Scala scripts so extending the compiler to handle BASIC dialects may be workable.
-
Hisoft Basic 2 is a very powerful BASIC compiler with lots of support to 3D/CyberGraphics libraries (including render.library from Binary Distillery). I am a registered user, and I do recommend it to anyone who likes BASIC language.
Hisoft Basic 2 (£10)
Hisoft (http://www.hisoft.co.uk)
Aminet HisoftBasic2 related files:
http://www.aminet.net/aminet.cgi?string=hbasic (http://www.aminet.net/aminet.cgi?string=hbasic)
http://www.aminet.net/aminet.cgi?string=hsb (http://www.aminet.net/aminet.cgi?string=hsb)
-
If Amiga Python eventually gets a translator that will convert Python's bytecode into VP Assembler like the AmigaDE implementation of Java then that would be great!
It's still not Basic, however... :-D
-
Well, it's hard to say that the world needs BASIC, when hardly anything is akin to the original BASIC standard developed in the 70's. Put a piece of AMOS code next to Blitz or GWA or Power Basic, and you'll hardly see many similarities.
What I like most about the "revamped" BASIC languages is:
- Integrated IDE: realtime syntax checking. Some BASIC IDEs also use color-coded text like Visual C, and auto-indent.
- Interpretation: Compiling is great for a speed improvement, but raw code allows true architecture independence, so long as an interpreter is available.
- Realtime debugging: Interactive debugging and tracing is easier than in true compiler languages.
- More fun: Let's face it, you don't really WANT to start off with C. BASIC lets you do cool stuff right away.
- Simple structure: Writing whole apps in BASIC is a pain, but if you want to run little programs to handle mundane tasks, you don't want to do all that memory management by hand, do you? BASIC gives you results quickly.
What I hate about BASIC:
- You have to compile the whole program. C and other real languages allow you to compile your program in manageable parts, as object files.
- BASIC is an "idiot's" language: Unless someone really puts in effort to make BASIC more usable, which is definately possible.
- Bad habbits: When I gave up on BASIC and moved to C and the Allegro library, I learned a lot about real programming. I had to toss out most of my BASIC knowledge and re-learn everything. Instead of making a new language tailored to amateur programmers, couldn't we take C and make it easier, and then open source it so it could be ported to all sorts of platforms?
Bugs: BASIC compilers are generally buggier than other languages. AMOS has trashed more than a few of my programs over the years, thanks to a really screwed up editor that insisted that certain lines didn't exist and there was a syntax error when there clearly wasn't.
- Games: All BASIC languages these days are specifically designed for making games. There's very little out there for serious GUI applications. In fact, if you want a standard GUI in Blitz BASIC, you have to buy a totally seperate version! There's Blitz, Blitz 3D, and Blitz Plus. Come on... GUIs aren't complicated enough so you have to buy a whole seperate compiler!
- Huge executables: BASIC is generally not modular, so when you write a program, the compiler just throws in the entire runtime library. Blitz Basic executables are 750K minimum, no matter what. What if you only need command-line support and no graphics? 750K. Period.
I haven't tried Visual Basic. I want something portable, and Visual Basic is pretty expensive.
-
Waccoon wrote:
What I hate about BASIC:
- BASIC is an "idiot's" language: Unless someone really puts in effort to make BASIC more usable, which is definately possible.
Thanks.
Waccoon wrote:
Bugs: BASIC compilers are generally buggier than other languages. AMOS has trashed more than a few of my programs over the years, thanks to a really screwed up editor that insisted that certain lines didn't exist and there was a syntax error when there clearly wasn't.
Could it have something to do with the authors of the SW? They don't take it seriously, because everyone slags it and sales stay low? It's just the way it is. I've found a couple of problems with the ide, as well (Amos Pro, I still love it). 3 at least.
Waccoon wrote:
- Huge executables: BASIC is generally not modular, so when you write a program, the compiler just throws in the entire runtime library. Blitz Basic executables are 750K minimum, no matter what. What if you only need command-line support and no graphics? 750K. Period.
The Amiga version? I've never used it (Blitz, any version), but you must be refering to the windoze version? Anything on windoze is MAMMOTH!!!! I found a commercial Ram Disk: program for w98se. It was 114K in size and required a 1.4 Meg DLL file to run!?!?!!!! The DLL didn't come with the Ram Disk, I had to track it down on the internet. Then, you find out it was programmed in visual basic!
Why can't an ide in C/C++ open a window, everytime you type a keyword in, asking you which library you want to use, tick off a checkbox beside the library, and it automatically puts it in as an include at the beginning of the source code? Or, when you enter a variable, a box opens, you check off wether it's an integer, or floating point, or whatever and it places it in the appropriate place at the beginning? Just make it EASIER to use, for Pete's sake!
AmigaOne! AOS4.0 version of AMOS Pro = shareware BONANZA!!!
-
Atheist wrote:
The Amiga version? I've never used it (Blitz, any version), but you must be refering to the windoze version? Anything on windoze is MAMMOTH!!!! I found a commercial Ram Disk: program for w98se. It was 114K in size and required a 1.4 Meg DLL file to run!?!?!!!! The DLL didn't come with the Ram Disk, I had to track it down on the internet. Then, you find out it was programmed in visual basic!
How big is a Hello World program in AMOS on the Amiga, for example? Things may be smaller on the Amiga, but BASICs in general still end up including everything, making larger programs.
Why can't an ide in C/C++ open a window, everytime you type a keyword in, asking you which library you want to use, tick off a checkbox beside the library, and it automatically puts it in as an include at the beginning of the source code?
Decent IDEs do automatic #including, and in a better way than what you suggest - for example, C++ Builder sticks the standard #includes, and then adds more as required whenever I add new bits to the GUI.
Where it falls down is that I have to add the #includes manually if I use a library that C++ Builder doesn't know about. But then, this is no different to BASIC where I have to manually do stuff if I want to use some library that isn't part of the supplied standard library, if that's possible at all (and in AMOS, accessing external libraries was much more complex than in C/C++).
Or, when you enter a variable, a box opens, you check off wether it's an integer, or floating point, or whatever and it places it in the appropriate place at the beginning? Just make it EASIER to use, for Pete's sake!
Because (a) in C/C++, unlike BASIC, a variable could be a type other than the fundamental integer/float/etc - it could be any user-defined structure or class, and (b) most ppl except absolute beginners I'm sure would find that annoying - it's probably quicker to type in the name of the type than have to search through and select it out of possibly hundreds of types.
Don't get me wrong - I think BASICs, or other "beginner" languages, have their place - but there are plenty of reasons why ppl move onto other languages.
-
> Anything on windoze is MAMMOTH!!!!
Not entirely true. It's (as usual) mostly up to the compiler, what you decide to link with etc. My OpenGL toolkit (API that wraps windowing, key/mouse/joy input, timing, multi threading etc, written in C) is only 30 KB under Windows (about the same under AmigaOS). Actually, by doing some tweaking with the compiler options for GCC under Windows (e.g. custom startup code), I was able to bring down the size of a Windows console "Hello World" program to below 10 KB (around 6-7 KB I think), which is kind of hard to beat (regardless of platform and language) without going to pure assembler.
-
didn't understand why you'd want to write a program with anything but global variables.
There's a bit of truth in that... Can't believe how much more "readable" my Amos sources became, after I stopped using that many global variables, but instead local variables and function calls with arguments...
Mostly becouse of that, I can still understand most parts of my 3500+ lines game project :-)
Recently, I've started re-programming it on C, based on AmosToC-produced C code (That program is available at Aminet)
The game sure did work on MorphOS, and well, if I may say, but if you're doing system friendly stuff (Using RTG screens instead of "Amos Screens") there are some limitations.
Becouse of those, and possibility of native PPC version, I decided to move the development to C.
But let me say just one thing: "This whole project couldn't have been born without AmosPro"
It's just so easy to start programming in Amos, Screen Open... and there you go!
But currently the problem is, when you start doing system friendly stuff (RTG screens, standard windows etc.) it isn't that easy anymore...
-
C/C++ is only good for OS developers. Application and games developers want stuff like the Basic language.
What a total nonsense...
First don't confuse C with C++. C++ is targetted mainly for appliaction development and it would be a nightmare to write lowlevel OS stuff in it.
Second: game developers and basic? I gave me a good laugh. As game developer I despise basic language.
Inefficent in terms of memory and cpu power (no optimizer, automatic allocation+garbage collection).
Most implementation can't handle complex data structures, algorithms and are limited to their commandsets (blitz is nice exception here).
Typeless, imperative or procedural - its real pain to maintain code longer than 1000 lines.
With basic you quickly reach its limits and then waste your time for doing tricks and workarounds.
For the system standalone basic is useless. It doesn't give you the power of arexx (tcl, perl, python...) nor can be used for shell scripts. It would be only useful for few homebrew 'developers' that will make another unfinished space shooter or platform game (see games on aminet).
Try BF (http://www.wikipedia.org/wiki/brainfuck) instead ;)
-
5 rem Programing in basic is this easy.
6 rem This is why C won't do for beginners!
10 input "Do you want Basic included with MorphOS or OS4?" ;a$
20 if a$ = "yes" then goto 50
30 print "Whatever!" : end
50 print "Yeah buddy!!" : end
:-D
-
redrumloa wrote:
5 rem Programing in basic is this easy.
6 rem This is why C won't do for beginners!
10 input "Do you want Basic included with MorphOS or OS4?" ;a$
20 if a$ = "yes" then goto 50
30 print "Whatever!" : end
50 print "Yeah buddy!!" : end
:-D
This is a good reason why I think the world does need a BASIC.
It's unstructured an ugly... but it's quick and simple (with instant results), and that's what you need when you want to get started in programming.
-
It's unstructured an ugly... but it's quick and simple (with instant results), and that's what you need when you want to get started in programming.
Hey i resemble that remark;-)
Yup i just rattled that off within seconds and it would work first try. Basic is like riding a bike, you really don't forget how.
-
Atheist: Could it have something to do with the authors of the SW? They don't take it seriously, because everyone slags it and sales stay low? It's just the way it is. I've found a couple of problems with the ide, as well (Amos Pro, I still love it). 3 at least.
Yes. AMOS had lots of bugs in its editor, and it saved all its programs in binary format. If your program file got corrupt, the whole thing was screwed. AMOS was a lot of fun back when I had no knowledge of more powerful languages like C and Perl. Looking back, I realize AMOS was pretty horrible for anything other than games. I have lots of fond memories, but it sure was a harsh learning experience. ;-)
The Amiga version? I've never used it (Blitz, any version), but you must be refering to the windoze version? Anything on windoze is MAMMOTH!!!! I found a commercial Ram Disk: program for w98se. It was 114K in size and required a 1.4 Meg DLL file to run!?!?!!!! The DLL didn't come with the Ram Disk, I had to track it down on the internet. Then, you find out it was programmed in visual basic!
The PC version, actually. I've seen some Windows programs that are small and effecient (Notepad, for example), but they don't really use the GUI well, and usually call lots of external libraries. Windows has WAAAAAAY too many DLLs! Blitz compiles most of its environment into your program executable, therefore, you can't even fit two compiled programs on a floppy. :-P
Why can't an ide in C/C++ open a window, everytime you type a keyword in, asking you which library you want to use, tick off a checkbox beside the library, and it automatically puts it in as an include at the beginning of the source code?
Oh my God... Clippy for programming! That would work only in tutorial mode. Once you learn what you need, you'd better be able to turn that feature off!
What I'd like to see is auto formatting for subroutine headers and a clickable drop-down list of all global and local variables in your program. That's what REALLY drives me nuts about reading Perl code from other people. Nobody does a good job labeling their headers or outlining their variable usage!
And, of course, you should be able to turn it off if you don't use it. How about the ability to create sub header templates, and let the IDE fill in the blanks? Being able to read your code in any text editor is nice, but I really hate writing code in a plain text editor. I write most my Perl code in Win32Pad. I'm STILL looking for a simple Notepad clone that colors text and matches brackets automatically.
mdwh2: How big is a Hello World program in AMOS on the Amiga, for example?
If I remember correctly, a compiled AMOS Pro executable is a minimum of 53K. Remember that AMOS doesn't seriously use any OS libraries, so a PC version of AMOS Pro would be much, much bigger by default. Hence, Blitz Basic on the PC makes executables about 750K in size.
Don't get me wrong - I think BASICs, or other "beginner" languages, have their place - but there are plenty of reasons why ppl move onto other languages.
Yeah. I just wish people weren't so prejeduce against BASIC. If it wasn't for interpreted languages like BASIC, you'd have to imagine that scipting languages like Perl would still be in the stone age. I love writing interpreted code instead of compiled code.
What a total nonsense...
First don't confuse C with C++. C++ is targetted mainly for appliaction development and it would be a nightmare to write lowlevel OS stuff in it.
Here here. Since I've started learning C++, I've realized why people are so upset with it: they're trying to use C++ when plain C will do. Use what works.
Bloodline: This is a good reason why I think the world does need a BASIC.
No, the world needs a better BASIC! :-D
-
well, Atheist...
I have Easy Amos ...
Amos Professional
AND
Amos pro compiler
All in their original packaging !!
Just waiting for you to make a reasonable offer.......
AmigaOneProductions will vouch for me !!
I bought those programs then realised I aint cut out to be a coder !!
:-D
-
Hi The_Editor,
I don't need Easy Amos.
I have AmosPro and the manual (originals).
But the compiler, I sure would like to get that.
Have you always kept the disk write protected, to your recollection? I have a paranoid fear of virii, and lost/altered files. (I assume you have the compiler manual, very important).
I'm in Vancouver, B.C., Canada. So, if you want, PM me an offer in Can$, I don't think my mailbox is full. I understand if you want to get rid of the whole lot, so just be consise.
AmigaOne! The OS where You are in charge!
-
AmigaOS need OOP Basic Compiler that will compile QuickBasic 7.1 source files into native PowerPC and/or AmigaDE byte code.
-
fatman2021 wrote:
AmigaOS need OOP Basic Compiler that will compile QuickBasic 7.1 source files into native PowerPC and/or AmigaDE byte code.
I think there's a project like that on Sourceforge.net: I think they were going to call it GNU BASIC. See the BASIC Foundry for details.