> I would imagine this is why I haven't found any schools teaching > Python in their basic programming classes too. On the dynamic typing, > isn't that the same sort of thing that lots of scripting languages > do? VBScript doesn't require you to define your variables, but I > don't really want to use it for anything (used to use it a lot in > Classic ASP.) I believe everyone that Python is great, but some of it > doesn't make sense to me as to why. Thanks.
Well, school-wise we got taught VB because it was easy for the non- programmers. At university I learnt Java, C++, Haskell, Fortran and Python. My favourite is obviously Python. So here is my terrible (likely wrong) view of Python: Python is a dynamic programming language, different to static ones like Java or C++, and variables-wise, well you do have types, but it is up to the interpreter to understand what to do with them. From my understanding "variables" as you call them can be the following; Integer 1, String "Hello", Tuple (), List [], Dictionary {} and a higher level function (you can assign functions as varaible names, that personally is amazing!). Python is built to be easy to read, I think Guido (BDFL) said something about 10% of the time code is written, 90% it is read, or something to that affect. The point is that anyone who knows Python to even a small degree should be able to pick up someone elses code and given a small time understand the idea of it, even with any comments. That is very powerful and key to the idea of Python, and my main love for it. The issue I get from University is this idea that OOP is the way to program, it is one of the ways, not the be all and end all. I almost died when I got shown Haskell because nothing made sense, but after using Python and returning, I understood more of the logic because I had used the same techniques (in a more readable format) in Python before. A common bug people suffer from when trying a new language is doing things how they would in their previous language of choice. Python is not Java, or C++ or anything else other than Python. So read a few tutorials on Python, see what people say it is good at and use it for that purpose. I think it is an advantage to know how to do things with different languages in different formats, but it is important to know when to use one method over another. Personally DiveIntoPython was a great guide for me as to the uses and benefits of Python, at a basic level. Try googling it and reading the (free) articles and tutorials online. And welcome to Python, the grass is greener :) -- http://mail.python.org/mailman/listinfo/python-list