Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
88 user(s) are online (76 user(s) are browsing Forums)

Members: 0
Guests: 88

more...

Support us!

Headlines

 
  Register To Post  

The PortablE language goes Beta
Home away from home
Home away from home


See User information
I thought I should make a small mention that my PortablE programming language has finally gone into Beta testing

What is PortablE?
It is a complete rewrite of the (once very popular) AmigaE programming language. Unlike traditional compilers it outputs code in C++ or other languages, with all your comments & formatting intact! It adds many modern new features, such as type checking, while trying to stay fairly backwards compatible.

As the name implies, the aim is to make it portable across many OSes, languages & CPUs, although currently it is limited to OS3 & OS4. This portability aim means that compatibility with the old AmigaE is not as high as it could be.

You can read the manual here.

What do you mean by Beta?
It has most bugs fixed, certainly all the ones that I could find. And it is close to being "feature complete", although it still has a few things missing (which I hope will be added sooner rather than later).

Where can I get it?
Please join the AmigaE mailing list, and ask for me for it there:
http://www.freelists.org/list/positron

What are the highlights of PortablE?
Compared to AmigaE, too many to list here! Even the pretty large manual struggles to cover everything. But here are a few examples:

* A fully automatic module compiling system, so you don't need any Make files or IDEs!

* Can generate code for both OS3 & OS4. Support for more OSes to be added later.

* Completely type checked, which makes it much easier for beginners to learn, and also much better for large object orientated projects. And type checking was really needed for the various kinds of lists, immediate lists, typed lists, copies of lists, strings, e-strings, etc, because before it was very easy to make mistakes.

* The type checking is better than you get in Java or C++, so it should get in your way less. One reason people liked AmigaE was that it didn't have a type system to annoy you. I hope to strike a balance between those two extremes!

* Rather better & more accurate error reporting, although I'm sure this can be improved even more.

* Much better support for modern Object Orientation (OOP), if you like that sort of thing (I do!). And OOP is far easier to learn & use, because of the type checking.

* Fixes lots of silly limitations of AmigaE, e.g. Globals can be declared anywhere, as can objects. e.g. RAISE works with user procedures *and* methods. e.g. You can type NEW 'string' to create an e-string copy.

How do you pronounce PortablE ?!?
You do ask difficult questions! While you could say "portable E", I tend to just say "portable".

It's name was really a play on words, but one I didn't think too hard about how you should pronounce. We already had "AmigaE" & "CreativE", so "PortablE" was about as far as my dim imagination went!

Go to top
Re: The PortablE language goes Beta
Home away from home
Home away from home


See User information
You can find some old discussions of PortablE here:
http://amigaworld.net/modules/newbb/v ... c&topic_id=18639&forum=15
http://amigaworld.net/modules/news/ar ... toryid=3202&order=0#41488

And I have made the manual available in several other formats:
PortablE.pdf (PDF format)
PortablE.odt (Open Office format)
PortablE.doc (MS Word format)


Edited by ChrisH on 2007/6/25 19:19:41
Go to top
Re: The PortablE language goes Beta
Not too shy to talk
Not too shy to talk


See User information
@ChrisH

Well done Chris! You've clearly put a lot of time and effort into this.

I've never touched E before, but it looks intriguing. When it goes public I'll be sure to try it out.

Cheers,
Bean.

OS4.1 + an A1XE with an appetite for batteries!
Go to top
Re: The PortablE language goes Beta
Not too shy to talk
Not too shy to talk


See User information
@ChrisH

Hi Chris, How easy is it for complete beginners? Is it suitable or does it have a steep learning curve?

This Puny World will bow down to
Professor Chaos
Prepare for the greatest Villan you have ever seen!!
Go to top
Re: The PortablE language goes Beta
Home away from home
Home away from home


See User information
@AJS
Aaargh, not THAT question . Everyone you ask will probably have different opinions about every language! So on the understanding that this is just my opinion:

The difficulty of a language is strongly related to whether or not it uses pointers. Pointers give great power & efficiency, but they also make a language harder to learn, and easier to crash. But if you learn to use pointers, you probably won't want to stop using them.

The most well-known language to use pointers is C or C++. It is probably also the worst language to try to start learning to program on! PortablE is probably the simplest language available that uses pointers. Even simpler languages, like BASIC, REBOL & ARexx, do not use pointers. Java is a half-way house, in that it uses a simplified (but safer & easier) form of pointers.

But Java is not available for the Amiga. Neither is a recent version of REBOL. ARexx is a bad language to learn to program, because it does not force structure - which makes it as bad as BASIC.

So in my opinion, once PortablE is developed a bit further, it will be the best compromise between overly complex languages like C/C++, and overly slow/simplified languages like BASIC, especially for the Amiga. And you can bet that several people will disagree with me!

IF ANYONE WANTS TO DEBATE THIS FURTHER, PLEASE START A NEW THREAD, OR SEND ME A PRIVATE MESSAGE INSTEAD!

Go to top
Re: The PortablE language goes Beta
Just can't stay away
Just can't stay away


See User information
Hi @ChrisH

