I don't use either but everyone I know and respect recommends Python as a scripting language; especially esr.
Both are easy to learn (compared to Java, and even Perl). But, i think Python provides a more flexible base for web development. PHP can be embedded in the web server but not python i think. My view is that both are suggested one depends on the web development need.
You think so, huh? Now I know you don't know what you're talking about. No you don't think. When you don't know what you're talking about, spitting out BS is not the best thing to do.
I"m a php person.. but its because its all I know and its what WP uses.. Plus, PHP has a great online information to learn new things.
I've used both and each of the programming languages has its own usage. PHP is more for web based applications, Python can be used in any field. I think there is an operating system being developed in Python.
You should choose the one most profitable in the long term. Python is nice, I've learned it. But PHP will help you more, both in building websites and scripting. And the nice thing about it is that if you have a problem, there's a larger community that can help you.
Talking about language itself, Python is more organised than PHP. Why You Should Go For Python: 1. Python is a general purpose language, not only websites and web applications, you can even develop desktop applications too. Though it is possible in PHP but it is discouraged to use PHP apart from web because it lack of good garbage collection. 2. Python has namespace which PHP donot has. You can develop pure object oriented applications out of python. While PHP is not a pure Object Oriented Language. So, managing a large software project/ web application on python is far more easier than PHP. Why You Should Go For PHP: 1. deploying PHP websites are easier than Python. All shared hosting companies provide PHP support by default but lack python support. PHP is a good candidate when taking general website development into account. 2. Obviously there come CMSs like Drupal, Joomla, Wordpress and most of freelance jobs happen around it. So, you can get more offers while freelancing if you are a PHP developer than a Python developer. I myself am a Python Developer but I would suggest, if you want to go for Freelancing, learn PHP first, then go for Python. Update: more technical details at http : // wiki . python . org/moin/PythonVsPhp
Developing an operating system entirely in python is (kind of) not possible, as python requires its virtual machine for execution, which is required to be run by the OS. So, it forms a kind of a loop.!
I can't believe some one said Python is easier than PHP. PHP is generally slow and realistically limited to server scripting. Python is a cross platform general purpose high level non-C family interpreted (and also compiled with other programs) object-oriented language. Great point someone made about Python being more organised than PHP, I agree with that. I must make clear that Python is definitely not a programming language for a new programmer. C family and influenced languages are much more intuitive in syntax and much faster than Python (C/C++). Python is a very powerful web developing language too. Much more so than PHP, but requires more effort and most hosts don't support Python. I'd recommend C# as a newbie's first language. It has an easily readable syntax and structure as well as being rich with Windows and .NET framework functionality and integration. Besides, professional software developers make the money with C# and VB. Techmyway, maybe an operating system independent (firmware?) interpreter could be developed.
esr recommends Python as a first language. Speed has no say in learning programming. Thus its fault. C# is limited to Windows and requires the ever changing, proprietary, behemoth .NET framework. Frameworks put you in a box and you don't learn a language by using libraries for everything. Try telling that to anyone in mobile today. Try making that statement in five years when no one is using .NET and the Windows desktop collects dust in the corner of the room.
Looks like we have a smart-arse Drhowarddrfine Regardless of what "esr" thinks, I know from first hand experience that Python is much more difficult to fully grasp than many other languages that are just as freely available, if not more so. You cannot deny that semantics are less intuitive. You say speed has no say in learning programming, well OS dependency is irrelevant to learning programming too. There's no need to be defensive of certain languages when understanding programming is about learning about software engineering, theory of abstraction and computation. It would be naive to think that Microsoft wouldn't make further developments to replace .NET etc.. if necessary.
I recommend that you choose Python. If you look at the Python side take a look at: Web: Django, Pyramid Desktop: PyQT, PyGTK, WxPython
I am a Mensa member. Eric S. Raymond has experience, too. True but .NET is not the OS or the language. Agree and Python delves into all that far more than PHP does. Hence the reason learning a language that depends on .NET and changes willy-nilly is a bad move. This is what happened to me in 2004(?) with .NET. This is what's happening to Silverlight developers right now. (Yes, not a language but...).
You gave one reason why C# isn't up to your standards as being restricted to Windows and .NET. That's why I said OS dependency is irrelevant when learning programming. I never said a programmer should depend on .NET. I said C# is an excellent language for a beginner as it shows relationship between programming theory and applications in a very clear and understandable way. There are universities in my country that teach Computer Science students nothing but Java. That's a bad move.
Ok, I understand your point now and agree. As does Python but whether it's clear and understandable as C#, I can't comment. I will always point someone to a language that does no depend so heavily on .NET usage, or at least one where you aren't actively encouraged to use it.