scott wrote: > Hi all, > > I have been looking at the various programming languages available. > I have programed in Basic since I was a teenager and I also have a basic > understanding of C, but I want something better. > > Can anybody tell me the benefits and weaknesses of using Python? > Search the archives, this question has been covered many times.
That said I'm going to list some benefits below: Python is Portable - C is probably the only more portable language Python is Powerful - You can write everything from simple scripts to daemons, Windows Services, Windows COM objects, web frameworks, GUI or console programs. Again only C has that much range. On Windows, Delphi comes close, but try to move a Delphi program to Macintosh or even to Linux. I've merely copied Python programs from one OS to another and they have run without so much as a single change. Python has strong standard library - The standard library contains many modules that you would have to purchase with other languages. This adds to portability because many features are standard and don't require additions. Python is maintainable - Python coerces you into writing better code. >From the required indention of blocks to the rich built in data types it provides a programmer with tools that you use over and over. I've gone back to programs that I wrote 5+ years ago an it was remarkable how quickly I could remember what I was doing. Python is a strongly typed but dynamic language - I have always hated the fact that you have to define everything in other languages. In Python you define something when you need it and the definition is implicit in hat you point to with a variable name. The introspection that Python provides also lets you do some really powerful things because you can make your code self-aware. While compiled languages have their place, give me Python for my daily work. If I find myself needing more performance in my code, I isolate that code into an external C library and call it from Python. The data types that are provided by Python (lists, tuples, dictionaries) are exactly what programmers need. If you don't have a datatype that you want, its easy to create one using Python classes. Python has strong group of helpful users - This list is amazing. Post a question and you get not one but several answers to even the most complex of inquiries. This list provides the BEST technical support of any language I've ever used in my 30+ years of programming many different languages. Python allows me to get really good at one language - Since I can do almost anything that I can dream up in Python, I find I write almost 100% of my code in Python. This means that I am getting better at Python not learning lots of other languages which I will never know well. I hope you find the information at least helpful. Regards, Larry -- http://mail.python.org/mailman/listinfo/python-list