Hello eka,

My point wasn't that AS3 was not a solid implementation of the EcmaScript specification. My observation was that working on a new open source compiler that targets the AVM2 would allow us to add language features that are not currently available in Actionscript 3. IMHO I believe Adobe needs to look past EcmaScript and focus on making an industrial strength language. Ecmascript is great for Javascript and that serves a purpose. But the Flash platform has matured and a lot of developers for it have grown past the "scripting" phase of the language and want more power and structure. Something that the current implementation of Actionscript lacks when it's compared to Java or C++. You also mentioned that Java and EcmaScript have different philosophies. I'm curious to know what those philosophies are.

cheers,
Sam

On Sep 11, 2007, at 1:51 AM, eka wrote:

Hello :)



1. Arrays or non existent in Actionscript. I know Adobe claims to
have Arrays but Arrays in Actionscript are not Arrays they are
Vectors and that is a HUGE distinction. Vectors while more flexible
and easier to use are slower and consume more memory.

It's normal... ECMAScript != JAVA... the specification are not the sames and the VM JAVA is not the VM ActionScript... For me JAVA is not the same philosophie.

2. No method overloading.  The reason for this is that The VM does
not store detailed enough method signatures at runtime. Meaning that
while obviously the name and the modifiers are stored ( public,
private, namespace, etc ). It does not store information about method
arguments like Java does. It uses a very arcane method borrowed from
Javascript of using indices instead of the actual argument name.
Again in Java you can the declare the following...

setName( String name );
setName( String f_name, String l_name );

In the same class and they are treated completed different because
Java recognizers the argument type. While Actionscript just using
argument order which is just ridiculous, IMHO.

In AS3 and ES4 you can use the namespaces.

3. Actionscript 3 does not have support for Abstract Classes

It's really important ? In AS3 you have the interfaces ... for me it's the more important to implement "abstract class" ... for me is repeat : ECMAScript philosophie change and the tools change too but in JAVA do you have dynamic variables with the * type ? It's not a problem for a JAVA coder but a problem for me :)

And don't forget : http://docs.huihoo.com/web/js/es4/core/lexer.html
The abstract reserved key words exist for future expansion of the langage.

4. Actionscript 3 does not support private constructors.... This is a
huge problem Actionscript 2 did, and now Actionscript 3 does not. For
the life of me I don't get that decision at all.

For me Adobe creates the AS3 spec before the end of the ES4 final version... Adobe wait this final version to creates the AS4 :) In the AS4 for me the private constructor can return in the langage... The more important it's to speak with the ECMAscript Architecte to explain it why the private constructor is important.. i'am ok on it but for the moment AS3 is really new ! (no use the prototype, etc... ) Nothing is stopped and the langage can change (but with the spec of ES4)


5. Actionscript 3 does not support native Enums like Java and C++./C#
do.

 And don't forget : http://docs.huihoo.com/web/js/es4/core/lexer.html
The "enum" reserved key words exist for future expansion of the langage.


6. Try Catch exceptions are not forced. Meaning if a calling method
implements a throws method unlike in Java, in Actionscript 3 you do
NOT have to surround the calling method with a try...catch block.

not understand ? Sorry for my english very poor lol ^_^

Everything that I mentioned above is pretty basic stuff. When I
switch from a more robust language like C++ or Java and go back to
Actionscript 3 I feel like I'm coding in Javascript... LOL. Don;t get
me wrong I absolutely love Flash. Java sucks big time when it comes
to displaying anything on the screen that looks cool! And Flash wins
that battle every-time but, let's "Keep it Real" here... while
Actionscript 3 is far better than Actionscript 2, it still lags
behind other languages for no real apparent reason.

The reason is the ECMASCript 4 final ! Adobe must work with it. Don't forget to read the next tools in proposal of the wiki of the ECMAScript4 spec. ActionScript and ECMAScript are more young and take the time to extend the langage... i can wait ! Not you ? But for me we can now creates with Actionscript big RIA etc... for me the JAVA is not "natural" when i coding :) It's my opinion ;)


Sorry for my english a second time :) i prefere speak french but in this mailing list is more easy to speak english (french != english, AS != JAVA but it's finally it's the same ?... :D:D The more important it's to be happy to develop frameworks, applications etc.. with a langage and for me JS or ActionScript are good langage for it)

EKA+ :)






Another gripe I have is with the developer tools that we get from
Adobe. Being a long time GCC and javac user when I have to use mxmlc,
I feel like pulling my hair out. Fcsh, is a perfect example of a tool
that shows promise but is really crappy to use and since we don't
have access to the source code for fcsh the flash community can't fix
any of the numerous problems it has. So we have to wait until Adobe
decides to fix the problem ( assuming they acknowledge a problem
exists! ). Making an open source compiler and tools allow us ( the
community ), to deal with these issues in the way we see fit.

my two ( or rather three ) cents
Sam




Take for instance the
On Sep 10, 2007, at 7:01 PM, Nicolas Cannasse wrote:

>>> 8 and lower) or AVM2(Flash 9). I think a Flash 9 is needed. While
>>> Actionscript 3 is a great improvement it's a far cry from far more
>>> mature and professional languages like Objective C, C# or even Java.
>>
>> oh really ?
>> and on what basis are you asserting that ?
>
> I would say that common sense is enough.
>
> Clearly, AS3 chose to implement some rather unorthodox features
> (such as
> namespaces) but neglected some interesting features that have been
> available in highlevel languages for decades and have been proved very
> useful in practice.
>
> A few examples : generics (typed arrays), iterators, strictly typed
> functions, polymorphism, anonymous objects, type inference, enums...
>
> Now, there are two possibilities :
>
>    a) AS3 is the next big thing, and all the research done in
> programming language for years is worth nothing, and all the great
> people working on C#, Java, etc are wrong about thinking programmers
> need these features.
>
>    b) something is wrong with AS3
>
> IMHO, I would favor to the (b) solution.
>
> Now, if you look for example at haXe from a programming language
> features point of view, you'll find a mature and professional language
> that targets Flash Player 6-9 and offer far more possibilities than
> AS3.
>
> That's all for today rant :)
>
> Nicolas
>
> _______________________________________________
> osflash mailing list
> [email protected]
> http://osflash.org/mailman/listinfo/osflash_osflash.org


_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

_______________________________________________
osflash mailing list
[email protected]
http://osflash.org/mailman/listinfo/osflash_osflash.org

Reply via email to