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.
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