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