- Python www.python.org/about Python resources for new coders Python is an extremely popular, free (open source) remarkably powerful dynamic programming language that is used in a wide variety of application domains. Many real world sites, ranging from Google to YouTube are built using Python. Here is a great list of Python resources for beginners. Jessica McKellar on Python and hacking Coursera course called Learn to Program Python goodies 5 books on Python for Beginners Why Python?
- Ruby www.ruby-lang.org/en/ A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. About Ruby and here's how to use Ruby on Rails to design web apps. Try Ruby (free from Code School.) And here's a long list of other online resources for learning Ruby.
- PHP, SQL, C and its variants, etc. There are many more languages in common use. Here's an infographic with some pointers on what each one does and is good for.
- AppInventor http://appinventor.mit.edu/ Create Android mobile app with this easy to use visual programming software from MIT. Also check out the Technovation Challenge, a great contest for high school girls that can use AppInventor.
- Java: For beginners interested in Android apps, AppInventor is the place to start. But when you are ready for more (real world) complexity, try Java. Here are some places to learn Java online. http://www.learnjavaonline.org/ Beginners Java Tutorial : http://www.roseindia.net/java/beginners/
Free ebook Sams Teach Yourself Java 2 in 24 Hours : http://www.informit.com/library/library.…
Introduction to Programming Using Java by David J. Eck : http://math.hws.edu/javanotes/
- Android apps: Another great resource is the Android Developer site. It's full of acronyms (SDK, IDE, APK, etc.) but if you use Google inquiries extensively to help you decode what's being said, it's fairly straightforward, and you have access to all the goodies the pros use. Remember, even professional developers have many gaps in knowledge; they are simply accustomed to asking questions, looking things up and Googling repeatedly. It's the nature of the dynamic, always changing universe of coding.