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

Reply via email to