The answer to the initial question, "Is Actionscript 3 a 'real' programming language?" depends entirely on who you're asking.
1) Flex application run in a sandbox, much as Java applets do. Locally, and currently, Flex applications can open files for parsing, but can not write to them. This is remedied with Apollo which is in alpha. Apollo is essentially a Flex application wrapper that provides a file system API, among other things.
2) This really becomes a question of whether or not someone is inclined enough to write the necessary Actionscript 3 as it supports binary sockets and byte arrays currently. Someone has already created a ZIP library.
3) Again, when Apollo launches, then yes. Although, a Flex application can run offline should it not require file system access, and even then files can be opened, just not written to.
Actionscript runs in a VM just as Java does, which is irrelevant given that the questions you're asking are entirely arbitrary. The answers to which only tangentially, and tenuously, provide support in defining whether or not a programming language is 'real'.
In the interests of providing my own answer... I would say no, it's not quite a 'real' programming language.
The hype is because you can possibly simplify rich websites by fitting your web content into the standardized widgets that Flex provides you, thus speeding up development a lot.
Not really. Basically Flex is swf itself. ie., flash content. Currently Flash content is playable on devices that come with Flash Lite player from Adobe.
As of now,in Flash Lite,data can be temporarily stored on devices using shared objects.
You proved my point - for me - better than I could have done so myself :)
If I have to google for it and come up with a 3rd party tool, then it isnt part of the language!
And FYI, I wasnt writing my comment in complete ignorance nor laziness. I did go to the ror site when I first heard of it here on YC. When I realized it seemed to be a scripting language with a web server, I lost interest. Offline is very important for me/juwo.
No, Turing and Lambda are different ways of representing the same underlying assembly code.
You're correct in that there is a direct line from the Turing imperative to the underlying assembly code, but given the choice between writing Lambda expressions or Turing expressions, why would you pick the latter?
Even the lambda expression when running on the computer, is acting out a Turing machine; head travels over symbols on a tape, reads a symbol, changes state, stops or moves...
You're correct, unless your hardware is specifically designed for lambda calculus (like one of those old lisp machines), lambda code gets compiled into Turing instructions.
But why code in a Turing style (whether it's Java or assembly) when lambda programming is more efficient?
A Turing machine can simulate a deterministic finite automaton and a non-deterministic finite automaton.
All systems are arguably either of these two. Perhaps that's why we can simulate weather, and lots of other things.
Unless you look at human consciousness - Nobelist Roger Penrose has a theory that the mind is not a computer. That it has quantum states. (his book: The Emperor's New Mind - I didnt finish it - long and hard).
Yes , it can be used to build applications with those capabilities. But depends on how you implement it ..just like Java.
When implemented in browser, most of the sandbox restrictions apply.[Like java applets].
But when implemented in a desktop environment [using an OS dependent wrapper or on top of runtime like Apollo], it can write files to disk and do otherwise taboo karmas.
For updates on whats going on in actionscript community[or Adobe technologies in general], subscribe to Adobe's MXNA .
Some of the finest Actionscript coders can be found at flashcoders pipermail list.
[chattyfig.figleaf.com/mailman/private/flashcoders/]
For an opensource perspective on Flash and Actionscript visit:
osflash.org
26 comments
[ 2.7 ms ] story [ 92.1 ms ] threadQs: Can your application if written in Flex;
1) can it open/close files, in Flex?
2) FTP stuff across, open network connections?
3) can it work offline?
If ActionScript is simply a scripting language in the browser, then I doubt it can do the above. So why the hype? - Anil
The answer to the initial question, "Is Actionscript 3 a 'real' programming language?" depends entirely on who you're asking.
1) Flex application run in a sandbox, much as Java applets do. Locally, and currently, Flex applications can open files for parsing, but can not write to them. This is remedied with Apollo which is in alpha. Apollo is essentially a Flex application wrapper that provides a file system API, among other things.
2) This really becomes a question of whether or not someone is inclined enough to write the necessary Actionscript 3 as it supports binary sockets and byte arrays currently. Someone has already created a ZIP library.
3) Again, when Apollo launches, then yes. Although, a Flex application can run offline should it not require file system access, and even then files can be opened, just not written to.
Actionscript runs in a VM just as Java does, which is irrelevant given that the questions you're asking are entirely arbitrary. The answers to which only tangentially, and tenuously, provide support in defining whether or not a programming language is 'real'.
In the interests of providing my own answer... I would say no, it's not quite a 'real' programming language.
Why not? Please tell us frankly.
The answer can be revealing.
Python, Ruby, Haskell98, ocaml, etc. Consider those your languages that set the bar right now. Java is 'the new' C.
old wine in new bottles.
if-then-else by any other name... is just as tedious.
Ruby programs are maybe a tenth the size, give or take,
Python similarly small.
Haskell will blow your mind because you basically never use control structures or type declarations.
Continuation-passing scheme, smalltalk, erlang...
Any of these things will change the way you develop, probably immensely for the better.
BTW my feedback on your work http://news.ycombinator.com/comments?id=17871
Next time just Google for "Ruby standalone". Saves me the trouble of doing it for you ;)
If I have to google for it and come up with a 3rd party tool, then it isnt part of the language!
And FYI, I wasnt writing my comment in complete ignorance nor laziness. I did go to the ror site when I first heard of it here on YC. When I realized it seemed to be a scripting language with a web server, I lost interest. Offline is very important for me/juwo.
No, it's the difference between Turing imperative (e.g. C++, Java, etc.) and Lamdba calculus (lisp, erlang, ocaml, etc.) which is significant.
You're correct in that there is a direct line from the Turing imperative to the underlying assembly code, but given the choice between writing Lambda expressions or Turing expressions, why would you pick the latter?
that is what I meant by old wine in new bottles.
But why code in a Turing style (whether it's Java or assembly) when lambda programming is more efficient?
That's the point all the lambda folks are making.
No, I am talking about - at a deeper level, all computing can be reduced to a Turing machine. (Unless you are reading Roger Penrose on consciousness).
Maybe I am mistaken, I am out of touch.
A Turing machine can simulate a deterministic finite automaton and a non-deterministic finite automaton.
All systems are arguably either of these two. Perhaps that's why we can simulate weather, and lots of other things.
Unless you look at human consciousness - Nobelist Roger Penrose has a theory that the mind is not a computer. That it has quantum states. (his book: The Emperor's New Mind - I didnt finish it - long and hard).
For updates on whats going on in actionscript community[or Adobe technologies in general], subscribe to Adobe's MXNA . Some of the finest Actionscript coders can be found at flashcoders pipermail list. [chattyfig.figleaf.com/mailman/private/flashcoders/]
For an opensource perspective on Flash and Actionscript visit: osflash.org