A nice news article!! I hope this new development helps Chris Perver's "EvenMore" for an OS4 version.

Is it still running in 68K?

Go to top
Re: The PortablE language goes Beta
Home away from home
Home away from home


See User information
@Snuffy
Yes, still 68k , but it is MUCH faster than older 68k releases. I decided to release this first Beta as-is, rather than delay it until I managed to make it PPC native. Rest assured that going PPC native is a top priority now!

Go to top
Re: The PortablE language goes Beta
Amigans Defender
Amigans Defender


See User information
Hi Chris

Good to hear that this has been furthered, I tried one of the alphas out ages ago but it stumbled very quickly over something in my (existing) E code.

Can this version cope with most E code without (major) modification? If so, I might try running Facts through it again.

Chris

Go to top
Re: The PortablE language goes Beta
Home away from home
Home away from home


See User information
@Chris
It's probably about as compatible as it's going to get, although I will try to make further improvements if anyone has any requests. But it will never be 100% compatible with the 10 year old AmigaE compiler, because I am more interested in moving the language forwards than backwards!

If you are looking to compile old programs, the main problem with this first Beta is likely to be the lack of support for many of the main OS modules (libraries). But the good news is that I have written a tool to semi-automatically convert C header files into the format needed by PortablE. So if I know which OS modules/libraries you need, then I might have a go at adding support for them.

If you sent me a copy of your program, then I could see what problems there are likely to be, and how easily I could solve them.

Go to top
Re: The PortablE language goes Beta
Amigans Defender
Amigans Defender


See User information
@ChrisH

Ah, modules, that's what the problem was.

PM me your email address and I'll send the code to you.

IIRC I'm using at least one 3rd party module though, which might cause problems.

Chris

Go to top
Re: The PortablE language goes Beta
Home away from home
Home away from home


See User information
Just to let you know that the second Beta of PortablE has been released on the AmigaE mailing list. The biggest changes are:


* Most bugs have been fixed, as PortablE is now able to correctly compile all 50,000 lines of itself to both C++ & AmigaE code. So I now use PortablE instead of AmigaE

* An AmigaOS 4 PPC native version is now supplied (3x faster than 68k version).

* Now supports all v45/v52 modules for Devices, Diskfont, Dos, Exec, Graphics, Intuition, Resources, Utility, and part of Other.

* Improved AmigaE compatibility mode, by totally disabling the type checking.

* The generated C++ code now compiles without any warnings.

* You can use assignments/etc within ELSE IF expressions. (By popular demand!)

* FastNew() & FastDispose() are implemented like AmigaE did, so they are very fast, and this means NEW, END, NewString() & DisposeString() are also very fast.

* You no-longer need any [square brackets] after END array, and in fact giving the size of an array is now disallowed (although an empty [] is fine).

* Added PrintFlush(), which when combined with Print() is better than the problematic mixing of PrintF() & WriteF().

* You no-longer need to use pointer arithmetic with StrCopy() or StrAdd(), thanks to the optional position parameter that has been added.

* The word "static" is no-longer used in a potentially confusing way. Thanks to Leif Salomonsson for pointing this out.

* Some warnings & errors now offer practical guidance, thus reducing the need to refer to the manual.

* Reduced memory usage, and many more small improvements!

* You must use a stack of 100KB, now that PortablE is compiled with GCC.

You can find the complete list of changes in the History chapter at the end of manual.

Go to top
Re: The PortablE language goes Beta
Just can't stay away
Just can't stay away


See User information
@ChrisH

Any plans to produce a binary?

Philippe 'Elwood' FERRUCCI
Sam460ex 1.10 Ghz
http://elwoodb.free.fr
Go to top
Re: The PortablE language goes Beta
Quite a regular
Quite a regular


See User information
@ChrisH

Quote:
* You must use a stack of 100KB, now that PortablE is compiled with GCC.


A hint about that, if you know your program will need 100KB of stack just add in your C source code a line like that :
USED static STRPTR cookieStack "$STACK:102400"
under OS4 the system should automatically setup a minimum stack of 100KB at startup (IIRC if you put a value that is less than what is configured in your system prefs, than the system prefs would be used instead).
Using this hint you won't have to worry about users forgotting to setup a big enough stack

EDIT: fixed a typo

Back to a quiet home... At last
Go to top
Re: The PortablE language goes Beta
Just popping in
Just popping in


See User information
@ChrisH

Though i never touched E, i think PortablE would be also a nice tool to "port" E code to C++ code (or other languages).. Now, if only that people of AmiTradeCenter wouldn't insist on selling their 5+ years old code for an exorbitant sum but just release it as open-source or at least let another developer step in or just ask for a much smaller sum .. oh well ..

(Yes, i know Pete's FTP .. it's fine and all... but i'm one of those old-fashioned guys who prefer the two-pane-in-one-window style FTP clients ;) )

AmigaOS 4 core developer
www.os4welt.de - Die deutsche AmigaOS 4 Gemeinschaft

"In the beginning was CAOS.."
-- Andy Finkel, 1988 (ViewPort article, Oct. 1993)
Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project