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