Re: [Flashcoders] haXe Flash
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
Re: [Flashcoders] haXe Flash
give it time guys. they will come soon enough. Troy Rollins wrote: On Feb 24, 2006, at 11:20 AM, eric dolecki wrote: Ah ok... but I'd still like to see some demos of anything built using haXe... Same here. -- Troy RPSystems, Ltd. http://www.rpsystems.net ___ 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 -- Always bear in mind that your own resolution to succeed is more important than any one thing. You can have anything you want - if you want it badly enough. You can be anything you want to be, do anything you set out to accomplish if you hold to that desire with singleness of purpose. - Abraham Lincoln ___ 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
Re: [Flashcoders] haXe Flash
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 The effects of a server VM being faster than the old version of a client VM (Flash classic) is a Hard Thing to Assess :) But, of course, sounds great compared to PHP. Have you tested PHP with the Zend Accelerator or any of the free accelerators? A language is not just syntax, it's also architecture and a type system. For example you will be able to do some kind of remoting by sending Classes (not just anonymous objects) between the client and the server. And this precisely is the issue, because you're trying to provide common architecture and type system over 4 different VM-s (JS, F8.5, F Classic, your server mod). It'll be an interesting effort to follow. I don't doubt the theoretical ability of any turing complete system to emulate another, but by the practical limitations imposed by the solution. Also we've seen how layering of new paradigms over old engines works with AS2, where all the compiler checks were superficial and easily worked around at author or runtime. ___ 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
Re: [Flashcoders] haXe Flash
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 The effects of a server VM being faster than the old version of a client VM (Flash classic) is a Hard Thing to Assess :) The VM can also run compiled scripts so you can compare a AS1/2 version of a benchmark with its haXe equivalent by running the two computations on the same computer and measuring time spent. You're welcome to run your own benchs if you don't believe it :) But, of course, sounds great compared to PHP. Have you tested PHP with the Zend Accelerator or any of the free accelerators? Yes we use both Zend Accelerator and EAccelerator for our old PHP devs. Still, such technologies mainly cache the bytecode, they don't improve so much interpreter computation speed. A language is not just syntax, it's also architecture and a type system. For example you will be able to do some kind of remoting by sending Classes (not just anonymous objects) between the client and the server. And this precisely is the issue, because you're trying to provide common architecture and type system over 4 different VM-s (JS, F8.5, F Classic, your server mod). It'll be an interesting effort to follow. I don't doubt the theoretical ability of any turing complete system to emulate another, but by the practical limitations imposed by the solution. There will always be some, but it's ok as long as they don't hurt too much development. For example null.foo() will make a runtime exception on all platforms but not on Flash 6/7/8. At least until there is a debug flag that would add additional checks. Also we've seen how layering of new paradigms over old engines works with AS2, where all the compiler checks were superficial and easily worked around at author or runtime. Yes, but I think this is an advantage, not a problem. If you have a lot of runtime checks, you endup with Java which is quite strict but not flexible. My thinking is that having a staticly typed language over a dynamicly typed runtime permit the best of both worlds, especialy if you provide enough Runtime Type Informations and Reflection. 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
Re: [Flashcoders] haXe Flash
But with the Flex compiler and framework coming for free, and haXe not being 100% compatible with AS3 (as before mtasc wasn't 100% compat too but the situation was different), I've yet to see a benefit to using it. 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. 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? 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. Keep in mind the AS3 compiler is a lot more complex to develop, making as AS2 compiler is a toy compared (I hope I'm not being too extreme, but my impression so far) to this. So haXe will have to be really really good at the output and optimizations to match a native AS3 output. 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? It's apparent if haXe is the matching subset of AS2 and AS3, it won't be powerful as neither of them. Will haXe offer .watch() in AS2 which is not in AS3? Will it offer namespace and E4X which are in AS3 but not AS2? And especially E4X, I'm curious to see if haXe supports that at all and especially when targeting Flash 6/7/8 ___ 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
Re: [Flashcoders] haXe Flash
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? It's apparent if haXe is the matching subset of AS2 and AS3, it won't be powerful as neither of them. i think you miss the distinction between a language and its libraries. From my understanding the core language will provide most features that are available from each of the supported targets, but if you want to make use of specific parts of the target platform then you will need to use its libraries. Its entirely possible to create a unified API that supports some subset of target specific features, but I expect that this kind of work would most likely be done by the users of haxe, not necessarily by Nicolas. One advantage of something like haxe is that you reduce the amount of context switching your brain has to do as you move between targets. At the moment im writing an application that has a flash front end and a java backend. Now they are fairly similar languages but I still have to re-adjust my brain as I move between the two. And another problem is that I end up duplicating a lot of concepts and code that represent data and business processes (which generally have little dependencies on target specific libraries). Sure some of this can be automated, but I really like the idea of being able to create my value objects once, in one language. Same with business processes and other application logic. Im sure you will have heard the hot new acronym DRY. Dont repeat yourself. With haxe you can take that idea and apply it across all targets where appropriate. less code = less bugs. personally i think its a great idea. Its not for everyone of course and you are right in that there is a certain barrier to using some aspects of it as its not yet likely to be found as part of some cheap hosting deal, but for those of us who have control of our deployment servers it offers a great opportunity. A great quote I often remember which Nicolas should put as his sig : 'don't bite my finger, look where i am pointing' thanks, Martin ___ 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
Re: [Flashcoders] haXe Flash
i think you miss the distinction between a language and its libraries. From my understanding the core language will provide most features that are available from each of the supported targets, but if you want to make use of specific parts of the target platform then you will need to use its libraries. Features such as E4X and regex are part of the core ECMA language, and are not part of the Flash's API-s or HTML API-s. My question is: will those be missing from haXe or not? And if not, how can haXe be compatible with Flash 6/7/8 when these won't work there (or will work very very slow, emulated with bytecodes). The time saved on having the same syntax for DHTML/Server/Flash might be easily be lost by the lack of the productivity features specific to each language. And another problem is that I end up duplicating a lot of concepts and code that represent data and business processes (which generally have little dependencies on target specific libraries). Sure some of this can be automated, but I really like the idea of being able to create my value objects once, in one language. Same with business processes and other application logic. AS3 is 100% ECMA 4 compliant (portable profile), JS itself is the base of the ECMA spec. And there are several existing JS engines that work on the server side. haXe is not 100% ECMA compliant, it's ECMA based, but what it is, isn't exactly standards compliant. Have the haXe devs never though we'll have to port our code from AS/JS to haXe in first place so to take advantage of the shared language platform? personally i think its a great idea. Its not for everyone of course and you are right in that there is a certain barrier to using some aspects of it as its not yet likely to be found as part of some cheap hosting deal, but for those of us who have control of our deployment servers it offers a great opportunity. I also think it's a great idea, but the issue isn't in the idea, but implementation: you may try to bring this idea closer to ECMA compliance to make it more useful for the rest of us who don't want to give up on the world to take benefit of haXe :) I wish you luck with the platform and will be checking it out regularly :) ___ 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
Re: [Flashcoders] haXe Flash
It looks they've gotten a bit scrambled with the introduction of AS3 (could be wrong). But with the Flex compiler and framework coming for free, and haXe not being 100% compatible with AS3 (as before mtasc wasn't 100% compat too but the situation was different), I've yet to see a benefit to using it. Keep in mind the AS3 compiler is a lot more complex to develop, making as AS2 compiler is a toy compared (I hope I'm not being too extreme, but my impression so far) to this. So haXe will have to be really really good at the output and optimizations to match a native AS3 output. Regards, Stan Vassilev - Original Message - From: eric dolecki [EMAIL PROTECTED] To: Flashcoders mailing list flashcoders@chattyfig.figleaf.com Sent: Friday, February 24, 2006 3:34 PM Subject: [Flashcoders] haXe Flash Is anyone playing around with haXe? I'm curious as to the real benefits in the Flash world. http://haxe.org/tutos/start/flash - edolecki ___ 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 ___ 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
Re: [Flashcoders] haXe Flash
It looks they've gotten a bit scrambled with the introduction of AS3 (could be wrong). You are ;) haXe have been planned after AS3 was announced. But with the Flex compiler and framework coming for free, and haXe not being 100% compatible with AS3 (as before mtasc wasn't 100% compat too but the situation was different), I've yet to see a benefit to using it. 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. 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. Keep in mind the AS3 compiler is a lot more complex to develop, making as AS2 compiler is a toy compared (I hope I'm not being too extreme, but my impression so far) to this. So haXe will have to be really really good at the output and optimizations to match a native AS3 output. 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. My two cents, 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
Re: [Flashcoders] haXe Flash
Are there any demos of anything online to check for speed, etc? I haven't found anything. Speed at lower plugins sounds pretty intriguing. On 2/24/06, Nicolas Cannasse [EMAIL PROTECTED] wrote: It looks they've gotten a bit scrambled with the introduction of AS3 (could be wrong). You are ;) haXe have been planned after AS3 was announced. But with the Flex compiler and framework coming for free, and haXe not being 100% compatible with AS3 (as before mtasc wasn't 100% compat too but the situation was different), I've yet to see a benefit to using it. 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. 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. Keep in mind the AS3 compiler is a lot more complex to develop, making as AS2 compiler is a toy compared (I hope I'm not being too extreme, but my impression so far) to this. So haXe will have to be really really good at the output and optimizations to match a native AS3 output. 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. My two cents, 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 ___ 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
RE: [Flashcoders] haXe Flash
I think 'speed' here is compile speed - not player speed? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of eric dolecki Sent: 24 February 2006 15:56 To: Flashcoders mailing list Subject: Re: [Flashcoders] haXe Flash Are there any demos of anything online to check for speed, etc? I haven't found anything. Speed at lower plugins sounds pretty intriguing. ___ 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
Re: [Flashcoders] haXe Flash
If a little part that you written is true, you're my hero! 2006/2/24, Nicolas Cannasse [EMAIL PROTECTED]: It looks they've gotten a bit scrambled with the introduction of AS3 (could be wrong). You are ;) haXe have been planned after AS3 was announced. But with the Flex compiler and framework coming for free, and haXe not being 100% compatible with AS3 (as before mtasc wasn't 100% compat too but the situation was different), I've yet to see a benefit to using it. 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. 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. Keep in mind the AS3 compiler is a lot more complex to develop, making as AS2 compiler is a toy compared (I hope I'm not being too extreme, but my impression so far) to this. So haXe will have to be really really good at the output and optimizations to match a native AS3 output. 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. My two cents, 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 ___ 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