Paul Andrews wrote:
Dave Watts wrote:
Perhaps you can explain how AS3 is "narrow". For years Pascal was THE
language to learn programming then eventually it migrated to "Java"
and I
don't consider AS3 to be a limited language or narrow in it's
outlook. I
think it's rather a good and accessible first language to learn.
AS3 is designed to do one thing: build Flash applications. Pascal and
Java are both general-purpose programming languages. You can build all
sorts of different programs in them, and more importantly, you can
build programs that are really nothing but wrappers for specific
examples, without a lot of extra infrastructure needed to run them.
You can write a single Java class and run it from a command prompt.
I think Adobe is rather missing a trick in not having a stand-alone
version of Actionscript.
You can use MTASC http://www.mtasc.org/ if you want to write and compile
Actionscript outside of the Adobe IDE.
If you move to haXe, you can code using several different IDEs(Eclipse
is my choice) and run on a wide choice of VMs (FlashPlayer, JavaScript,
PHP, C++ and more).
Your main point may be that AS3 is really a client side language,
I'm really
not sure what you perceive as a limitation. As a language it
supports just
about all the notions of a modern OO language, so I don't think it's
really
limiting at all.
Most of the programming principles from Java and the like are easily
implemented in AS3, so I have no idea where the problem is.
Dealing with concurrency is a common programming problem. I wouldn't
want to demonstrate concurrency solutions in AS3.
Writing a simple, argument-driven "hello world" program is far easier
in Pascal or Java (or especially Python) than AS3.
Yes, you're right, but in the context of someone wanting to learn AS3
as a primary goal not general programming, such things aren't such an
issue.
I would suggest PHP, not as an AS3 look-alike, but as a good
compliment to
AS3 - as good as C# as a companion to As3 in the real-world.
Sure, PHP is a good complement to AS3, as both can be used to build
different parts of web applications.
But again, I submit that there is value in learning a general-purpose
programming language, which isn't limited to building web
applications. The point of learning a second (or third, or Nth)
programming language isn't necessarily to perform a specific task, but
rather to learn "how to program". A competent programmer can learn new
languages for specific tasks as required, because he or she already
knows "how to program". The best languages for learning how to program
aren't those, like PHP or AS3, designed to solve a specific problem,
like building web applications. Focusing on a specific problem domain
is great for learning how to solve that single kind of problem, not so
great for other things.
I have interpreted the original question as "Do I need to learn
language X to become an AS3 programmer" and the answer is most
definitely "No". There's no harm (and much to be gained) in learning
subsequent languages once the principle concepts are grasped with the
first language. What is a mistake is to try and learn two new
languages at the same time and it would also be misleading to say that
learning another language is a prerequisite for learning AS3.
As a ColdFusion developer, I see the same sort of thing all the time.
People learn how to write ColdFusion, as it's very easy, but they
develop a tunnel vision of sorts, and they don't understand a lot of
things about programming in general (like concurrency) because it's
not an issue in that language.
I understand that view completely. I have a Computer Science degree
and spent several years working on writing operating systems and
low-level disk controllers. Many of the people I have worked with have
grown up in a specific development environment and don't stray beyond
it. They are sometimes rather surprised if I use a technique that is
used in OS synchronisation.
You mention concurrency and that is something Adobe needs to address
(I'm sure it won't be easy to make the Flash infrastructure thread
safe) and we both know that it will improve performance greatly in the
player where there are multiple cores available. I'm sure it will also
swell the posting on flashcoders!
Currently it's necessary for developers to know Actionscript for Flash
and Flex plus something else for server interaction. I'd rather see
the second language being useful to allow people to complete their
pipeline to the server than be a language that may not suit that well.
It's also important in these economic climes, that the effort put in
suits the market demand for expertise. It's unfortunate in some ways
that Adobe haven't pushed the boat a little further with a good
server-side actionscript implementation to make that access to data
even easier.
I used to develop in a proprietary environment with some similarities
to Flash/Actionscript and used to write "headless" applications in it,
replacing server-side scripting even though the language and
environment was primarily designed to work with a GUI. The great thing
was that other team members who had only learned to use that
particular system could take on the subsequent development and
maintenance of the code without having to learn an extra language. The
fact that they were limited to one environment/language didn't mean
that they weren't able to produce very capable applications.
A lot of people want to learn Actionscript and I'd rather they didn't
think that they had to learn another language to do so, or mistakenly
attempt to take on two new languages as an entry to programming at the
same time.
Paul
Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
Fig Leaf Software provides the highest caliber vendor-authorized
instruction at our training centers in Washington DC, Atlanta,
Chicago, Baltimore, Northern Virginia, or on-site at your location.
Visit http://training.figleaf.com/ for more information!
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders