Poster | Thread |
Dandelion
| |
Amos - the route to programming mastery! Posted on 22-Nov-2014 0:49:25
| | [ #1 ] |
|
|
|
New Member |
Joined: 20-Nov-2014 Posts: 6
From: Unknown | | |
|
|
I've been busy trying to break into the IT sector, and have had some success learning Python and various extensions for data projects.
I'm wanting however to become a /good/ programmer and was wondering (don't laugh) if Amos might help me on my way....here's my thinking:
Mastery takes a huge investment of hours Huge investments of hours are easier when the thing is fun. Amos looks pretty fun. Therefore, Amos might be the route to being a master programmer.
I'm actually being serious here. Would love to hear your thoughts / examples of Amiga coders who can testify this is reasonable!
|
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 1:43:44
| | [ #2 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12796
From: Norway | | |
|
| @Dandelion
Amos will not help you become a master programmer.
Amos programming language uses command no other programming language use, you spend a lot of time learning commands you can't use in any other language.
Amos does not enforce strict typo, so you code will look like mess.
Amos does not have classes, and is not object orientated. So you wont learn anything about classes.
Amos is Basic language, it does not have complex syntax's, so you wont learn any complex syntax's.
Goto/Gosub are considering bad coding style, because code wont have any clear start or end, therefor the concept has been abandoned.
Procedures are also primitive, to what other programming languages have.
"Amos looks pretty fun."
Well Amos does a lot for you, so you don't learn to do it your self, fun maybe. When I look back on the time I spent on AMOS it was mostly a big wast of time.
Lean some thing useful instead like Action scripts, Java or C#.
On Amiga I suggest you learn to program C, or if you most go for Basic language learn BlitzBasic2 (AmiBlitz3).
Last edited by NutsAboutAmiga on 22-Nov-2014 at 08:18 PM. Last edited by NutsAboutAmiga on 22-Nov-2014 at 01:45 AM. Last edited by NutsAboutAmiga on 22-Nov-2014 at 01:44 AM.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
|
Status: Offline |
|
|
Minuous
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 5:19:00
| | [ #3 ] |
|
|
|
Regular Member |
Joined: 30-Oct-2004 Posts: 319
From: Unknown | | |
|
| AMOS is really just BASIC. So it can help you become a master BASIC programmer, but I'd suggest learning something like C instead/as well. |
|
Status: Offline |
|
|
Wanderer
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 8:17:43
| | [ #4 ] |
|
|
|
Cult Member |
Joined: 16-Aug-2008 Posts: 654
From: Germany | | |
|
| Learn C, and if you are good at it, then C++. BASIC-like languages will just teach you bad habits that you need to unlearn the hard way once you want to become "serious".
Last edited by Wanderer on 22-Nov-2014 at 08:18 AM.
_________________ -- Author of HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, AB3 Includes and many more... Homepage: http://www.hd-rec.de |
|
Status: Offline |
|
|
Bugala
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 8:35:27
| | [ #5 ] |
|
|
|
Cult Member |
Joined: 21-Aug-2007 Posts: 649
From: Finland | | |
|
| @Wanderer
Closest thing to Amos in C-kind language environment for Amiga in my opinion would be Hollywood.
If you wish to become good programmer and still have amos kind of fun, I would suggest that one.
And as everyone else poitned out, Amos is Basic-type language.
in case you dont know, programming languages can roughly be divided into basic-type and c-type languages (there are some exceptions to this, usually more or less experimental languages which dont fit either of these), Python for example is C-type language.
C-type languages are pretty much always more professional kind languages, since while basic is good for some things, like teaching elementay school kids how to program, the basic however for most of time isnt very good when we get to bigger projects.
Plus Basic languages usually have their own commands, while C-type languages are not restricted in commands. What I mean by this is, that for example when Amos came out, it supported 64 colors (at least i think it supported that mode too), but then came AGA-modes (256 colors) out, and only way to got Amos to do 256 colors, was for Amos to make update for their language. Then came Graphic Carsd, and once again, only way Amos could use these, was to wait for someone to update the language.
With C-type languages you are usually able yourself to make these happen as technology advances. And although you might not yourself be able to do it (like i wouldnt), it is anyway that someone else will do that and then you can use that someone elses system.
Anyway, I would suggest Hollywood for Amos kind experience in C-type language. Hollywood is pretty quick at putting stuff to screen etc.
It also doesnt mind of some things like there is no difference wether name is written in capital letters or not, and its datatypes are very flexible changing from one to another and being able to contain pretty much anything inside them.
This can of course be thought as learning bad habits as well, since it is not necessarily a bad thing if language is very unforgiving, since that can help you spot errors easier in big, multiple human, projects. |
|
Status: Offline |
|
|
pavlor
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 8:55:22
| | [ #6 ] |
|
|
|
Elite Member |
Joined: 10-Jul-2005 Posts: 9578
From: Unknown | | |
|
| @Dandelion
Welcome! |
|
Status: Offline |
|
|
Dandelion
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 10:17:03
| | [ #7 ] |
|
|
|
New Member |
Joined: 20-Nov-2014 Posts: 6
From: Unknown | | |
|
| Duplicate post removed Last edited by amigadave on 22-Nov-2014 at 11:48 PM.
|
|
Status: Offline |
|
|
OlafS25
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 10:24:15
| | [ #8 ] |
|
|
|
Elite Member |
Joined: 12-May-2010 Posts: 6321
From: Unknown | | |
|
| @Dandelion
it depends on what you want
if you want to learn a language you can use in job then C/C++ is better choice, if you want to do just programming on amiga you can use one of the basic variants, Oberon, Amiga-E and much more
I have a distribution created based on Aros 68k called Aros Vision with many dev languages included:
http://www.aros-platform.de/html/developer.html
including Amos with many extension Last edited by OlafS25 on 22-Nov-2014 at 10:27 AM.
|
|
Status: Offline |
|
|
Dandelion
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 11:08:21
| | [ #9 ] |
|
|
|
New Member |
Joined: 20-Nov-2014 Posts: 6
From: Unknown | | |
|
| Thank you for all your informative replies and the welcome.
There seems to be a clear concensus that my Amos idea is a bad one :) As someone who has just a year's experience with Python, that to me feels very much like a BASIC variant, with the exception being that it supports OO styles. I suppose I was wondering if Amos would still help you learn to think like a programmer...through breaking a program down into functions, using different control structures etc but within a context that provides easy access to the blitter, graphics etc.
I was also thinking it might be a fun bolt-on to the serious programming. I.e. after working for 10 in a day on a Java project, would it be a good way to squeeze in some additional programming practise.
Perhaps I just wish I was 13 and it was 1993 again :)
|
|
Status: Offline |
|
|
itix
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 11:28:34
| | [ #10 ] |
|
|
|
Elite Member |
Joined: 22-Dec-2004 Posts: 3398
From: Freedom world | | |
|
| @Dandelion
Learn C#. Going to C or C++ might be too low level for now. _________________ Amiga Developer Amiga 500, Efika, Mac Mini and PowerBook |
|
Status: Offline |
|
|
Hypex
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 12:39:32
| | [ #11 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11181
From: Greensborough, Australia | | |
|
| @NutsAboutAmiga
Quote:
Amos does not have classes, and is not object orientated. So you wont learn anything about classes. |
Well it's not that type of language, for that we'd need Visual Amos.
Quote:
Goto/Gosub are considering bad coding style, because code wont have any clear start or end, therefor the concept has been abandoned. |
Are these used in Amos? In any case it's just a function. But I thought a BASIC program started at the top of the code which looked pretty clear to me.
Would Amos be superior to Amiga BASIC?
Quote:
On Amiga I suggest you learn to program C, or if you most go for Basic language learn BlitzBasic2 (AmiBlitz3). |
Like Amos C also lacks classes. But does AB3 suppoprt them? |
|
Status: Offline |
|
|
Hypex
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 12:42:04
| | [ #12 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11181
From: Greensborough, Australia | | |
|
| @Dandelion
Oops double post.
Quote:
Perhaps I just wish I was 13 and it was 1993 again :) |
Gee you're young. Well if you still were then yeah Amos would be a good stepping stone to get started on. |
|
Status: Offline |
|
|
Chris_Y
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 14:08:35
| | [ #13 ] |
|
|
|
Elite Member |
Joined: 21-Jun-2003 Posts: 3203
From: Beds, UK | | |
|
| @Dandelion
I started with BASIC and progressed that route as far as AMOS, switched to E and then moved from there to C (mostly because somebody asked me to port something from DOS that was written in C, I'd not had much to do with C at that point so it was a good way to learn!)
C is obviously the most useful of those languages and the only one I tend to use. However I don't think learning BASIC hindered me in any way - it's so simple to see what you're trying to do, and write it down largely in plain English that the structure of a program becomes clear. There are GOTOs, which are frowned upon, but you can mimic functions in a primitive way using GOSUBs. AMOS has the advantage of having functions, so you're a step closer to C-style program structure.
I wouldn't use BASIC for any serious task these days, but for messing around with it's fine, and knowing a lot of different programming languages is definitely helpful when you encounter something new. I think knowing BASIC has helped me with scripting languages like ARexx, for example.
_________________ "Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion Avatar is Tabitha by Eric W Schwartz |
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 14:15:56
| | [ #14 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12796
From: Norway | | |
|
| @Hypex
Quote:
Well it's not that type of language, for that we'd need Visual Amos. |
Or you can go the other way, and create a AMOS library for C++ / C.
Quote:
Yes gosubs and gotos is there, I don't remember when procedures where introduced into Amos if they where there from the beginning or if they came with AmosPro.
Quote:
In any case it's just a function. |
a gosub, is not because it allowed you exit the subroutine at any place and jump to any part of the code, you can also go from "main" code into a sub routine "label" with out a jump, so what you end up with is some spaghetti code.
http://en.wikipedia.org/wiki/Spaghetti_code
Plus a subroutine does not have a concept of local and public variables, not so great on larger projects.
Quote:
But I thought a BASIC program started at the top of the code which looked pretty clear to me. |
Yes but from there on things can get a little crazy.
Quote:
Would Amos be superior to Amiga BASIC? |
That be a wast of brain power to think about as they are outdated now.
Quote:
Like Amos C also lacks classes |
Yes but the things you learn coding C, is useful when you eventually start learning C++, and also you learn things like structs, that is a useful data container, and also can be misused as class, if you know how to.
Anyway I agree with ITIX, C# is good starting language, I'm just a concerned that when you get used to the garbage collector taking care of freeing things for you, you forget that you need to free memory in other programming languages.
Last edited by NutsAboutAmiga on 22-Nov-2014 at 04:36 PM. Last edited by NutsAboutAmiga on 22-Nov-2014 at 02:38 PM. Last edited by NutsAboutAmiga on 22-Nov-2014 at 02:32 PM. Last edited by NutsAboutAmiga on 22-Nov-2014 at 02:31 PM.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
|
Status: Offline |
|
|
Phantom
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 14:17:20
| | [ #15 ] |
|
|
|
Elite Member |
Joined: 2-Aug-2007 Posts: 2047
From: Unknown | | |
|
| Go with PortablE, it's perfect even for a beginner. _________________
|
|
Status: Offline |
|
|
Severin
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 15:47:03
| | [ #16 ] |
|
|
|
Elite Member |
Joined: 18-Aug-2003 Posts: 2740
From: Gloucestershire UK | | |
|
| @Dandelion
AMOS is fine if you have a standard A1200 and like shiny things but totally useless in the real world. btw, NOTHING compiled with amos ever ran on my A4000/060 and very few amos pro programs did.
If you want to dabble with a basic type language with C type structures, functions and statements look at Amiblitz3 on OS3.x (latest version is on sourceforge). There are archives of the blitz basic ML on aminet that can help you solve most of your problems as well as a forum on Amiforce.de
For OS4 there's nothing basic related except hollywood (very distantly related) but I wouldn't recommend that. Your main choices are C, C++, E, PortableE, modula-2, pascal, arexx, rebol, python, perl, ruby etc. _________________ OS4 Rocks X1000 beta tester, Sam440 Flex (733)
Visit the Official OS4 Support Site for more help.
It may be that your sole purpose is to serve as a warning to others. |
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 17:01:07
| | [ #17 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12796
From: Norway | | |
|
| @Dandelion
Quote:
still help you learn to think like a programmer |
Well you might learn what not to do, it might be useful to know, you should not spend to many hours on Amos.
Quote:
context that provides easy access to the blitter, graphics etc. |
Amos uses blitter, low level stuff, but you don't see how it used, so you don't learn how hardware works. If you wont to play around with hardware, learn a assembler language. Learn Micro processor C, get an adriano, or some other hardware hacking USB / Microprocessor kits.
Quote:
after working for 10 in a day on a Java project, would it be a good way to squeeze in some additional programming practise. |
Then it might be time to learn C, and try optimize things, see if you can improve speed, by doing things different, read about algorithms, for sorting and how to optimize things for size.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
|
Status: Offline |
|
|
bison
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 18:30:27
| | [ #18 ] |
|
|
|
Elite Member |
Joined: 18-Dec-2007 Posts: 2112
From: N-Space | | |
|
| @Dandelion
This thread if full of good advice. If you already know some Python, stick with that and learn more; it's good place to start. I would also recommend learning C, even if you don't think you will use it much. C will give you a lot of insight on how computers, operating systems and programs really work.
_________________ "Unix is supposed to fix that." -- Jay Miner |
|
Status: Offline |
|
|
Dandelion
| |
Re: Amos - the route to programming mastery! Posted on 22-Nov-2014 21:22:28
| | [ #19 ] |
|
|
|
New Member |
Joined: 20-Nov-2014 Posts: 6
From: Unknown | | |
|
| Thank you all for your responses and good advice. I think I have decided to supplement my Python learning with learning C on the Amiga. This will allow me to get an Amiga-fix whilst learning something which is useful for my career too. I have a couple of Abacus Amiga C books which I am going to start working through, and will try and get a UAE/SAS C setup going - hopefully graduating to a MorphOS/a second hand classic setup (I believe the MorphOS/classic Amiga APIs are the same).
I was a long-time and very passionate Amiga user - up until around 2000 - would be good to rediscover it.
|
|
Status: Offline |
|
|
amigadave
| |
Re: Amos - the route to programming mastery! Posted on 23-Nov-2014 0:04:19
| | [ #20 ] |
|
|
|
Super Member |
Joined: 18-Jul-2005 Posts: 1731
From: Lake Shastina, Northern Calif. | | |
|
| @Dandelion
Quote:
Dandelion wrote: Thank you all for your responses and good advice. I think I have decided to supplement my Python learning with learning C on the Amiga. This will allow me to get an Amiga-fix whilst learning something which is useful for my career too. I have a couple of Abacus Amiga C books which I am going to start working through, and will try and get a UAE/SAS C setup going - hopefully graduating to a MorphOS/a second hand classic setup (I believe the MorphOS/classic Amiga APIs are the same).
I was a long-time and very passionate Amiga user - up until around 2000 - would be good to rediscover it.
|
Sounds to me like you just want something fun to play around with on an Amiga, or an Amiga inspired system, after you get home from a long day of programming on work projects that are NOT fun.
If "C" on the Amiga is not to your liking, or seems too much like work and does not provide the relaxing experience you were hoping to find, while still learning more about programming while you are having some fun, then look at PortablE, or AmigaE or Hollywood. I don't know why Severin wrote that he would NOT recommend learning Hollywood, but maybe it is because it is too much like a basic programming language, and is of little use in actually learning anything about programming on more useful languages.
Like you, I had thought about learning AMOS Pro as my first programming language on the Amiga, just for the fun and easy factor, but by the time I got around to being serious about learning to program, AMOS Pro was fairly useless even as a Basic programming language for the Amiga, due to the limitations of it not working on newer Amiga models, or versions of AmigaOS.
Welcome back and I hope you have lots of fun programming on one or more of the Amiga & Amiga inspired platforms in your free time. We always need more programmers. _________________ Amiga! The computer that inspired so many, to accomplish so much, but has ended up in the hands of . . . . . . . . . . |
|
Status: Offline |
|
|