>> haXe is not only Flash. You can use the same language to develop the
>> JavaScript part of the website, and the Server part as well. Hence
>> having one single language on the two sides : client and server.
> 
> 
> True but why would I need that? Why would I give up the ubiquity of
> technologies like PHP I can get at any cheap $5 hosting, and go for
> something totally new and unproved, that need a special Apache module
> and I don't even know if it runs in Windows.

haXe have been released in Beta just a few weeks ago, this does explain
why there is not so much demos yet.

However my company have been using MotionTypes (haXe ancestor) and the
server side technology to build several websites that are accessed by
tens-of-thousands daily users (see http://www.dinoparc.com and games at
http://www.kadokado.com for examples). The Apache module run on Windows,
OSX, Linux and BSD.

The main reason why you would need that is productivity. In my company
we could get a x2 to x3 productivity boost by using MotionTypes, and
haXe should provide the same or even better. This is due to using a
flexible type system, which I will detail below.

Another reason might be speed. The virtual machine is 20 to 40 times
faster than PHP interpreter or Flash Classic VM. That helps you serve a
lot more requests. Also, since it's compiled, you don't have to put your
source code on the server, and you can design your website as an
application (see http://nekovm.org/doc/mod_neko "Script VS Application").

>> Plus, the haXe language is by far more powerful and flexible than AS3,
>> thanks to the flexible type system and new features such as iterators,
>> type parameters and enums.
> 
> 
> What I saw so far in haXe is that it goes to rename most of the core var
> types for the sake of being different.
> 
> What is with "Bool" instead of "Boolean"? Is it so much important to
> type 3 letters less than reduce the gap between AS3 and haXe?
> 
> Same for "Float" instead of "float" (AS3) or "Number" (AS3, AS2). Have
> none of the haXe developers heard "standard is better than better"?
> 
> Why go against basics in ECMA4 prop. that don't affect the language
> functionality in the least?

It does.
Bool, Int, and Float in haXe are using the plaform best representation.
They might not be objects. Think them like Java "int" "float" and
"bool". But with a more conventional naming.

> We have flexible type system in AS2 and the whole "flexible" part was
> taxing the CPU and RAM significantly vs plain strict type vars.
> 
> So this is why although AS3 supports untyped parameters it also supports
> strict types, and I have no idea what flexible type system is, but it
> certainly isn't strict since AS1/2 VM doesn't understand strict typing.

Flexible type system means that you don't have to write types everywhere.

var x = "Hello";

The type of "x" is String, it's obvious.

var x = o.foo();

If you know the type of "o", you know the return type of "foo", then the
type of "x" is obvious again.

Flexible means here that you can have a strictly-typed program without
needing to write types everywhere. There is no such sinces such as an
"untyped variable". If you want to write dynamicly typed code, you have
to use the Dynamic type. This way you don't create bugs in your program
by simply forgetting a variable type.

You might have a look at haXe specification to get the complete idea.

>> There's been progress in this domain as well. You should expect haXe
>> to be able to get AS3 speed and new APIs quite soon. Plus, you will
>> still be able to use haXe to target Flash 6-7-8 player which is not
>> the case for AS3.
> 
> 
> Of course it's the case with AS3. It's perfectly possible to write AS3
> code that compiles in AS2 too, the problem is, would we want to?

Of course in general first you decide which player version to target and
then you write the code. The idea is that in haXe you have one single
language for both player generations. For example you can write
AS1-equivalent code by using the "untyped" keyword.

For example, if you haven't learn AS3 yet, you can port your code from
AS2 to haXe (quite easy to do actually) and then later when haXe support
new virtual machine, you don't have to learn a new language anymore.

> And especially E4X, I'm curious to see if haXe supports that at all and
> especially when targeting Flash 6/7/8

Right now there is no E4X support, but it might be possible to add it in
the future and indeed target Flash 6/7/8.

Nicolas
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to