There is also an excellent online book for more advanced Python programmers called Dive into Python
There is now a new generation of Python books appearing on specialist topics, there are books focusing on text handling, GUI programming, Network programming, Web and XML programming, Scientific computing etc etc. Python is really coming of age as a language and the number and depth of books now available reflects that.
There are several books on VBScript but the only ones I have used and can thus recommend are:
There are lots of books on JavaScript but most of them focus very heavily on the Web, it can be hard sometimes to disentangle what features are JavaScript the programming language, and what are web browser features. The best JavaScript books that I know are:
There are lots of others, read the reviews, choose your budget and pick one.
There are some classic programming texts that any serious programmer should own and read regularly. Here are my personal favorites:
These are part of a programming library that came out of Bell Labs in the 1980's in the wake of Unix. There are so many classics in this series that I will simply say that anything from the pens of Ken Thompson, Jon Bentley, Dennis Ritchie, Andrew Koenig and the rest at Bell Labs is worth reading. The styles may vary but the content is pure gold.
I've already mentioned these, but here they are again anyway:
The Microsoft VBScript web site
There are several other online web sites for VBScript resources: components, tips, chat-rooms etc. One such is the VBScript Forum
There are now several sites claiming to be "the definitive online source for JavaScript information", but a couple of good ones are:
and
The following languages are all of interest from a programming point of view because they all do things slightly differently to the mainstream approach adopted by the 3 languages we have been using. Once you feel comfortable using the approach I have been teaching you then try reading one of the tutorials listed below, they all have free interporeters or compilers available. Go on, be adventurous!
The first group are basically similar to our languages but feature some new twist or other.
Java, Object Pascal(aka Borland Delphi/Kylix)) and Perl.
This second group get more extreme in their departure from our view of programming. As such they are, in many ways, the more interesting to explore!
Smalltalk, Tcl, Lisp/ Scheme and Rebol
Try finding some general programming links pages on Yahoo, Google etc. There are several good ones out there, I have no particular favourite. The best thing to do is look for a specific topic of interest and usually you will find more than enough resources. On Usenet the comp.software-eng news group is often a good starting point.
There are several ideas for projects listed in the tutorial. In addition I will give some ideas here, in approximately ascending order of difficulty. Most will be achievable with the skills learn't here but all of them can be improved by checking the documentation that comes with Python for alternatives. A couple will definitely require that you start digging for yourself, recall that one of the requirements of a good programmer was curiosity!
Other places to look include the unique Useless Python web site which has many sample scripts plus ideas for new ones. They are all quite short and within the scope of a "graduate" of my tutorial.
One thing that is fun is the Python Challenge game.
It consists of a series of challenges (13 when I did it, but its up to 33 last time I checked) that you must solve using different features of Python. The answer to each challenge gives you the URL to the next one! They get progressively more difficult and require the use of some of the more unusual Python modules, a good way to get an introduction to Python's hidden gems.
Finally there is SourceForge Search for projects using Python (or VBScript or JavaScript!), pick one that interests you and see what needs doing. Often just documenting something - say a module - is a good place to start learning how the code works, then trying to fix a reported bug, finally adding new features. This is very good for getting exposed to much bigger projects and also working in a team.
Hopefully that should keep you busy until you start finding project ideas of your own!
If all the projects above still leave you looming for more here are a few areas for you to explore and become expert in:
That's all there is. If you'd like to send me feedback on any
aspect of the tutorial then
send me mail.
Thanks for getting here!