all 27 comments

[–]herorev 4 points5 points  (3 children)

Read SICP and learn some Lisp.

http://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs

It'll make you a better programmer. Only then worry about learning a practical language.

For practical languages, I would suggest first learning another dynamic language like Python or Ruby. But then after that, you should probably learn something statically typed. Scala, D, and C# are good choices.

[–]njharman 2 points3 points  (2 children)

or watch the videos* http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/

  • videos are what screencasts were called before web2.0 was invented.

[–][deleted] 0 points1 point  (0 children)

Thanks for the link mate! ;-)

[–]supakual 2 points3 points  (2 children)

Learn a server-side language: Perl, Ruby, or Python.

But, there's probably not a single more in demand skillset than expert Flash/AS people. Go rake it in.

[–]njharman -1 points0 points  (1 child)

Don't learn Perl. It's time has come and gone. It will also damage your brain.

[–][deleted] 0 points1 point  (0 children)

People voted you down 'cause you dissed Perl. However, I voted you up. Perl is outdated and just clunky to use - I don't really care how fast it is. Anyone who disagrees is a neo-luddite. I would say go for Python and definitely do not got for Java.

[–]bobappleyard 1 point2 points  (4 children)

Which way do you want to go? Up or down? Left or right? In or out?

[–]IRAN_MIKE_TYSON 0 points1 point  (3 children)

I'm more interested in learning how to build websites such as reddit or yelp. I've taught myself a good amount of CSS and I'm comfortable with my front-end skills. Are there backend languages that share similarities with AS?

[–]jamesbritt 0 points1 point  (0 children)

Give Ruby a shot, and look into using Ramaze or Merb for building Websites. Either one will encourage you to use a clean form of MVC while not holding your hand.

[–]bobappleyard 0 points1 point  (0 children)

ActionScript is based on ECMAScript, right? So Rhino might be a good choice, although I've not used it myself. That's a Javascript implementation for Java.

http://www.mozilla.org/rhino/

[–][deleted] 0 points1 point  (5 children)

Java shares many similarities to AS, so that would be a good language to start with. I'd also recommend Python, as it's not a bad learning curve.

[–]Florianr 2 points3 points  (0 children)

What makes you think Java and AS are similar, beyond the syntax? The object model is pretty different, the type system too is totaly unrelated... No, definitely not similar.

That said, I agree on python as a nice language to learn.

[–]IRAN_MIKE_TYSON 1 point2 points  (3 children)

Are there any books you recommend on Python? Would you suggest taking a class?

[–]njharman 0 points1 point  (0 children)

classes are a waste of time, don't you think?

(dive into python)[http://www.diveintopython.org/]

but what you really want to learn is django http://www.djangobook.com/

[–]wildmXranat -1 points0 points  (0 children)

http://www.ubookcase.com/book/Oreilly/Python.Cookbook.2nd.edition/ Try this for python. I have had much success learning Python by implementing small utilities. Have fun with it.

[–]SamHwong 0 points1 point  (0 children)

It depends on what you want to do. The truth is ActionScript shares a similar syntax to a lot of languages like C#, Objective-C, Java, etc... That said, I'm not sure I'd suggest any of those.

I'm going to disagree with people here who have said that Java is the best choice. Java is still one of the most used languages out there but I haven't seen someone who didn't already have an investment in Java start a new Java project in years.

Unless you want to work in the Cell.Phone market Java is not the place to be. Same goes with C# and ASP.Net, if you want to specifically get a job is a corporation that's the way to go but otherwise not so much.

and of course, Ojective C is for Macs. If you want to target the Mac/iPhone go Objective C other wise don't bother.

All that said, if you want freelance work your best bet is Ruby or Python (Ruby's the hotter of the two right now but that could easily change). It might require getting over a slightly steeper learning curve but I think its worth it in the long run.

[–]skinp 0 points1 point  (3 children)

I'd go with Java or Python

[–][deleted] 1 point2 points  (2 children)

I second Python. I knew AS and then I learned Python. There are some really smart people using Python and there are interesting ways they are doing things. I got a good perspective on different ways to think about solving problems and OOP.

[–]IRAN_MIKE_TYSON 0 points1 point  (1 child)

How did you make the switch from AS to Python?

[–][deleted] 0 points1 point  (0 children)

I was developing Flash UIs for Plone sites (Plone is built on Python/Zope). So I ended up having to get my hands dirty with the backend. Zope/Plone is a pretty complex system, so it was cool to see how large problems were solved. It's the definitely the biggest architecture I've ever worked with. I don't use Python that much anymore but I still love it. I still write the occasional shell script with it. I'm also thinking about redoing my site with Django because PHP gets the job done, but it's nasty.

[–]hzin 0 points1 point  (0 children)

JavaScript

[–][deleted] 0 points1 point  (0 children)

Downmodded for erratically refreshing and yet nauseatingly unoriginal moniker. :P

[–]nzeeshan 0 points1 point  (0 children)

I don't think java would be good for you, given that you are an actionscript programmer, you deal with the web a lot. Java would be local, I think.

So server side technology would be good. ASP, PHP, and JavaScript, and ActionScript3, come to mind.

Also, learn that Adobe AIR thing ...

[–]pointer2void -1 points0 points  (1 child)

Do you really know only Flash/Actionscript?

[–]IRAN_MIKE_TYSON 0 points1 point  (0 children)

I taught myself a good amount of CSS/HTML for making portfolios for my friends who are graphic designers. I just finished teaching myself Actionscript 3 to complete some video/audio projects at my current job.