Amusing thing happened today. I recently cleaned up the "fastlinks" in Ibrowse, after realizing I only use the first 4 buttons (Amiga.org, Amigaworld.net, Amigans.net, and EAB) by clicking one, opening a new tab, clicking the next, etc.... So, I whipped up a quick arexx script in Bareed:
And assigned this to just one button. Not a big deal, until my wife (who uses Google Chrome on her XP box) wanted to know how to do this on hers.... (There is a way to do it, with clever use of javascript, but it isn't as convenient, and took me twice as long to do.. I'll have to post that when I can VNC into her computer, which I can't do while she's playing Mahjongg....) Anyway, looking at having a new job soon that will require multiple web-site logins on a W2K maching w/ Internet Explorer, I'm trying to relish using a computer for 8 hours and it seeming like 2, instead of the other way around.
Now to write a YAM inbox to HTML converter in Arexx, because I'm too lazy to un-iconify it.
I think "phased out" is a better term. It cannot be removed completely because there is too much software that relies on it, but evetually Python will superceed it as the default application threading language.
Me, too. I am really dedicated to ARexx - it's so transparent and easy to use. Maybe someday it's possible to use Phython as the scripting language with some kind of wrapper for all those applications with a ARexx port...
Maybe someday it's possible to use Phython as the scripting language with some kind of wrapper for all those applications with a ARexx port
Arexx ports are public message ports. So it doesn't matter which software you use to send messages into them. Getting results back into your script is different matter. But if Python will support that in future (if it doesn't already) then it doesn't matter.
Rock lobster bit me - so I'm here forever X1000 + AmigaOS 4.1 FE "Anyone can build a fast CPU. The trick is to build a fast system." - Seymour Cray
Swapping info to/from public ports is the most useful thing in AREXX, if something else that is 68K OS3.9 compatible does that, I would probably tinker with it a bit.
@kvasir ARexx is fantastic for scripting little things, but IMHO it is absolutely horrendous for writing code that is larger than (say) one screen full. (By which I mean, you can write larger things, but sooner or later you'll wish you hadn't!)
However, I haven't tried any other scripting languages, so it's possible that I'd hate them all for non-small programs! (I am very hard to please.) Although surely nothing is worse than Rexx's messy reliance on DO ... END for IF.
Python is suppose to be very nice (and extremely powerful), but I'm not sure I could manage without something to mark the end of a syntax structure (e.g. no ENDIF, ENDFOR, ENDWHILE, ENDLOOP, etc).
Yeah, I have to agree with that. For little things like the way I cleaned up my fastlink bar its the best thing, but for larger things I tend to use a C proggy and run it through GCC. Or a combination of the 2. (An AREXX script that launches CLI applications I wrote to handle more complex items, I did this whith an AmigaDos script designed to give me an AmigaGuide formatted boot log I can review if I have problems. Had to rip non-filesystem characters out of a programs console output, as I was using the c:date output as a filename) But for swapping minor amounts of data about, it works just fine. Somewhere, I have an Arexx compiler, too, but I've never gotten it to work. I probably could, but it would be too much effort for what I really use AREXX for.
I have used ARexx for quite awhile now for writing scripts and small programs for my own use. Nothing fancy, still learning how to do some stuff. For example I wrote a sendmail program, which uses SMTPpost to deliver the email to the destination. My program opens a console window, prompts the user for input and creates a sendfile which is passed over to SMTPpost. I use SMTPpost from the (very old) INet Utils distribution because I don't know how to communicate with the OS4 internet protocols.
Some of my other ARexx programs use KingCON to open console windows for communications with the user. I also use MicroRexx and am learning to use AWNPipe. AWNPipe is more sophisticated than I first imagined and I am struggling to understand some of the concepts.
I'm not sure what Python can do ... I'm still at the "Hello World" stage.
Thanks for that brilliant idea. I used to have 2 fastlinks, one for Amigans and the other for AWN and used to tend to click one then open a new browser tab and then click the other.
Now I just have the one fastlink button that does both without all the hassle.
In the days before broadband I used Arexx to pretty well automate YAM completely, going on or offline when I needed to - and if IBrowse was running keep it online and not cut the connection - of course. Simple scripts can do so much.
Arexx is so perfect for doing things like this, all Amiga applications should have an Arexx interface IMHO. Then the user can add what they want it to do, things that a programmer may not think of and certainly never have time to impliment it all themselves.
Arexx gets my vote anyday, no good for writing applications but I did do a few small things once using it (for real programmes I use C), but it is perfect for using an applications built in commands and linking several applications together.
Python is definitely more powerful than AREXX. Its dictionary datatype (aka hash table) makes for some easy coding. The debugging is sometimes tricky but it makes for faster coding than C or AREXX. Some people are bothered by the way that Python forces you to indent your code correctly, but I disagree.
Regarding AWNPipe, have a look at the RXDraughts code if you want examples on how to use it. Even though I have the window size fixed, I did weight everything properly if you remove the resizing restriction.
Yes. A compound variable is built from a stem with arbitrary extensions and can (with a bit of care - it admittedly does not always intuitively work like at least I expect, especialy when you go beyond two levels ) perform lots of tricks for which you'd expect to need hashes or Dictionaries or associative arrays or whatever "modern" languages call them. And then some ... due to the interpretitive nature of ARexx.
Most people never use stem/compound variables as more than a simple array, like e.g. stem.1, stem.2, etc., and perhaps keep the count in stem.0, but you can do so much more.
Yes. A compound variable is built from a stem with arbitrary extensions and can (with a bit of care - it admittedly does not always intuitively work like at least I expect, especialy when you go beyond two levels ) perform lots of tricks for which you'd expect to need hashes or Dictionaries or associative arrays or whatever "modern" languages call them. And then some ... due to the interpretitive nature of ARexx.
Most people never use stem/compound variables as more than a simple array, like e.g. stem.1, stem.2, etc., and perhaps keep the count in stem.0, but you can do so much more.
Ah yes! I had forgotten that. Once the Object REXX source was opened up by IBM, I had thought that somebody would pick it up and run with it on the Amiga and make it new again.
Unlike AREXX, Python has a JIT compiler that parses the .py files into compiled .pyc files so that it doesn't have to reinterpret the Python source more than once. There are a few things I'd change about the type system in Python to make it even faster but the Unladen Swallow project at Google is already looking into that. It is object oriented also.
Just because the example I gave was not the best doesn't mean that Python is bad. If there was any complaint I would make about Python it is that they change the language too much, too often. Not many people are adopting Python 3.0 because it is not completely backward compatible to 2.6.x. Even the Unladen Swallow build of Python is not based on Python 3.0 syntax.
This thread got me started at looking in to using Python, but I'm having some trouble getting the necessary documentation.
The "Amiga Python.pdf" document that came with OS 4.1 references some examples in the "Python SDK", but I'm not sure what or where that is. I know the Amiga OS 4.1 SDK doesn't have any examples for Python, at least none that I can find.
I'll be looking through the stuff on Python from the net, but would like to know where to find this referenced documentation for the Amiga version.